Q1: 張凡計組下 p56 , delay branch的觀念請教 , 以下分別就三個安插方式
提出討論與問題。
例一 : from before
add $s1, $s2, $s3
if $s2=0 then
delay slot
書上說法:add指令因為不和branch指令發生資料相依 , 所以拉到delay slot也不影響程式
Q1-1: 請問delay branch中如果預測失敗會flush掉IF stage中的指令嗎?
書上說法成立應該是要建立在下述前提吧?
不管分支成立與否,都不flush掉IF stage中的指令
這樣的話不就和前面硬體的解法使用不同的data path ?