[理工] [計組]data hazard

作者: 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
求解有人還記得這裡嗎?
作者: ms718293 (老大不小老二很小)   2017-12-17 17:26:00
他這段code只是在說若WB要把資料前饋給EX,則必須保證MEM和EX之間沒有hazard,也就是若同時WB階段和MEM階段的都跟EX階段的發生hazard,則以MEM的資料前饋為主
作者: a020304888a (張小台)   2017-12-17 18:03:00
我個人覺得他說MEM階段的結果 「結果」這個詞讓你誤導的
作者: andrew84 (andrewang)   2017-12-22 13:23:00
補推兩位大大

Links booklink

Contact Us: admin [ a t ] ucptt.com