我对使用相同$ rt的LW之后发出的存储字指令如何引起MIPS中的流水线停顿感到困惑。考虑下面的代码块:
lw $s0, 0($t0)
sw $s0, 12($t0)
lw $s1, 4($t0)
sw $s1, 16($t0)
lw $s2, 8($t0)
sw $s2, 20($t0)
这里有3个单词在内存中移动。例如,在前两行中,$ s0被加载到中,然后将其内容保存回内存中。我不确定sw指令在EX阶段还是在MEM阶段是否需要$ s0。如果在MEM阶段需要它,难道不通过转发而不解决管道问题就解决了吗?