另一个可以提升CPU速度的方法是指令级并发(ILP instruction level parallelism),也被称为超标量计算(superscalar computation)。
CPU指令的处理在CPU内部被分为几个阶段,如取指、解码、执行、写回。在Intel 486处理器之前,每条指令必须在下一条指令开始前结束。使用流水线技术,每一条指令的第一阶段完成,这条指令就被送往下个阶段,同时下一条指令的处理会从它的第一阶段开始。以这种形式,多条指令可以并行处理,使处理器的资源被最优化的利用。下面第二张图以图形化的方式用一个假想的四阶段流水线描述了这一原理:
最初的Intel 486流水线是五阶段深度,对于更新的处理器,通常有更长的深度。例如,目前的Intel Atom处理器拥有16阶段流水线。
所有的一切看起来完美无缺,呃,不幸的是问题的暗流亦潜藏于此。