[理工] 計組上冊 p.457

作者: wei12f8158 (WEI)   2018-11-24 12:32:30
https://i.imgur.com/qUcQtDu.jpg
https://i.imgur.com/aBh7RQe.jpg
這邊的觀念有點不清楚,想請問一下,如果第3個指令要得到第2個指令的data的話,不是
應該要ForwardA=10嗎? 為什麼它寫ForwardA=01? 這樣的話不就是指令3去抓指令1的da
ta? 謝謝~
作者: skyHuan (Huan)   2018-11-24 13:12:00
這段是在判斷13間的hazard不是在判斷23間的,因為如果13跟23都有資料相依的話,2比1晚寫,所以只有23會有hazard,13之間不會有,而原本的偵測碼沒考慮到這件事,所以加上中間那段粗體的來判斷這種情況也就是說這段偵測碼是在看當13有資料相依而且23沒有,才代表13有hazard,這時候13就要forwarding,而課本舉的例子因為13有但23沒有,所以13當然就沒有hazard也就不用forwarding
作者: wei12f8158 (WEI)   2018-11-24 13:41:00
謝謝大大懂了,倒數第二句話為什麼23沒有?課本的例子不是13有且23也有嗎?
作者: skyHuan (Huan)   2018-11-24 14:55:00
這個例子的23有。我的意思是這段偵測碼會讓23沒有的話13才會有hazard
作者: wei12f8158 (WEI)   2018-11-24 15:00:00
喔喔,剛剛理解錯意思了,謝謝sky大

Links booklink

Contact Us: admin [ a t ] ucptt.com