下午时问的没有很详细,刚才又想到一点问题所以再发文请教
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就好,但是前一种就不知道怎么解决了
不好意思问的有点多,对考试好像也没有太多帮助,但是蛮想再更了解一点