立即加载的 MIPS 流水线阶段

MIPS Pipeline stages for Load Immediate

我知道 MIPS 中一条指令有 5 个标准阶段。对于以下伪指令

li $t1, 0      # pseudo-instruction for addi $t1, $zero, 0

任何人都可以确认这是否使用了所有 5 个阶段?我认为这是一个 addi 但我真的不明白它是否需要使用 MEM 阶段?

我的想法是立即数存储在指令中,而不是内存中,所以WB阶段不会加载寄存器吗?

此指令将转换为 addi $t1, [=10=], 0 或其他类似指令。

即使是这样简单的计算指令,所有阶段都会执行有用的工作 — MEM 阶段除外

只有加载和存储指令需要数据内存流水线阶段 (MEM)。如果不是他们,我们就不会有 MEM 阶段。 (当然,我们也会有一个不能做很多事情的处理器。)