您现在的位置: 天下网吧 >> 网吧焦点 >> 个人电脑 >> 电脑维修 >> CPU内存 >> 正文

锋利的双刃剑全面认识CPU的流水线

[作者:电脑店 来源:电脑店 时间:2012-11-25我来说两句

PreSCott核心的Pentium 4处理器系列上市之初就受到了各方的质疑,因为相比上一代Northwood核心Pentium 4处理器的20级流水线,新Pentium 4处理器的流水线达到了创记录的31级!究竟什么是流水线,为什么新Pentium 4处理器会采用超长流水线,它有什么样的负面影响呢?

一、我们为什么需要流水线?

  借鉴了工业流水线制造的思想,现代CPU也采用了流水线设计。在工业制造中采用流水线可以提高单位时间的生产量;同样在CPU中采用流水线设计也有助于提高CPU的频率。先让我们以汽车装配为例来解释流水线的工作方式。假设装配一辆汽车需要4个步骤:1.冲压:制作车身外壳和底盘等部件,2.焊接:将冲压成形后的各部件焊接成车身,3.涂装:将车身等主要部件清洗、化学处理、打磨、喷漆和烘干,4.总装:将各部件(包括发动机和向外采购的零部件)组装成车;同时对应地需要冲压、焊接、涂装和总装四个工人。如果不采用流水线,那么第一辆汽车依次经过上述四个步骤装配完成之后,下一辆汽车才开始进行装配,最早期的工业制造就是采用的这种原始的方式。

  不久之后大家就发现,某个时段中一辆汽车在进行装配时,其它三个工人处于闲置状态,显然这是对资源的极大浪费!于是大家开始思考能有效利用资源的方法:有什么办法让四个工人一起工作呢?那就是流水线!在第一辆汽车经过冲压进入焊接工序的时候,立刻开始进行第二辆汽车的冲压,而不是等到第一辆汽车经过全部四个工序后才开始。之后的每一辆汽车都是在前一辆冲压完毕后立刻进入冲压工序,这样在后续生产中就能够保证四个工人一直处于运行状态,不会造成人员的闲置。这样的生产方式就好似流水川流不息,因此被称为流水线。

  CPU的工作我们也可以大致分为指令的获取、解码、运算和结果的写入四个步骤,采用流水线设计之后,指令(好比待装配的汽车)就可以连续不断地进行处理。在同一个较长的时间段内,显然拥有流水线设计的CPU能够处理更多的指令。

二、为什么要加长流水线?

  Intel和AMD在桌面CPU市场上的激烈竞争,使双方都千方百计地拿出更强大产品来压制对方,而最引人瞩目的就是CPU的频率之争。随着CPU频率不断地攀升,Intel总是在自己某个核心的处理器到达极限之时采用新的、更长流水线的核心来消除频率的瓶颈。那么流水线和频率之间有什么关系呢?

  还是以上面的例子来说明。假如冲压、焊接、涂装和总装四个过程各自需要1个小时,现在我们把这四个工序细化:冲压分为冲压1(外壳)和冲压2(底盘)两个子工序,另外三个工序同样各自分成两个子工序,一共八个子工序。这样一来,完成每个子工序平均只需要半个小时,因此每隔半个小时就有一辆汽车完成装配,下线速度提高了一倍!如果再进一步细化,一分为二,那么完成每个工序平均只需要15分钟,即每隔15分钟就有一辆汽车下线,速度又提高了一倍(单辆汽车的生产时间仍是4个小时,但是两辆汽车的生产间隙更小了)。所以工序分得越细,单位时间内(例如8个小时)生产的汽车就越多。

  正是这样,CPU厂商才试图不断加长流水线,以利于频率的提升。那么为什么PreSCott核心的处理器才31级流水线,流水线级数能不能无限增长呢?

三、长流水线带来的问题

  首先,由于现有芯片制造工艺的限制,频率的提升带来高功耗、高发热量的问题。尽管流水线增长,频率提升的空间相应增大,但是处理器频率提升的其它瓶颈却无法解决。而且过长的流水线意味着更加复杂的内部结构,生产的良品率也难以保证。

  其次,在CPU的工作中,指令往往不是孤立的,许多指令按一定的顺序执行才能完成一个任务。而一旦某个指令在运算过程中发生了错误,或者执行了没有用的指令,那么其后与之相关的指令就都没有用了。这些指令必须清除掉,然后再执行其它的指令,CPU相当于做了许多无用功!流水线越长,一旦出错影响也就越大,比如一个指令在最后一级出错,那么可能在后续流水线中的所有指令都要被清除,Northwood核心处理器要浪费20级工序的时间,而PreSCott核心处理器就要浪费31级工序的时间!

图. 标注:Northwood核心处理器和Pre

本文来源:电脑店 作者:电脑店
相关文章
没有相关文章
我来说两句(请遵守法律法规)
声明
本文来源地址:
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系邮箱:support@txwb.com.
天下网吧·网吧天下