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
rs
和 imm
始终用作源操作数。
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
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
rs
和 imm
始终用作源操作数。
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