指令流水线

CPU内的一种指令执行机制,还有一种优化版叫超标量指令流水线。

介绍

不使用流水线技术时,需要将一个指令从头到位完整的执行才能执行下一个指令,有些模块会被闲置。在指令流水线中,可以将指令拆分成多个子任务,在上一个指令的其中一个子任务完成以后,把执行该指令的模块让给下一个指令的子任务。

解释

如图,一共有三条指令,在执行第一条的分析子任务时,取值模块已经空闲,这个时候可以执行第二条执行的取值。这样能最小化空闲等待时间。

缺点

点子任务完成耗时差异大,会导致后面的任务断流。如果流水线设计过深,可能需要同时搭配分支预测。极端情况下,可能会有未流水线的处理器性能一致。

超标量流水线

指可以同时完成多个指令的流水线。

参考资料

  1. 指令流水线 https://zh.wikipedia.org/wiki/%E6%8C%87%E4%BB%A4%E7%AE%A1%E7%B7%9A%E5%8C%96
  2. 超标量 https://zh.wikipedia.org/wiki/%E8%B6%85%E7%B4%94%E9%87%8F