为什么LW和SW 00的ALU操作码?

时间:2020-02-21 20:24:32

标签: assembly mips cpu-architecture alu

我试图围绕数据路径及其在MIPS编程中的工作方式进行研究。低估它的一部分是理解ALU操作码,该操作码实质上告诉ALU要执行哪些操作。例如,如果我们实现基本的AND, OR, ADD, SUB, NANDNOR函数,我们将获得基本的ALU操作码分布,即AND00OR是{{ 1}},01ADD10SUB10NAND10是{{1} }。但是我不确定我是否理解为什么NOR01的ALU操作码是sw

enter image description here

1 个答案:

答案 0 :(得分:4)

在MIPS上,只有一种寻址模式:base + displacement

在加载和存储指令中,ALU执行此地址计算,这是使用加法完成的。因此,ALU在以下位置执行加法:寄存器+立即扩展符号扩展,形成发送到数据存储器的地址。