计算机流水线

更新时间:2024-06-13 17:30

计算机流水线(Pipeline)是Intel首次在486芯片中开始使用的流水线。

简介

计算机流水线(Pipeline)技术是目前广泛应用于微处理芯片(CPU)中的一项关键技术,计算机流水线技术指的是对CPU内部的各条指令的执行方式的一种形容,要了解它,就必须先了解指令及其执行过程。

流水线的工作方式就象工业生产上的装配流水线。在CPU中由5—6个不同功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成5—6步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,因此提高CPU的运算速度。经典奔腾每条整数流水线都分为四级流水,即指令预取、译码、执行、写回结果,浮点流水又分为八级流水。

执行过程

1、计算机指令及其执行过程

计算机指令,就是告诉CPU要做什么事的一组特定的二进制集合。如果我们将CPU比喻成一个加工厂,那么,一条指令就好比一张订单,它引发了CPU_加工厂的一系列动作,最后分别得到了运算结果和产品。那么,它们到底是怎样工作的呢?首先,要有一个接收订单的部门——CPU的取指令机构;其次,还要有完成订单的车间——CPU的执行指令机构。在工厂中,一张订单上的产品被分成了许多道工序,而指令亦在CPU中转换成了许多条对应的微操作,依次完成它们,就执行完了整条指令。

2、执行指令的方式及流水线技术

在低档的CPU中,指令的执行是串行的,简单地说,就是执行完了一条指令后、再执行下一条指令,好比我们上面提到的那个加工厂在创业之初,只有一间小车间及孤军奋战的老板,那么,当他接到一张订单之后,他必然忙于完成第1张订单,而没有能力去接第2张订单。这样接订单→完成订单→接订单→……取指令→执行指令→取指令→……是一个串行的过程。后来,老板发现接受订单不费太多时间,而且他还有了一个帮工,他们可以相互独立地工作,这样,老板就在完成上张订单产品的同时,接受下一张订单的订货。这表现在CPU上就是取指令机构与执行指令机构的分开,这样从CPU整体来看,CPU在执行上条指令的同时,又在并行地取下条指令。这在CPU技术上是一个质的飞跃,它使得CPU从串行工作变为并行工作,从而具有了流水线的雏型。

CPU在完成了上面这一步之后,剩下的就是如何提高并行处理能力的问题了,CPU的设计者们从加工厂的装配线得到启发,将一条指令的执行分解成了许多各不相同的多个工序_微指令,从而极大地简化了指令的复杂度,简化了逻辑设计,提高了速度。在具有流水线技术的CPU中,上条指令刚执行完第一道“工序”,马上第二条指令就加入了流水线中,开始执行。很明显,这种流水线技术要求有多个执行单元,这在X86芯片中均得到了实现。

通过上面的介绍,我们已经了解到什么是流水线技术,这虽不是一种创新,但在技术的实现上则是一大难关,是CPU设计者对计算机发展的一大贡献。

那么,P6芯片的超流水线又是怎么回事呢?

3、P6的超流水线简介

超流水线(Super Pipeline)在本质上仍为一种流水线技术,但它做了以下的改进。

A.流水线条数从奔腾的两条增至三条,还有十一个独立的执行单元并行支持。

B.在执行中采取了无序执行(out-of-orderprocessing)技术。即当某条指令需要一些数据而未能立即执行完毕时,它将被剔出流水线并等待数据,CPU则马上执行下条指令,就好比在装配线上发现某件产品不太合格,而被淘汰,等待返工一个道理。这样,可以防止一条指令不能执行而影响了整个流水线的效率。

C.在P6中将指令划分成了更细的阶段,从而使逻辑设计、工序等等更为简化,提高了速度。在486芯片中,一条指令一般被划分为五个标准的部分,奔腾亦是如此。而在P6中,由于采用了近似于RISC的技术,一条指令被划分成了创纪录的十四个阶段。这极大地提高了流水线的速度。

那么,P6的超流水线技术是否将流水线工艺发挥到了极限呢?还远远未到,在P7中也许我们将看到全新的设计。

流水线与生产线的区别:流水线是指一个生产车间在一条流水线机上完成操作流程。而生产线是指工厂的整体生产流程。比如从接单,开始设计到大量生产。这是生产流程。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}