[理工] 95台大计组!

楼主: Aa841018 (andrew)   2019-11-19 07:51:58
https://i.imgur.com/dHBtdRG.jpg
这题想好久还是卡卡的,能够forwarding代表只有load-use需要stall,后面提到branch
在ID决定,所以也要stall,这我也认同,可是应该要stall两个吧?
bne和subi差一个指令,stall一个的结果,一个在Mem一个在ID,连暂存器都还没读取,
应该不可能救吧?
那唯一做法不是stall两个,等到WB写回吗?
不知道我是否理解有误?
然后我真的想不通为什么BNE下面还要塞一个stall.....没有data dependency吧?
作者: mistel (Mistel)   2019-11-19 08:19:00
1.subi在ex就做完结果,但是到了mem才有forwarding unit可以救,这之间需要stall一个cyclebne后面还有一个IF抓进来的指令被flush掉也算一个stall
作者: shinle14   2019-11-19 09:57:00
是只要bne放在最后一行,都要多一个stall吗?
作者: mistel (Mistel)   2019-11-19 17:00:00
所以张凡有讲在MEM到ID有再拉一条线去拯救在ID的分支指令,不过我找不到电路图

Links booklink

Contact Us: admin [ a t ] ucptt.com