Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MIPS处理器中比较指令的实现是什么?_Mips_Cpu Architecture - Fatal编程技术网

MIPS处理器中比较指令的实现是什么?

MIPS处理器中比较指令的实现是什么?,mips,cpu-architecture,Mips,Cpu Architecture,所以我试图复制一个基本的MIPS处理器,我想知道您将如何实现比较指令?它似乎不符合设计的其他部分?我一直在读,很明显,alu中的set小于操作可以用作比较器,但是你不能在alu中使用一个切片比较器吗?MIPS处理器中比较指令的实现是什么?[一种可能的方法是使用减法。减法的结果与零进行比较,基本上将结果的所有位一起进行ORing,然后提取符号位 如果两个值相等,则结果为零,并设置零标志;如果两个值不相等,则取消设置零标志。如果第一个值小于第二个值,则结果为负;如果大于第二个值,则结果不为零,且不为

所以我试图复制一个基本的MIPS处理器,我想知道您将如何实现比较指令?它似乎不符合设计的其他部分?我一直在读,很明显,alu中的set小于操作可以用作比较器,但是你不能在alu中使用一个切片比较器吗?MIPS处理器中比较指令的实现是什么?[

一种可能的方法是使用减法。减法的结果与零进行比较,基本上将结果的所有位一起进行ORing,然后提取符号位

如果两个值相等,则结果为零,并设置零标志;如果两个值不相等,则取消设置零标志。如果第一个值小于第二个值,则结果为负;如果大于第二个值,则结果不为零,且不为负


此外,这种比较也可以组合使用,例如小于或等于只是一个负结果,或者设置了零标志。通过这种方式,应该可以实现MIPS ISA支持的所有比较。

一种可能的方法是使用减法。减法的结果与零进行比较,基本上是将结果的所有位进行O位运算然后,提取符号位

如果两个值相等,则结果为零,并设置零标志;如果两个值不相等,则取消设置零标志。如果第一个值小于第二个值,则结果为负;如果大于第二个值,则结果不为零,且不为负


也可以组合这种比较,例如,小于或等于只是一个负结果,或者设置了零标志。这样就可以实现MIPS ISA支持的所有比较。

难道不是比较指令吗?在ALU中使用位切片比较器做什么,来实现SLT?这将是实现t大于、小于和等于。那么,and=不是比较指令吗?在ALU中使用位片比较器来实现什么,来实现SLT?它将实现大于、小于和等于。那么,和=