[理工] 計組data hazard detection unit 題庫

作者: qazws3483 (oldguy)   2018-10-28 18:06:13
https://i.imgur.com/KsTrz68.jpg
https://i.imgur.com/ZZmaiQY.jpg
https://i.imgur.com/rZceUl7.jpg
22. 不懂分別切了A或B的影響
(這本是二手書 上面有寫答案 但我不懂這樣的管線被切會產生影響的過程)
18. 為什麼要加not 那段
我自己寫的答案剛好是跟答案少not 一樣
感覺邏輯整個相反了
謝謝各位
作者: eggy1018 (羅密歐與豬過夜)   2018-10-30 01:15:00
補充樓上的因為data在MEM/WB的暫存器才有,所以在WB階段才能forward才有辦法救,所以看線最後面的線連到誰,誰被剪掉才有影響
作者: skyHuan (Huan)   2018-10-30 00:58:00
mux的理解正確load use要靠forwarding中間一定要stall,因為lw在MEM stage才讀到資料,R type在EX stage就要用了,中間空一格才來得及forward這題de選項要選d不是上述原因,是因為這個是load use hazard,要從MEM/WB forwarding到EX stage,連結的線是A線所以A被切才會有影響
作者: qazws3483 (oldguy)   2018-10-29 19:19:00
https://i.imgur.com/9hZ6Qnk.jpg我這樣的理解是正確的嗎https://i.imgur.com/LzLx0gG.jpg 補問一下 22的de選項 是因為load use 中間一定會有一個stall 答案才是d嗎
作者: SIGNAL2017 (信號2017)   2018-10-29 15:43:00
原來如此
作者: skyHuan (Huan)   2018-10-29 10:47:00
題目故意要騙人的,沒有一定要接到哪裡,mux的作用就是在很多input選一個output,設定好control unit在正確的情況下輸出正確結果就可以了
作者: skyHuan (Huan)   2018-10-28 18:21:00
22你要看信號從哪裡來就是從哪裡forwarding,指到哪裡mux如果要用就要設多少。例如A從MEM/WB來,所以如果是load use就要從A forwarding,是rs要用就要設01,rt要用就要設1018你看題目Figure 1的例子,如果1,2有hazard,2,3也有hazard,那1,3就應該沒有hazard,因為3是RA2W不是RA1W,但原本的detection(就是沒有not那段)沒有判斷到這種情況,也就是會把1,3視為hazard而forwarding導致ALU前面的mux選錯,所以not那段就是在判斷這種情況
作者: SIGNAL2017 (信號2017)   2018-10-29 06:29:00
請問22題那張圖是不是有點問題? A那條線應該是要接在兩個MUX01的地方,B那條線應該是要接在兩個MUX10的地方吧?但是題目好像有點交叉的樣子,例如他把A那條線接在一個MUX01的地方,一個接在MUX10的地方雖然好像不影響作答就是了
作者: qazws3483 (oldguy)   2018-10-30 16:04:00
感謝兩位

Links booklink

Contact Us: admin [ a t ] ucptt.com