[理工] 100中央 計組 資料危障

看板Grad-ProbAsk作者 (bencool)時間8年前 (2018/01/04 18:04), 編輯推噓4(4018)
留言22則, 3人參與, 8年前最新討論串1/1
想請問一下這題的b.c小題 https://i.imgur.com/I4xbn9s.jpg
答案 https://i.imgur.com/3V0gwyk.jpg
b.為什麼(O.D)跟(L.B)跟(D.B)的hazard可以只靠Hazard detection unit 就能解決,不需 要用到forwarding unit? c.題目說這個線路有提供stall跟forwarding,所以我只有在load use時stall一個clock, B行的branch 在ID階段決定要跳,所以停一個clock,請問這樣的想法錯在什麼地方 先感謝各位大大幫忙!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.187.53.86 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1515060263.A.64F.html

01/04 19:33, 8年前 , 1F
因為hazard unit是在id跟ex stage偵測,foward是拿ex跟m
01/04 19:33, 1F

01/04 19:33, 8年前 , 2F
em/wb比
01/04 19:33, 2F

01/04 19:34, 8年前 , 3F
然後他沒有畫從mem牽回I'd stage的線 所以才要停兩個吧
01/04 19:34, 3F

01/04 19:36, 8年前 , 4F
L,D有load use,所以stall一個cycle之後就不需要forwd
01/04 19:36, 4F

01/04 19:37, 8年前 , 5F
建議把整個圖畫出來吧 這樣直接看很難看懂 才15個
01/04 19:37, 5F

01/04 19:37, 8年前 , 6F
cycle而已 不難畫
01/04 19:37, 6F

01/04 19:39, 8年前 , 7F
L,B也一樣 因為beq要在ID判斷 所以一定會停一cycle
01/04 19:39, 7F

01/04 19:40, 8年前 , 8F
在pipeline後面的指令就利用這個stall存回去惹
01/04 19:40, 8F

01/04 19:45, 8年前 , 9F
拍謝 眼殘 是D.B才對 and跟beq
01/04 19:45, 9F

01/04 20:31, 8年前 , 10F

01/04 20:32, 8年前 , 11F
我缺少了哪兩個cycle QQ
01/04 20:32, 11F

01/04 20:39, 8年前 , 12F
喔喔喔我懂了 因為沒有辦法從ex/mem前饋到Id 所以要stal
01/04 20:39, 12F

01/04 20:39, 8年前 , 13F
l到上一行的add已經WB 是這樣吧
01/04 20:39, 13F

01/04 20:40, 8年前 , 14F
and已經WB(修正
01/04 20:40, 14F

01/04 21:05, 8年前 , 15F
對 然後beq是stall在id 不是IF,因為他要需要解瑪才能知
01/04 21:05, 15F

01/04 21:05, 8年前 , 16F
道是beq
01/04 21:05, 16F

01/04 21:12, 8年前 , 17F
啊我看錯了 不用理我
01/04 21:12, 17F

01/04 21:30, 8年前 , 18F
and的alu算完才會給beq 所以中間要一個stall
01/04 21:30, 18F

01/04 21:38, 8年前 , 19F
另外一個我找不到== 感覺14個cycle而已啊
01/04 21:38, 19F

01/04 21:41, 8年前 , 20F
看起來是因為mem沒有前饋給ID 所以要等一個cycle
01/04 21:41, 20F

01/04 21:42, 8年前 , 21F
要等lw的write back才可以動beq
01/04 21:42, 21F

01/04 21:42, 8年前 , 22F
那就15個
01/04 21:42, 22F
文章代碼(AID): #1QJVmdPF (Grad-ProbAsk)