流水线技术的由来编辑本段回目录
从前在英格兰北部的一个小镇里,有一个名叫艾薇的人开的鱼和油煎土豆片商店。在店里面,每位顾客需要排队才能点他(她)要的食物(比如油炸鳕鱼,油煎土豆片,豌豆糊,和一杯茶)。然后每个顾客等着盘子装满后坐下来进餐。
艾薇店里的油煎土豆片是小镇中最好的,在每个集市日中午的时候,长长的队伍都会排出商店。所以当隔壁的木器店关门的时候,艾薇就把它租了下来并加了一倍的桌椅。但是这仍然不能容纳下所有的顾客。外面排着的队伍永远那么长,忙碌的小镇居民都没有时间坐下来等他们的茶变凉。
他们没办法再另外增加服务台了;艾薇的鳕鱼和伯特的油煎土豆片是店里面的主要卖点。但是后来他们想出了一个聪明的办法。他们把柜台加长,艾薇,伯特,狄俄尼索斯和玛丽站成一排。顾客进来的时候,艾薇先给他们一个盛着鱼的盘子,然后伯特给加上油煎土豆片,狄俄尼索斯再给盛上豌豆糊,最后玛丽倒茶并收钱。顾客们不停的走动;当一个顾客拿到豌豆糊的同时,他后面的已经拿到了油煎土豆片,再后面的一个已经拿到了鱼。一些穷苦的村民不吃豌豆糊-但这没关系,这些顾客也能从狄俄尼索斯那里得个笑脸。
这样一来队伍变短了,不久以后,他们买下了对面的商店又增加了更多的餐位。这就是流水线。将那些具有重复性的工作分割成几个串行部分,使得工作能在工人们中间移动,每个熟练工人只需要依次的将他的那部分工作做好就可以了。虽然每个顾客等待服务的总时间没变,但是却有四个顾客能同时接受服务,这样在集市日的午餐时段里能够照顾过来的顾客数增加了三倍。
计算机流水线编辑本段回目录
计算机流水线(Pipeline)技术是目前广泛应用于微处理芯片(CPU)中的一项关键技术,计算机流水线技术指的是对CPU内部的各条指令的执行方式的一种形容,要了解它,就必须先了解指令及其执行过程。
一、计算机指令及其执行过程
计算机指令,就是告诉CPU要做什么事的一组特定的二进制集合。如果我们将CPU比喻成一个加工厂,那么,一条指令就好比一张订单,它引发了CPU_加工厂的一系列动作,最后分别得到了运算结果和产品。那么,它们到底是怎样工作的呢?首先,要有一个接收订单的部门——CPU的取指令机构;其次,还要有完成订单的车间——CPU的执行指令机构。在工厂中,一张订单上的产品被分成了许多道工序,而指令亦在CPU中转换成了许多条对应的微操作,依次完成它们,就执行完了整条指令。
二、执行指令的方式及流水线技术
在低档的CPU中,指令的执行是串行的,简单地说,就是执行完了一条指令后、再执行下一条指令,好比我们上面提到的那个加工厂在创业之初,只有一间小车间及孤军奋战的老板,那么,当他接到一张订单之后,他必然忙于完成第1张订单,而没有能力去接第2张订单。这样接订单→完成订单→接订单→……取指令→执行指令→取指令→……是一个串行的过程。后来,老板发现接受订单不费太多时间,而且他还有了一个帮工,他们可以相互独立地工作,这样,老板就在完成上张订单产品的同时,接受下一张订单的订货。这表现在CPU上就是取指令机构与执行指令机构的分开,这样从CPU整体来看,CPU在执行上条指令的同时,又在并行地取下条指令。这在CPU技术上是一个质的飞跃,它使得CPU从串行工作变为并行工作,从而具有了流水线的雏型。
CPU在完成了上面这一步之后,剩下的就是如何提高并行处理能力的问题了,CPU的设计者们从加工厂的装配线得到启发,将一条指令的执行分解成了许多各不相同的多个工序_微指令,从而极大地简化了指令的复杂度,简化了逻辑设计,提高了速度。在具有流水线技术的CPU中,上条指令刚执行完第一道“工序”,马上第二条指令就加人了流水线中,开始执行。很明显,这种流水线技术要求有多个执行单元,这在X86芯片中均得到了实现。
通过上面的介绍,我们已经了解到什么是流水线技术,这虽不是一种创新,但在技术的实现上则是一大难关,是CPU设计者对计算机发展的一大贡献。
那么,P6芯片的超流水线又是怎么回事呢?
三、P6的超流水线简介
超流水线(SuperPipeline)在本质上仍为一种流水线技术,但它做了以下的改进。
1.流水线条数从奔腾的两条增至三条,还有十一个独立的执行单元并行支持。
2.在执行中采取了无序执行(out-of-orderprocessing)技术。即当某条指令需要一些数据而未能立即执行完毕时,它将被剔出流水线并等待数据,CPU则马上执行下条指令,就好比在装配线上发现某件产品不太合格,而被淘汰,等待返工一个道理。这样,可以防止一条指令不能执行而影响了整个流水线的效率。
3.在P6中将指令划分成了更细的阶段,从而使逻辑设计、工序等等更为简化,提高了速度。在486芯片中,一条指令一般被划分为五个标准的部分,奔腾亦是如此。而在P6中,由于采用了近似于RISC的技术,一条指令被划分成了创纪录的十四个阶段。这极大地提高了流水线的速度。
那么,P6的超流水线技术是否将流水线工艺发挥到了极限呢?还远远未到,在P7中也许我们将看到全新的设计。