作者kather (Kather)
看板Grad-ProbAsk
標題[理工] pipeline stall
時間Thu Feb 13 11:51:46 2014
假設lw與bne資料相依
且bne在ID階段決定跳躍
並有forwarding unit
--表示stall
那麼會是這樣?
1.
lw IF ID EX ME WB
bne IF -- -- ID EX ME WB
還是這樣?
2.
lw IF ID EX ME WB
bne IF ID -- -- EX ME WB
雖然說要ID解碼後知道指令是甚麼才決定是否要stall
但是2.的情形ID就已經把東西都算完了
lw出來的資料lw出來的東西來不及給
1.的話lw ME階段讀出來的可以給bne的ID
但是沒有ID階段的解碼不知道指令是甚麼無法決定要不要stall
很困惑 冏
我剛剛再去翻了書 應該會是這樣?
3.
lw IF ID EX ME WB
bne IF ID ID ID EX ME WB
↑ ↑
stall1 stall2
並在stall2的時候把ME出來的值傳過去?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 36.237.36.185
※ 編輯: kather 來自: 36.237.36.185 (02/13 11:59)
→ bcza245682:我記得若在id完成計算 這種情形都要停兩個cycle 02/13 12:14
→ bcza245682:還有1跟3怎麼感覺是一樣的?== 02/13 12:16
推 A4P8T6X9:2,3 一樣答案是 2 跟 3,他可以ID完只卡在最後那個XOR阿 02/13 12:36
→ kather:了解! THX! 02/13 12:42
推 winklly:沒記錯是2跟3那樣 02/13 13:07