branch prediction~~out-of-order execution~~Retirement Unit

来源:互联网 发布:北京软件项目经理薪酬 编辑:程序博客网 时间:2024/06/03 17:38

branch prediction&speculation execution:分枝预测和推测执行技术,是CPU动态执行技术中的主要内容,动态执行是目前CPU主要采用的先进技术之一。采用分枝预测和动态执行的主要目的是为了提高CPU的运算速度。推测执行是依托于分枝预测基础上的,在分枝预测程序是否分枝后所进行的处理也就是推测执行。

  由于程序中的条件分枝是根据程序指令在流水线处理后结果再执行的,所以当CPU等待指令结果时,流水线的前级电路也处于空闲状态等待分枝指令,这样必然出现时钟周期的浪费。如果CPU能在前条指令结果出来之前就能预测到分枝是否转移,那么就可以提前执行相应的指令,这样就避免了流水线的空闲等待,相应也就提高了CPU的运算速度。但另一方面一旦前指令结果出来后证明分枝预测错误,那么就必须将已经装入流水线执行的指令和结果全部清除,然后再装入正确指令重新处理,这样就比不进行分枝预测等待结果后再执行新指令还慢了。 

out-of-order execution:乱序执行,乱序执行是指CPU采用了允许将多条指令不按程序规定的顺序分开发送给各相电路单元处理的技术,在各单元不按规定顺序执行完指令后还必须由相应电路再将运算结果重新按原来程序指定的指令顺序排列后才能返回程序。这种将各条指令不按顺序拆散后执行的运行方式就叫乱序执行(也有叫错序执行)技术。采用乱序执行技术的目的是为了使CPU内部电路满负荷运转并相应提高了CPU的运行程序的速度。

Retirement Unit,把指令编排好,用一个顺序的方式,再把它写出去,对他们来讲,他们完全看不到核心里用乱序方法执行,但我们是用这种方式执行来提供它的性能。所以它最重要的是把它做好,再去执行。

原创粉丝点击