[理工] 計組p459
我想問為什麼load use data hazard 不是只要載入指令後接一個指令,指令所要讀取之
來源暫存器正好等於載入指令的目的暫存器,才要暫停管線嗎?
那為何lw or 那邊要暫停呢?
不是只要下個指令之來源跟上個載入指令的目的一樣才要?
而且程式碼也沒寫說下下個指令之來源跟上個載入指令的目的一樣才要?
我好苦惱 請各位神人幫我解答
https://i.imgur.com/yp8je8g.jpg
是因為Reg的關係嗎
Or指令會用到舊的存在reg的資料所以才要stall嗎
所以or跟lw不是load use data hazard 可是
還是要stall才能解決是嗎
我這樣解釋有誤嗎
那or和lw是屬於哪種hazard
一般的data hazard嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 115.82.3.29
※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1508422470.A.D21.html
※ 編輯: lovepipi (115.82.3.29), 10/19/2017 22:21:39
推
10/19 22:47,
6年前
, 1F
10/19 22:47, 1F
→
10/19 22:48,
6年前
, 2F
10/19 22:48, 2F
推
10/19 23:02,
6年前
, 3F
10/19 23:02, 3F
有啊 下面的圖 or那行有stall啊 他畫雲的部分都有stall 那他是為了什麼而stall
我知道你說的lw和and的關係而stall
但是lw 和or 是因為raw而stall嗎?
他是不是也可以用前饋的方式不一定要用stall解決lw和or之問題?
※ 編輯: lovepipi (115.82.3.29), 10/19/2017 23:04:43
※ 編輯: lovepipi (115.82.3.29), 10/19/2017 23:05:24
※ 編輯: lovepipi (115.82.3.29), 10/19/2017 23:09:49
※ 編輯: lovepipi (115.82.3.29), 10/19/2017 23:15:25
推
10/20 01:18,
6年前
, 4F
10/20 01:18, 4F
→
10/20 01:19,
6年前
, 5F
10/20 01:19, 5F
喔喔謝謝你 我懂了 所以是一次stall 2個管線這樣子嗎?因此or 那邊才要stall?
※ 編輯: lovepipi (117.19.145.169), 10/20/2017 07:28:09
推
10/20 09:11,
6年前
, 6F
10/20 09:11, 6F
→
10/20 09:11,
6年前
, 7F
10/20 09:11, 7F
我懂了 謝謝你誒 所以是暫停if id 所以and or那兩行才會長那樣 而他們下面的其他指
令也都隔一個clock這樣嗎?
※ 編輯: lovepipi (115.82.212.114), 10/20/2017 09:30:14
※ 編輯: lovepipi (115.82.212.114), 10/20/2017 09:36:49
→
10/20 13:25,
6年前
, 8F
10/20 13:25, 8F
→
10/20 13:25,
6年前
, 9F
10/20 13:25, 9F
感謝以上回答我的各種神人!
※ 編輯: lovepipi (49.217.82.11), 10/20/2017 18:24:51