[理工] 計組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