我知道MIPS指令有5个标准阶段。下面的伪指令
li $t1, 0 # pseudo-instruction for addi $t1, $zero, 0
谁能确认这是否使用了所有5个阶段?我认为这是一个addi
但我真的不明白它是否需要使用MEM阶段?
我的想法是立即值存储在指令中,而不是在内存中,所以WB阶段不会做寄存器加载吗?
该指令将被翻译成addi $t1, $0, 0
或其他类似的指令。
除了MEM阶段,所有阶段都做有用的工作来执行这样简单的计算指令。
只有加载和存储指令需要数据存储管道阶段(MEM)。如果没有他们,我们就不会有MEM阶段。(当然,我们也会有一个不能做太多事情的处理器。)