[理工] [計組]data hazard

看板Grad-ProbAsk作者 (andrewang)時間8年前 (2017/12/17 16:49), 編輯推噓2(204)
留言6則, 3人參與, 8年前最新討論串1/1
我想請問張凡課本上冊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 求解有人還記得這裡嗎? ----- Sent from JPTT on my Sony G8232. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.136.58.54 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1513500572.A.790.html

12/17 17:26, 8年前 , 1F
他這段code只是在說若WB要把資料前饋給EX,則必須保證ME
12/17 17:26, 1F

12/17 17:26, 8年前 , 2F
M和EX之間沒有hazard,也就是若同時WB階段和MEM階段的
12/17 17:26, 2F

12/17 17:26, 8年前 , 3F
都跟EX階段的發生hazard,則以MEM的資料前饋為主
12/17 17:26, 3F

12/17 18:03, 8年前 , 4F
我個人覺得他說MEM階段的結果 「結果」這個詞讓你誤
12/17 18:03, 4F

12/17 18:03, 8年前 , 5F
導的
12/17 18:03, 5F

12/22 13:23, 8年前 , 6F
補推兩位大大
12/22 13:23, 6F
文章代碼(AID): #1QDY-SUG (Grad-ProbAsk)