作者:
andrew84 (andrewang)
2017-12-17 16:49:29我想請問張凡課本上冊p457
在說多個相依的code
add $1,$1,$2
add $1,$1,$3
add $1,$1,$4
解釋說我們得將MEM階段的結果前饋,因為在MEM階段的結果是最新的
可是最新的資料不是在EXE階段嗎?這樣的話等於是拿了第一行的指令的資料去執行第三行指令不是嗎?
控制修正
if(MEM/WB.RegWrite and (MEM/WB.Register.Rd !=0)
and not (EX/MEM.RegWrite and (EX/MEM.RegisterRd!=0)
and (EX/MEM.RegWrite and (EX/MEM.RigisterRd =ID/EXE.RegisterRd))
and (MEM/WB.RegisterRd = ID/EX.RegisterRs)) ForwardA =01
求解有人還記得這裡嗎?