[資工] 計組 data hazard

看板Grad-ProbAsk作者 (alexyu)時間11年前 (2014/12/11 23:37), 編輯推噓9(906)
留言15則, 6人參與, 最新討論串1/1
http://imgur.com/a/tdNHD 如圖 第(a)題 解答為第一個指令add和第二個指令sub之間需要3個stall 可是我覺得只要2個stall 因為add的WB可以跟sub的ID重疊(WB是前段週期,ID事後半周期) 請問這個理解有錯嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.201.47 ※ 文章網址: http://www.ptt.cc/bbs/Grad-ProbAsk/M.1418312266.A.73B.html

12/12 00:49, , 1F
等第一行WB寫回去之後,第二行IF才不會抓到沒更新的$1
12/12 00:49, 1F

12/12 00:49, , 2F
所以才停三個。感覺好像是這樣XD
12/12 00:49, 2F

12/12 01:09, , 3F
我認為應該是像原PO所說的那樣 只要不是lw dependency
12/12 01:09, 3F

12/12 01:09, , 4F
正常的data dependency只需要stall兩個cycle即可
12/12 01:09, 4F

12/12 09:26, , 5F
如果題目沒改stage之類的內容正常2個都能解決沒錯
12/12 09:26, 5F

12/12 10:34, , 6F
同意你說的 , 沒有forwarding的情況下 , Reg的值能在
12/12 10:34, 6F

12/12 10:35, , 7F
ID的後半週期之前寫入 , 執行結果就是正確的
12/12 10:35, 7F

12/12 10:50, , 8F
原來是醬子QQ 真是抱歉
12/12 10:50, 8F

12/12 11:13, , 9F
順便問一下,照樓樓上的說法,(b)應該只要各停一個stall
12/12 11:13, 9F

12/12 11:13, , 10F
吧?
12/12 11:13, 10F

12/12 14:02, , 11F
確認一下 , 張凡計組一版下冊 p134 [95 成大資工]
12/12 14:02, 11F

12/12 14:03, , 12F
課本上的解答 (b)只有停一個cycle , 原因說明如上
12/12 14:03, 12F

12/12 17:18, , 13F
謝謝回答
12/12 17:18, 13F

12/13 20:53, , 14F
A,只要停兩個stall,WB前半部寫入,ID後半部read就可
12/13 20:53, 14F

12/13 20:53, , 15F
B也只要停一個stall就可以,感覺是解答有誤
12/13 20:53, 15F
文章代碼(AID): #1KYRfASx (Grad-ProbAsk)