MIPS立即指令ori / addi / lui等需要寄存器写入?

时间:2011-07-11 23:05:54

标签: computer-science mips computer-architecture

我正在学习MIPS中的流水线技术。我对立即指示及其指示过程有疑问。我一直在阅读ori / addi / lui并且是即时指令或I型。我还发现I型指令只需要MIPS 5阶段过程的前三个阶段。如下所示

     |instruction memory|register read|ALU op|DataMemory|Register Write|
     |------------------------------------------------------------------
 addi|         X        |       X     |    X |          |              |
 -----------------------------------------------------------------------
 ori |         X        |       X     |    X |          |              |
 -----------------------------------------------------------------------
 lui |         X        |       X     |   X  |          |              |
 -----------------------------------------------------------------------

我的问题是第一,这张桌子是否正确?我觉得奇怪的是,这些指令不需要寄存器写操作来改变寄存器的内容。如果这张表不对,有人可以帮我找一下正确的表格吗?

1 个答案:

答案 0 :(得分:2)

addi/ori/lui等的直接指令确实需要将其结果写入寄存器文件。例如:addi $dest, $src, immd_val。对于此指令,其中一个操作数是立即值。所以计算将是$dest = $src + immd_val。如您所见,结果必须写回寄存器$dest。你走在正确的轨道上,你需要适当地修改你的桌子。

有些指令不需要将结果写回寄存器文件,如分支,存储,比较等。