想請教一下各位大大
題目如圖 https://i.imgur.com/o076BeK.png
紅框答案的部分
我的理解是說
程式在 compiler得時候
compiler會先看一下指令
安排順序
再進pipeline
如圖 : https://i.imgur.com/JEGtoWy.png
當 Branch 預期跳的時候
Complier 會在 Branch 指令後面插目的的指令
所以當 Branch 真的跳則不會有懲罰
這部分我沒有問題
但是 Jump 指令
Compiler看到的時候
應該是會排 Jump 目的的指令吧?
我覺得應該是不會有懲罰的問題
同樣都是在ID2解碼才知道指令
人家Branch都可以排 跳躍目的 的指令了
為啥Jump這個必跳的指令後面一定要跟著 下一個指令 而不是 跳躍目的 的指令呢?
還是我整體的觀念有誤呢?