作者painechaos (老趙)
看板Grad-ProbAsk
標題[理工] 計組 管線的追蹤
時間Fri Dec 22 20:50:03 2017
下午時問的沒有很詳細,剛才又想到一點問題所以再發文請教
http://i.imgur.com/sIgF6Dh.jpg
上圖是沒有前饋單元時的管線,我知道如果是記憶體指令,ALUSrc會轉為1讓資料進去ALU計算出記憶體位址
但以下是課本中,附加前饋單元的管線圖
http://i.imgur.com/eaX2Q7k.jpg
我的疑問是,原本的mux ALUSrc被前饋單元的mux所取代,那如果碰到記憶體指令,該如何計算記憶體位址呢?
另外,如果是sw指令,圖中沒有原本Read data2 port 輸出到Data memory中,這樣怎麼將data存到DM中?
最後想再問,假設有以下具有data hazard
sub $t3,$t2,$t1
sw $t3,2($t4)
這樣是如何將$t3中的值傳到sw中的$t3呢?
因為比較常遇到的是
sub $t3,$t2,$t1
lw $t4,4($t3)
這種形式,這樣只要前饋到id/exe就好,但是前一種就不知道怎麼解決了
不好意思問的有點多,對考試好像也沒有太多幫助,但是蠻想再更了解一點
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.40.251.84
※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1513947005.A.FE5.html
推 sarsman: 最後的問題之前我也有問過張凡,就是MEM/WB送回MEM 12/23 00:04
→ sarsman: 但詳細的電路就不清楚了@@ 12/23 00:04
推 TMDTMD2487: 我記得張凡有說過關於最後你問的,是有這個前饋必要 12/23 00:09
→ TMDTMD2487: 的可是課本沒有細講,只介紹了兩個前饋處理單元而已 12/23 00:09
推 TMDTMD2487: 再來你的第一個問題,不要拘泥太多把不重要的線路省 12/23 00:11
→ TMDTMD2487: 略方便討論而已 12/23 00:11
→ painechaos: 好的 謝謝樓上兩位大大! 12/23 01:17
→ awesomeXD: sw應該是在ID讀$t3的吧,不能暫停1個clock再拉回去救嗎 12/23 02:05
→ awesomeXD: 噢...突然懂了,原來有可以不用暫停的方法啊! 12/23 02:38