【问题标题】:MIPS immediate instructions ori/addi/lui etc require Register Write?MIPS 立即指令 ori/addi/lui 等需要寄存器写入?
【发布时间】:2011-10-03 05:14:06
【问题描述】:

我正在学习 MIPS 中的流水线。我有一个关于即时指令及其指令过程的问题。我一直在阅读那个 ori/addi/lui 并且是即时指令或 I-type。我还不断发现 I 型指令只需要 MIPS 5 阶段过程的前三个阶段。如下图所示

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

首先我的问题是,这张表是否正确?我觉得奇怪的是这些指令不需要寄存器写入来更改寄存器的内容。如果这张桌子不合适,有人可以帮我看看正确的桌子是什么样的吗?

【问题讨论】:

    标签: computer-science mips computer-architecture


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-23
      相关资源
      最近更新 更多