下午時問的沒有很詳細,剛才又想到一點問題所以再發文請教
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就好,但是前一種就不知道怎麼解決了
不好意思問的有點多,對考試好像也沒有太多幫助,但是蠻想再更了解一點