[理工] [计组]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