PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Grad-ProbAsk
[理工] 計組 pipeline stall 相關問題
作者:
q1qip123
(wtlee)
2018-01-01 19:06:39
想請問
若發生load_use data hazard的,則load的下個指令add必須停在ID ,再下個cycle來才能在EX正確運算
http://i.imgur.com/ZgnPHbj.jpg
那發生branch跟前面指slti資料相依時,為甚麼是停在ID而不是IF
http://i.imgur.com/88Bx8kd.jpg
(圖表分別在張凡課本(上)553跟534)
作者: PunchShadow (PunchShadow)
2018-01-01 20:59:00
要IF完才會知道有沒有Data Hazard吧
作者:
q1qip123
(wtlee)
2018-01-01 21:02:00
停在if代表解瑪完了啊
作者: PunchShadow (PunchShadow)
2018-01-01 21:02:00
所以所有Stall都會停在ID(如果我沒記錯的話)對呀,所以要IF後在Hazard Unit裡面再去設定Stall然後Hazard Control Unit我記得是在ID Stage裡
作者:
q1qip123
(wtlee)
2018-01-01 21:15:00
但是這樣不就不能重新從if拿到正確的指令了嗎?
作者: PunchShadow (PunchShadow)
2018-01-01 21:19:00
不用重新拿指令,它只是在等資料而已
作者:
q1qip123
(wtlee)
2018-01-01 21:19:00
啊啊 我錯了 我重新想一次
作者: PunchShadow (PunchShadow)
2018-01-01 21:20:00
除非是碰到Control Hazard才要Flush掉IF的指令
作者:
olen0622
(hong)
2018-01-01 21:22:00
重看管線圖 beq可以再ID stage判斷完 IF連指令都還不知道吧
作者:
q1qip123
(wtlee)
2018-01-01 21:40:00
因為課本沒畫branch資料相依的圖,只有文字敘述而已那這樣其實我也可以把hazard detection移到ex stage只是比較浪費這樣?
作者: PunchShadow (PunchShadow)
2018-01-01 21:58:00
不行,因為branch在ID就已經判斷出下個指令若在EX才進行Hazard訊號線的處理已經太遲
作者:
q1qip123
(wtlee)
2018-01-01 22:14:00
本來是想說連判斷也改到EX,不過這樣branch發生就又要flush,好像不會更好我瞭解了 感謝!!!新年快樂XD
作者:
moneylon
(bencool)
2018-01-04 23:20:00
小弟想順便請問一下 上面那張圖的第4小題 src1 src2 是怎麼判斷的呢
繼續閱讀
[線代] 103台大數學 向量佈於體
king8313
[理工] 成大資工
kobebset105
[理工] 103 中央 fork
wsp50317
[理工] 105 成大 程式設計
TampaBayRays
[理工] OS I/O種類
q5332159
[理工] 100台大電子工數 ode
bestperson1
[理工]106清大計系
howard31622
[理工] average disk access time
ZChung
[理工] 104成大 對角化
mersix
[理工] 遞迴時間函數
V1V1V1V1V1V
Links
booklink
Contact Us: admin [ a t ] ucptt.com