[理工] 计组pipeline stall

楼主: mistel (Mistel)   2019-11-16 08:46:56
1.
请问各位,分支指令造成的指令被flush到底算不算stall cycle呢?
之前张凡老师是跟我说NOP是NOP,stall是stall,
https://i.imgur.com/Oc4vTVp.jpg
像是这题就没有把分支指令产生的flush算进stall
但像是这题
https://i.imgur.com/Wh5mIBw.jpg
就把beq的flush指令算进stall cycle
或者是这题的c小题,
https://i.imgur.com/CVgQLAh.jpg
https://i.imgur.com/1BLpoxT.jpg
就把NOP算入stall cycle
感觉每个题目问的是一样的名词定义却都不同...==
2.https://i.imgur.com/VwGWlO9.jpg
请问考场上到底要不要把MEM/WB到EX/MEM的forwarding算进去?
这是为了救lw/sw连续的
https://i.imgur.com/zmvIP6h.jpg
张凡说有,算盘上没有,题目则是有算有些没算(交大有?!
作者: DLHZ ( )   2019-11-16 09:33:00
1.我的认知是都叫stall 单纯方法不同 两种我都会算进去2. 如果没有另外说我是会当成没有forwarding不过基本上如果有需要用到的都会先做假设 避免争议
作者: zuchang (chang)   2019-11-16 09:52:00
同意D大说法 flush实际也造成管线需要多做一个cycle 看起来就像暂停一次 我是都写penalty 或hazard比较没争议 3.老师是说有前馈就当full forwarding 除非题目特别挑明 或有电路图出来
楼主: mistel (Mistel)   2019-11-16 12:00:00
感谢 算盘说只要产生bubble都算是stall,所以我也比较支持这个说法,可能就真的自己事先说明了
作者: realmanKG (各位观众,五支菸)   2019-11-19 19:58:00
Flush和Stall虽然结果都是造成延迟一个cycle,但事实上你去看两个指令的前因和过程是有细微差异的,所以我一向都会分开算

Links booklink

Contact Us: admin [ a t ] ucptt.com