今天我正在MIPS管道中学习并发现一件有趣的事情。 看到下面的代码:
I1: lw $s1, 0($s3)
I2: add $s4, $s5, $zero
I3: beq $s1, $s5, 8
为了减少分支的惩罚,我们在ID阶段比较两个寄存器数据。 令我困惑的是,这种情况是否是一种负载使用危害?它会导致管道失速吗?
我想知道在这种情况下是否存在转发形式MEM阶段到ID阶段以避免管道停滞?
因为教科书似乎没有提到它而且我不知道MIPS的确切工作原理,我想它不会导致失速。
谢谢eveyone !!!