乱序执行的简单概念

乱序执行技术
为了进一步提高处理速度, Pentium Pro等最新推出的高档微处理器采用了一种乱序执行
技术来支持其超标量、超流水线设计。所谓乱序执行技术就是允许指令按照不同于程序中指
定的顺序发送给执行部件的一套方法,通过把不能立刻执行的指令搁置在一边而把能立刻执
行的后续指令提前处理,可以避免拖延处理器的运行,缩短程序的执行时间。每执行完一条
指令时,剩下的指令又重新组合为适当的序列。
乱序执行技术必须以数据流分析和微指令操作数、执行状态和执行结果的缓冲寄存为前
提。通过数据流分析,决定哪些微指令已准备好了所有的操作数并可被发送到执行部件执行。
支持这项工作的关键部件是重排序缓冲器ROB(Reorder Buff e r )和称之为保留站的特殊指令缓
冲区。保留站位于指令译码器和指令执行部件之间,里面存有一些已译码的指令,以便执行
部件即使在译码器延迟期间也不会闲置;反过来,如果执行部件繁忙,保留站又可以提供一
种缓冲,使得译码器能继续操作。R O B是一个循环的F I F O队列,它可保存带相关操作数的各
条微指令及其执行状态和结果。只有当一条微指令之前的所有微指令都被执行完时,该指令
才能退出,并且把结果写到体系结构寄存器和内存中。R O B和保留站在同一时刻均从译码器
中接收同一微指令。在R O B记录微指令程序顺序的同时,保留站中缓冲寄存着多条微指令,
并根据每条微指令的所有操作数是否齐备和执行部件是否空闲等条件,决定何时将它发送给
相关的执行部件。前一条微指令的执行结果可能是随后的微指令的源操作数,这样每个执行
部件的所有结果都被送回保留站中。这种交叉开关式的互联结构允许将一个执行部件的输出
传送给需要该输出作为输入操作数的另一个执行部件。执行部件的结果还被传回给R O B,由
此决定一条微指令是否可以退出,以保证所有微指令按程序次序退出。每条微指令只有退出
后才能向体系结构寄存器或内存提交它的执行结。
 

你可能感兴趣的:(乱序执行的简单概念)