2017-03-24 131 views
0

所以我試圖複製一個基本的MIPS處理器,我想知道你將如何實現比較指令?它似乎不符合設計的其他部分?我一直在閱讀,顯然在alu中的操作比set可以用作比較器,但是你不能在alu中使用比特分片比較器嗎? MIPS處理器中比較指令的實現是什麼? [https://i.stack.imgur.com/QtX6D.png][1]MIPS處理器中比較指令的實現是什麼?

+0

SLT不是比較指令嗎? – hayesti

+0

在ALU中使用位分片比較器來實現SLT? – harold

+0

這將是實施大於,小於,等於。所以<, >,和= – SiliconeCoder18

回答

0

一種可能的方法是使用減法。將相減的結果與零進行比較,基本上將結果的所有位進行「或」運算,並提取符號位。

如果這兩個值相等,結果將爲零並設置零標誌,如果它們不相等,則零標誌未設置。如果第一個值小於第二個值,則結果將爲負值,如果第二個值大於第二個值,則結果將不爲零且不爲負值。

此外,這種比較可以組合,例如,小於或等於簡單的否定結果或設置零標誌。有了這個,應該可以實現MIPS ISA支持的所有比較。