想请教一下各位大大
题目如图 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这个必跳的指令后面一定要跟着 下一个指令 而不是 跳跃目的 的指令呢?
还是我整体的观念有误呢?