看板 Grad-ProbAsk 關於我們 聯絡資訊
https://i.imgur.com/qUcQtDu.jpg
https://i.imgur.com/aBh7RQe.jpg
這邊的觀念有點不清楚,想請問一下,如果第3個指令要得到第2個指令的data的話,不是 應該要ForwardA=10嗎? 為什麼它寫ForwardA=01? 這樣的話不就是指令3去抓指令1的da ta? 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.40.29 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1543033953.A.4F3.html
skyHuan: 這段是在判斷13間的hazard不是在判斷23間的,因為如果13 11/24 13:12
skyHuan: 跟23都有資料相依的話,2比1晚寫,所以只有23會有hazard 11/24 13:12
skyHuan: ,13之間不會有,而原本的偵測碼沒考慮到這件事,所以加 11/24 13:12
skyHuan: 上中間那段粗體的來判斷這種情況 11/24 13:12
skyHuan: 也就是說這段偵測碼是在看當13有資料相依而且23沒有,才 11/24 13:16
skyHuan: 代表13有hazard,這時候13就要forwarding,而課本舉的例 11/24 13:16
skyHuan: 子因為13有但23沒有,所以13當然就沒有hazard也就不用for 11/24 13:16
skyHuan: warding 11/24 13:16
wei12f8158: 謝謝大大懂了,倒數第二句話為什麼23沒有?課本的例子 11/24 13:41
wei12f8158: 不是13有且23也有嗎? 11/24 13:41
skyHuan: 這個例子的23有。我的意思是這段偵測碼會讓23沒有的話13 11/24 14:55
skyHuan: 才會有hazard 11/24 14:55
wei12f8158: 喔喔,剛剛理解錯意思了,謝謝sky大 11/24 15:00
st474ddr: 不好意思 我想請問一下 那這樣原本課本的3個加法的解法 12/07 23:54
st474ddr: 是不是就跟底下的偵測碼不一樣 (看前面大大的意思 偵測 12/07 23:54
st474ddr: 碼寫的是13 Data Hazard 的條件 而例子則是要解決12 23 12/07 23:54
st474ddr: 的data hazard) 12/07 23:54