立即加载的 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 阶段。 (当然,我们也会有一个不能做很多事情的处理器。)
我知道 MIPS 中一条指令有 5 个标准阶段。对于以下伪指令
li $t1, 0 # pseudo-instruction for addi $t1, $zero, 0
任何人都可以确认这是否使用了所有 5 个阶段?我认为这是一个 addi
但我真的不明白它是否需要使用 MEM 阶段?
我的想法是立即数存储在指令中,而不是内存中,所以WB阶段不会加载寄存器吗?
此指令将转换为 addi $t1, [=10=], 0
或其他类似指令。
即使是这样简单的计算指令,所有阶段都会执行有用的工作 — MEM 阶段除外。
只有加载和存储指令需要数据内存流水线阶段 (MEM)。如果不是他们,我们就不会有 MEM 阶段。 (当然,我们也会有一个不能做很多事情的处理器。)