我试图围绕数据路径及其在MIPS编程中的工作方式进行研究。低估它的一部分是理解ALU操作码,该操作码实质上告诉ALU要执行哪些操作。例如,如果我们实现基本的AND, OR, ADD, SUB, NAND
和NOR
函数,我们将获得基本的ALU操作码分布,即AND
是00
,OR
是{{ 1}},01
是ADD
,10
是SUB
,10
是NAND
和10
是{{1} }。但是我不确定我是否理解为什么NOR
和01
的ALU操作码是sw
?
答案 0 :(得分:4)
在MIPS上,只有一种寻址模式:base + displacement。
在加载和存储指令中,ALU执行此地址计算,这是使用加法完成的。因此,ALU在以下位置执行加法:寄存器+立即扩展符号扩展,形成发送到数据存储器的地址。