《大话处理器》连载——微架构(19) 乱序执行总结

来源:互联网 发布:c语言ceil 编辑:程序博客网 时间:2024/06/06 00:46
        简单来说,指令在乱序执行内核中的处理过程可分为3个步骤:

 

指令乱序执行步骤

 

乱序执行步骤

 

In-order issue

顺序发射,负责安排任务

Out-of-order execution

乱序执行,负责执行任务

In-order commit

顺序提交,负责更新结果

 

        下图为乱序执行内核的基本结构图:

乱序执行内核结构图

 

       取指、译码、分支预测和顺序执行内核一样,译码后,指令经过寄存器重命名,去除伪相关,然后进入指令分派模块,指令分派模块决定什么时候将指令分派到什么执行单元去执行。指令同时会进入指令提交单元,它记录了指令的原始顺序,用于指令的顺序提交,同时它会将分支指令的实际执行信息更新到分支预测单元。

        乱序执行比顺序执行需要耗费更多的处理器资源,通常只有高端处理器才会使用。最近,ARM Cortex-A9也引入了高端处理器常用的乱序执行(Out-of-Order Execution)和投机执行(Speculative Execution)。
原创粉丝点击