|
daniel_k 发表于 2013-7-29 11:41 ![]()
看来是我把清流水线的原因搞反了,所以让你无法理解了,现在加深记忆了。
至于你说的汇编,例如JUMP S ...
其实我明白你的意思。分支预测失败后清空流水,这阶段做的工作都白费了。这阶段要是有很多访存,就是白白抬高了功耗也浪费了性能,所以架构设计的时候,对于预测程度的问题,把握一个度是很讲究的。预测失败越少,浪费越少,效率越高。这是没错的。
jump是有操作数的,一般是一个很长的立即数字段,最短的Alpha有21位,最长的SPARC有30位。你去看一下各个指令集的指令编码格式就会发现,没有指令可以不带操作数的,就算是nop空指令,里面可能也是实现成mov r0, r0 的样子。
看得出来您对架构真心有兴趣,推荐阅读<计算机组成与设计:硬件软件接口>,会懂得更多。祝好 :) |
|