[理工] 计组 100交大资联

楼主: howard31622 (howard)   2016-10-02 14:56:15
http://i.imgur.com/JN5tlbF.jpg
在指令的第四行跟第六行的
$t4为什么有hazard
http://i.imgur.com/C6EmPrl.jpg
这章的data hazard主要不是在说的是RAW所造成的
唯独这题的 $t4 没有
求神人讲解
作者: darren0831 (达)   2016-10-02 15:14:00
你可以画一下pipeline diagram;sw那行要把t4资料存到内存;但add那行在WB stage才会把正确资料写入暂存器,所以sw一开始抓的暂存器资讯是错的
作者: aa06697 (todo se andarà)   2016-10-03 10:58:00
http://i.imgur.com/UFVt5p8.jpg应改是读t4比较准确一点http://i.imgur.com/f1FydTB.jpg上面画错a_a
作者: darren0831 (达)   2016-10-03 11:14:00
额 你是不是把这个cycle的线连到其他cycle去了
作者: aa06697 (todo se andarà)   2016-10-03 12:11:00
对ㄚ我有说画错刚刚有点事先出去 懒得画惹用文字讲 要在MEM/WB register 拉线到EXE stage去改变rt值(也就是$t4)简而言之就是cycle5 才会有正确t4 而sw在cycle4就先读t4而且用pipeline register 传到cycle6用 而t4其实在cycle3结束就有值了 即可利用forwarding
楼主: howard31622 (howard)   2016-10-08 23:57:00
谢谢楼上们的解说比较了解了

Links booklink

Contact Us: admin [ a t ] ucptt.com