所以我试图复制一个基本的MIPS处理器,我想知道你将如何实现比较指令?它似乎并不适合其他设计?我一直在阅读,显然小于alu中的操作可以用作比较器,但是你不能在alu中使用位切片比较器吗? MIPS处理器中比较指令的实现是什么? [https://i.stack.imgur.com/QtX6D.png][1]
答案 0 :(得分:0)
一种可能的方法是使用减法。减法的结果与零进行比较,基本上将结果的所有位进行或运算,并提取符号位。
如果两个值相等,则结果为零,并且设置零标志,如果它们不相等,则不设置零标志。如果第一个值小于第二个值,则结果将为负数,如果第一个值大于第二个值,则结果将不为零而不是负数。
这种比较也可以组合,例如小于或等于简单的否定结果或设置零标志。有了它,应该可以实现MIPS ISA支持的所有比较。