加载中...

乱序执行(Out-of-Order Execution, OoOE)是一种处理器微架构技术:指令不严格按程序书写顺序执行,而是谁的操作数先就绪谁先执行,最后再按程序顺序提交结果,保证语义正确。
处理器前端按序取指、译码后,将指令送入保留站等待;当某条指令的源操作数全部就绪且有空闲执行单元时即可发射执行。执行结果先写入重排序缓冲区(ROB),由提交阶段按原始程序顺序退休,从而对外表现为顺序执行。该机制通常与寄存器重命名、分支预测配合,共同挖掘指令级并行。
自20世纪90年代起,乱序执行成为高性能通用CPU的标配,Intel、AMD、Apple、Arm的高性能核心均采用;而部分低功耗核心和嵌入式处理器仍使用顺序执行以节省面积与功耗。
优点是能有效隐藏缓存缺失和长延迟指令,大幅提升单线程性能;缺点是硬件复杂度和功耗显著增加,且推测状态曾被Spectre等旁路攻击利用。

登录 后参与讨论
暂无讨论,来发表第一条评论吧