推 PunchShadow: 要IF完才會知道有沒有Data Hazard吧 01/01 20:59
→ q1qip123: 停在if代表解瑪完了啊 01/01 21:02
→ PunchShadow: 所以所有Stall都會停在ID(如果我沒記錯的話) 01/01 21:02
→ PunchShadow: 對呀,所以要IF後在Hazard Unit裡面再去設定Stall 01/01 21:10
→ PunchShadow: 然後Hazard Control Unit我記得是在ID Stage裡 01/01 21:11
→ q1qip123: 但是這樣不就不能重新從if拿到正確的指令了嗎? 01/01 21:15
→ PunchShadow: 不用重新拿指令,它只是在等資料而已 01/01 21:19
→ q1qip123: 啊啊 我錯了 我重新想一次 01/01 21:19
→ PunchShadow: 除非是碰到Control Hazard才要Flush掉IF的指令 01/01 21:20
推 olen0622: 重看管線圖 beq可以再ID stage判斷完 IF連指令都還不知 01/01 21:22
→ olen0622: 道吧 01/01 21:23
→ q1qip123: 因為課本沒畫branch資料相依的圖,只有文字敘述而已 01/01 21:40
→ q1qip123: 那這樣其實我也可以把hazard detection移到ex stage只是 01/01 21:43
→ q1qip123: 比較浪費這樣? 01/01 21:43
→ PunchShadow: 不行,因為branch在ID就已經判斷出下個指令 01/01 21:58
→ PunchShadow: 若在EX才進行Hazard訊號線的處理已經太遲 01/01 21:59
→ q1qip123: 本來是想說連判斷也改到EX,不過這樣branch發生就又要fl 01/01 22:14
→ q1qip123: ush,好像不會更好 01/01 22:14
→ q1qip123: 我瞭解了 感謝!!! 01/01 22:15
→ q1qip123: 新年快樂XD 01/01 22:16
推 moneylon: 小弟想順便請問一下 上面那張圖的第4小題 src1 src2 是 01/04 23:20
→ moneylon: 怎麼判斷的呢 01/04 23:20