MIPS:如果一条指令从同一个寄存器加载,加载字是否会产生数据危险?

MIPS: Does a load word create a data hazard if an instruction loads from the same register?

如果后续指令从同一寄存器加载,加载字是否会产生数据危险? 我有

lw $t0 0($t1)
addi $s0, $t1, 4

这会不会造成数据危害,因为您需要为这两个操作存储在寄存器中的内容?指令反了或者有偏移怎么办?

没有。一般来说,寄存器读取不会造成危险。在这种情况下,如果 $t1lw 读取,那么它可以被下一条指令读取而无需流水线 stall/hazard.