MCPLive > 杂志文章 > 见证"芯"路 30年CPU架构发展史(一)

见证"芯"路 30年CPU架构发展史(一)

2011-11-28Janlen《微型计算机》2011年11月上

Pentium~Pentium Ⅲ:x86架构的成熟

1.第一代Pentium:超标量、MMX指令集、动态执行

1993年,80486时代划上句号,英特尔发布第五代x86架构微处理器,并将其命名为“Pentium”,它同时也有一个响亮的中文名称“奔腾”。Pentium本应命名为80586或 i586,但阿拉伯数字无法用来注册商标,而英特尔又很不希望AMD、Cyr ix这些竞争对手用同样的名字来抢自己的饭碗,所以打算注册一个全新的商标——“Pentium”。这个名字其实也是“第五”的意思,通常认为它是希腊文“五(penta)”加拉丁文中代表名词的接尾语“ium”的造词。

Pentium处理器内部含有的晶体管数量高达310万个,时钟频率由初推出的60MHz和66MHz,后提高到200MHz。即便是66MHz的Pentium微处理器,它的运算性能都比33MHz的80486DX提高了3倍多,而100MHz的Pentium更是快6~8倍。由于Pentium的制造工艺优良,所以整个系列的CPU的浮点性能也是各种各样性能是CPU中强的,可超频性能大。“超频”这种不花钱提升性能的好方法开始在用户中广泛流行起来,这也让Pentium赢得586级处理器的大部分市场。

超标量(Superscalar)架构是Pentium在架构上主要革新之一,它拥有两个资料路径(管线, pipelines),可以达到在一个时钟周期内完成一个以上的指令。一个管线(称为“U”)可以处理任意指令,另外一个(称为“V”)可以处理简单和通用的指令,相当于吸收了传统RISC处理器设计的特色,这种设计显示出两种技术融合的可能性,也提升了x86的运行效率。不过在指令执行机制上,Pentium架构还是顺序执行(in-order),后来在Pentium Ⅱ时代则被乱序执行所取代。

图5 Pentium处理器的逻辑分布图
图5 Pentium处理器的逻辑分布图

早期60MHz~100MHz的Pentium处理器在浮点运算单元上存在一个问题,极少数情况下会导致除法运算的精确度降低。这个缺陷在1994年被发现,英特尔随即陷入巨大的窘态,不得不召回有问题的处理器。另外,早期0.8微米工艺的Pentium也由于热量过高备受指责,当然后来制程升级至0.6微米之后才被一一解决。

Pentium-MMX是Pentium架构的一次关键升级,除了采用0.35微米制作工艺外,它引入了57个“MMX”指令集来增进多媒体工作的效率,比如像多媒体的编码与解码操作。这些指令集其实是快速执行的硬件,不过要让程序从中获得好处,就必须在编码时支持MMX指令技术,这种附加指令集机制也成为后来所有x86处理器的基准。由于应用程序都会支持MMX指令,也增强了英特尔在该领域的垄断地位。

1996年,英特尔在Pentium的基础上推出第六代x86处理器(内核代号P6),这便是Pentium Pro(中文称为“高能奔腾”)。Pentium Pro内部含有高达550万个的晶体管,内部时钟频率为133MHz,主频则有150MHz、166MHz、180MHz、200MHz等多种规格。Pentium Pro配置了8KB指令和8KB数据的一级片内缓存,另外在Pentium Pro的处理器封装中,除CPU芯片外还包括有一个256KB的二级缓存芯片,两个芯片之间用高带宽的内部总线互连,处理器与高速缓存的连接线路也被安置在该封装中,这样就使得高速缓存可以容易地运行在高频率上—比如Pentium Pro 200MHz CPU的高速缓存也是运行于200MHz,二者步调一致,这种设计使得Pentium Pro的性能达到优化。

在同等频率下,Pentium Pro处理速度几乎是100MHz的Pentium的2倍,其中的关键就在于Pentium Pro具有一项称为“动态执行”的创新技术,它可以通过分支预测算法来提前执行指令,避免不必要的闲置等待,这是继Pentium在超标量体系结构上实现实破之后的又一次飞跃。可以说到此为止,英特尔x86处理器的架构已经基本成型,之后的Pentium Ⅱ直到Pentium 4,都没有脱离这个体系。

2.Pentium Ⅱ到Pentium Ⅲ:平滑升级之路

1997年5月,英特尔推出Pentium Ⅱ处理器,第一个版本核心代号为Klamath,使用0.35微米制造工艺,它只有233MHz和266MHz两个版本,使用66MHz前端总线,后期还有300MHz的高频版本。Pentium Ⅱ其实延续了Pentium Pro的架构,加入MMX指令集支持,L1 Cache的容量提升到32KB(16KB指令+16KB数据)。Pentium Ⅱ拥有512KB的L2 Cache,这已经是比较现代的数字了,当然它仍然还是位于芯片外部。Pentium Ⅱ没有继续采用针脚的Socket式插座,而改用了槽式的Slot 1,这种设计也被后来的Pentium Ⅲ沿用。

1998年1月,代号为Deschutes的第二代Pentium Ⅱ处理器发布,它的运行频率为333MHz,前端总线也提升到100MHz,改用更先进的0.25微米制造工艺,发热量获得显著降低。这个版本的Pentium Ⅱ高达到450MHz主频。

Pentium Ⅱ时代的PC有过大量的变革,比如SDRAM内存替代了老式的EDO DRAM,AGP显卡开始引入。另外,削减二级缓存的Celeron(赛扬)处理器和针对服务器的Xeon处理器都开始出现。Xeon拥有一个全速的二级缓存,并且有512KB、1MB、2MB等多个版本。当时笔记本电脑已经开始进入高端商业领域,英特尔也因此开发出Pentium Ⅱ的移动版本,它将256KB二级缓存集成于芯片内部,封装尺寸也更小巧。

图6 Slot 1接口的Pentium Ⅲ处理器
图6 Slot 1接口的Pentium Ⅲ处理器

1999年2月,代号为Katmai的第一代Pentium Ⅲ处理器发布,但它其实只是Pentium Ⅱ的改进版:指令集升级为更强大的SSE,一级缓存控制器作一些改进,依旧使用半速的512KB二级缓存、0.25微米制造工艺和Slot 1封装。Pentium Ⅲ大的争议在于加入了CPU序列号,英特尔的说法是为增强网上电子商务的安全,让每一颗Pentium Ⅲ处理器都具有识别用户的号码——事实上,英特尔明显超越了作为芯片厂商的权限,为此不得不随后发布补丁工具允许用户关闭。

第一代Pentium Ⅲ高主频截止到600MHz,后被代号为“Coppermine(铜矿)”的第二代Pentium Ⅲ所取代。一般认为,“铜矿”才是真正意义上的Pentium Ⅲ:它拥有新的架构、新的接口、新的制造工艺,性能的提升也相当巨大。Coppermine发布于1999年10月,它采用了当时先进的0.18微米铜互连技术制造,同时将256K B二级缓存直接集成于CPU内核中,新工艺让Coppermine拥有更低的发热量,CPU也能够工作在更高的主频上——Coppermine从733MHz起跳,它终突破1GHz的关口,在x86微处理器史上值得书下一笔。

Coppermine也奠定了日后英特尔微处理器的基础,它采用三发射设计,同时可以执行三条指令;流水线为12级,32KB一级缓存和256KB二级缓存,通过100MHz~133MHz前端总线与芯片组相连。这套架构影响深远,事实上,后来迅驰平台的Pentium-M,乃至于今天的Core微架构,都是脱胎于Coppermine。

Coppermine有一个短命的后续者,这就是0.13微米工艺的Tualatin(图拉丁)内核,Tualatin将二级缓存的容量提升到512KB,工作频率高突破1.4GHz,在当时性能完全不亚于频率高得多的Pent ium 4。芯片组也支持快速的DDR SDRAM,平台的整体性能颇为出色。问题在于Tualatin的流水线依然只有12级,1.4GHz频率已经到了极限,而当时频率至上的思想相当普遍,Tualatin并没有得到应有的重视。但是在注重低功耗的笔记本电脑领域,Tualatin也广受欢迎,以至于Pentium 4-M备受冷落。

在Coppermine时代,AMD第一次对英特尔构成真正意义上的挑战—虽然此前的K6、K6-2系列获得不菲战绩,但那只是凭借性价比而非性能优势。AMD在发布K7架构的Athlon处理器之后,竞争的天平就开始逆转,Athlon早在Coppermine之前突破1GHz大关,并且性能表现强劲,虽然当时缺乏良好的芯片组支持,但足以证明AMD可以制造出同英特尔相媲美的产品。

分享到:

用户评论

共有评论(4)

  • 2012.03.21 16:15
    4楼

    说的很精彩嘛

    (0) (0) 回复
  • 2011.11.28 21:58
    3楼

    好吧,说错了,还有AMD。但是IBM呢?不要讲IBM没做什么啊。

    (0) (0) 回复
  • 2011.11.28 21:57
    2楼

    只讲Intel一家太过于偏颇,不知道为什么MC近总是这样的文章,五年前可不是这样。

    (0) (0) 回复
  • 2011.11.28 12:56
    1楼

    支持NVIDIA,看来以后会用到该公司的PC了,嘿嘿

    (0) (0) 回复

用户名:

密码: