|
|
为了充分发挥流水线的效率,在发生数据相关时,要允许没有数据相关的后续指令进入相关指令所占用的流水段,并超越相关的指令继续往前流动,这种控制方式称为乱序流动方式。从一条指令流水线的输出端看,指令流出流水线的顺序与输入端指令输入流水线的顺序是不一样。在流水线的输入端,指令是按照它的地址从小到大顺序进入流水线的;但在流水线的输出端,指令执行完成的顺序可能是混乱的;因此,把流水线的这种控制方式称为乱序(Out
of order)流动方式,也称为错序流动方式、无序流动方式或异步流动方式等。 实际上,造成流水线乱序流动方式的原因不仅仅是"先写后读"数据相关,有些指令执行的时间短或经过的流水段比较少,它们要越过执行时间长或经过流水段多的指令向前流动。 |