[理工] 計組p459

作者: lovepipi (lovepipi)   2017-10-19 22:14:27
我想問為什麼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嗎?
作者: sarsman (DeNT15T♠)   2017-10-19 22:47:00
lw跟or是有RAW關係,可是這例子沒有為了or而stall吧是因為lw跟and的RAW關係而stallstall一次會同時暫停IF跟ID區塊
作者: w831231 (tsai)   2017-10-20 01:18:00
or會stall 是因為前面指令已經stall了stall完才可以forward
作者: a5204860 (該取啥呢)   2017-10-20 13:25:00
是暫停clock4的時候對

Links booklink

Contact Us: admin [ a t ] ucptt.com