load/store 指令(mips 流水线)中 Rd(目标寄存器)的值

Value of Rd (Destination Register) in load/store instruction (mips pipeline)

Architecture of Pipeline MIPS Processor

我正在使用流水线 MIPS 处理器,并且我有以下程序:

# $a0 = 0x 805F E371
# $t0 = 0x 8007 4821

lw $t0, ($a0)

加载指令在ID阶段运行。在ID/EX 寄存器中有很多保存的寄存器。该寄存器之一称为寄存器目标 (Rd)。我知道Rs寄存器包含$a0的值,Rt包含$t0的值。

问题是:里面有什么Rd?我想 0 是因为它没有被使用,但我不确定。难道是 0 还有别的原因吗?它可以是与 0 不同的值吗?

lw是一条I型指令,它使用两个寄存器操作数和一个立即数操作数。

   31-26     25-21   20-16      15-0
 |  op    |  rs    |  rt    |    imm   |
  6 bits    5 bits   5 bits     16 bits

rsimm 始终用作源操作数。

rt 用作目标寄存器,你知道它包含什么。

您可能将此与使用 rd 作为目标操作数的 R 类型混淆。

这是R型。

   31-26    25-21    20-16    15-11   10-6    5-0
|   op    |  rs    |  rt    |  rd   | shamt | funct |
  6 bits    5 bits   5 bits  5 bits  5 bits  6 bits