英特尔处理器的发展历程
毋庸置疑,如今决定CPU整体性能的关键因素,不仅是主频,也不是缓存技术,而是核心架构。优秀的核心架构可以弥补主频的不足,简化缓存设计,降低成本,这是优秀处理器的根本。然而,对于CPU制造商来说,改变核心架构是极其困难的,因为这将投入大量的R&D资金,并冒着性能不佳的风险。回顾历代CPU,不难发现英特尔大部分时间都处于领先地位,现在正处于十字路口:NetBurst架构的发展潜力还不如K8架构,眼前的制造工艺限制几乎无法逾越。在这个关键时刻,英特尔推出了全新的Core架构,未来将完全取代现有的NetBurst架构。
K7架构帮助AMD反击。
第一,现实与理性的平衡:五常与P6框架
在486处理器时代,Intel、AMD、Cyrix的产品在性能上并没有明显的差别。毕竟这时候遵循的架构是一样的,主频也是一样的,主板上的缓存也差不了多少。在这种背景下,英特尔唯一的优势就是产能,而AMD和Cyrix则继续跟随巨头的脚步。然而,聪明的英特尔没有选择按部就班。通过一个专利授权证书,奔腾封杀了AMD和Cyrix。
奔腾处理器采用的P5架构
奔腾采用P5架构,事实证明这是一个伟大的创举。在英特尔的发展史上,第一代奔腾绝对是里程碑式的产品,这个品牌甚至用了十几年。虽然第一代奔腾60的综合性能很一般,甚至比486DX66好不了多少,但是当主频优势体现出来的时候,此时表现出来的动力是震撼人心的。奔腾75,奔腾100,奔腾133,经典产品曾经称霸业界。同时,AMD和Cyrix作为竞争对手,由于架构落后,显然无法与英特尔直接竞争。即使是号称“高频486”的Cyrix 5X86,差距也很大,不是高频能弥补的缺陷。
痛定思痛,面对这样的情况AMD只能另辟蹊径。在K5相当成功的试验之后,K6处理器被发布,并且K6-2和K6-3被逐渐衍生。如果说第一代K6只能和拥有MMX技术的奔腾打个平手,那么后续的K6-2和K6-3凭借架构优势会让英特尔感到巨大的压力。为此,英特尔将最初用于奔腾Pro服务器处理器的P6架构用于台式机处理器,这种架构一直使用了很多年,直到奔腾III时代。
继承自奔腾III的P6架构
在奔腾时代,虽然英特尔仍然保持领先于竞争对手,但英特尔并不满足。在他们看来,只有从架构上扼杀对手,才能彻底摆脱AMD和Cyrix的追赶。所以英特尔在发布奔腾下一代产品奔腾II时,采用了有专利保护的P6架构,不再授权AMD和Cyrix。奔腾的P6架构和P5架构最大的区别是将之前集成在主板上的二级缓存移植到CPU中,大大加快了数据读取和命中率,提高了性能。AMD和Cyrix未能获得P6架构的授权,只好继续在旧架构上行走。整个CPU市场风云变幻,AMD和Cyrix的市场份额急剧下降。这里需要特别提一下K6-2+和K6-3。虽然这两款令人肃然起敬的产品也对英特尔构成了严重的威胁,但是它们所谓的内置L2缓存并没有集成在CPU内核中,所以永远不能算是P6架构,浮点性能差距很大。
二、低开高走:客观评价NetBurst架构
1.P6的建筑很难与K7相比。
自1999年AMD推出K7处理器以来,整个CPU市场发生了翻天覆地的变化。从核心架构的技术角度来看,AMD其实是领先于英特尔的。在同频的Athlon和Pentium III的较量中,AMD占据上风,这与其EV6前端总线和缓存架构密切相关,AMD K7处理器的动态分支预测技术也领先于P6架构。
巴顿的K7处理器向我们展示了核心架构的重要性。
面对如此尴尬的局面,英特尔可以将P6架构的优势发挥到极致。先是主频大战,然后Tualatin核心增加了大缓存,服务器处理器的SMP双CPU模式终于挽回了面子。但是,英特尔知道,核心架构的劣势迟早会让它陷入完全被动的局面,一场架构革命即将演变。在全世界都在等待的时候,英特尔推出了NetBurst架构,这是微处理器发展史上极具争议的架构,至今仍在服役!
2.NetBurst架构是混合的。
虽然如今的Pentium4已经是一块“金字招牌”,但早期发展也并非一帆风顺,第一代Willamette core饱受诟病。对于全新的NetBurst结构,发挥强大的性能需要更高的主频和强大的缓存结构,这是威拉米特core所不具备的。256KB的L2缓存明显不足,此时的整体性能受到很大影响。不过最让英特尔尴尬的是,威拉米特核心的奔腾4 1.5G甚至不如图拉丁核心的奔腾三,甚至超频的图拉丁赛扬在某些测试中也能取代。
Willamette core使NetBurst体系结构开局不利。
但是,在他还没来得及征服的情况下,他已经死了不会发生在英特尔身上。与奔腾III处理器相比,基于NetBurst架构的奔腾4在增加流水线长度后,执行效率大大降低。这时候大容量的二级缓存和高时钟频率才是真正的补救措施。讽刺的是,主频远高于AthlonXP 2000++的Pentium4 Willamette 2GHz却被它打败了。虽然随后的NorthWood core以512KB的L2缓存稍微挽回了面子,但AMD的K7架构当时也在发展,Barton core让Intel处于被动地位。因此,我们可以得出一个明确的结论,英特尔的NetBurst架构即使面对AMD K7架构也没有什么值得骄傲的。如果不是英特尔强大的市场控制能力,今天CPU市场的格局可能是另一番景象。
NorthWood core为NetBurst架构稍微挽回点面子。
3.流水线和CPU效率的关系
当然,我们今天看到的普雷斯科特的核心依然是NetBurst架构,高频产品的综合性能依然真实。但明眼人都能看出英特尔的软肋:NetBurst架构过于依赖主频和缓存,与当前CPU的发展趋势格格不入。为了提高主频,NetBurst架构不断扩展CPU超级流水线的数量。
这里有必要解释一下管道的概念。这是英特尔第一次在486芯片中使用它。装配线就像工业生产中的装配线一样工作。在CPU中,一条指令处理流水线由5 ~ 6个功能不同的电路单元组成,然后将一条x86指令分成5 ~ 6步,分别由这些电路单元执行,这样一条指令就可以在一个CPU时钟周期内完成,从而提高了CPU的运行速度。经典奔腾的每个整数流水线分为指令预取、解码、执行、回写结果四个阶段,浮点流水线分为八个阶段。
超标量是通过内置的多条流水线同时执行多个处理任务,其本质是以空间换时间。而超级流水线通过细化流水线,提高主频,可以在一个机器周期内完成一个或多个操作,其本质是以时间换取空间。比如一开始Pentium4的superpipeline长达20级,后来Prescott升级到31级。超流水线设计的级数越长,完成一条指令的速度就越快,因此可以适应工作频率更高的CPU。但是长流水线也带来了一些副作用,很可能时钟频率高的CPU实际运行速度会更低,英特尔的NetBurst架构就是这种情况。虽然它的时钟频率可以很高,但运行性能远不如时钟频率低的AMD处理器。
英特尔自然也意识到了这个问题,但是NetBurst架构已经开始了,这是无法阻止的。为此,英特尔不得不继续提高主频,增加二级缓存容量。然而,令英特尔非常尴尬的是,处理器制造工艺现在面临瓶颈。即使采用65nm工艺,未来在NetBurst架构中实现高时钟频率也是极其困难的,这意味着NetBurst架构在未来将无法凭借其时钟频率优势继续与竞争对手竞争。此外,庞大的缓存容量也是一种负担,不仅增加了成本,也使得发热量飙升。要不是英特尔良好的公关和市场口碑,英特尔处理器早就尴尬了,因为如今的高频奔腾已经是高热值高功耗的代名词,连赛扬D都是滚烫的。
普雷斯科特核心成为NetBurst架构的强弩之末。
三、巨人的王牌:奔腾M展现Intle实力。
与台式机市场相比,英特尔在移动市场拥有更强大的控制能力。从486处理器到今天的奔腾M,英特尔一直主导着移动处理器市场。在传统模式下,英特尔移动处理器只是一个低频低压版本的桌面处理器,然后加入一些节能技术,但第一代迅驰奔腾M已经走出了这个框架。
虽然很多业内人士认为第一代奔腾M(Banias)只是奔腾III-M的改进版,通过超大的二级缓存和更高的前端总线来提升性能,但对于移动用户来说,我们只看重性能和功耗。Banias的性能几乎与Pentium4并驾齐驱,功耗大幅降低。作为英特尔首款专注于移动市场设计的处理器,其成功毋庸置疑。更让人意想不到的是,一旦Banias内核的奔腾M应用到桌面平台并大幅超频,其性能完全压倒了Pentium4,随后Dothan内核的奔腾M将这个神话进行到底。我们不仅要问:奔腾M是什么样的核心架构,NetBurst架构是不是很大的讽刺?
平心而论,对比一下奔腾M at Dothan core和主流的奔腾4,不难发现英特尔的尴尬。从技术角度来看,英特尔完全有能力推出比目前的奔腾4性能更好的处理器,但错误的架构选择使其陷入被动。有业内人士质疑,奔腾M的核心架构仍然是P6,但它结合了NetBurst架构的前端总线技术,通过减少原P6微架构下编译的微指令数量,提高了指令编译和处理单元的效率,主频和缓存大幅增强。
带Dothan内核的奔腾M处理器
虽然我们一再认为AMD的K7架构非常先进,但不可否认的是,K7架构与P6架构基本相似。如果K7也配备大容量缓存和主频,性能会和奔腾M差不多,在各种测试中也得到了证明。英特尔显然意识到,在当前制造工艺受限,CPU对低热值要求越来越高的背景下,CPU必须提高流水线效率。情急之下,英特尔选择了P6架构来简单应对。只不过英特尔的市场控制能力真的很优秀,领先的技术帮助奔腾M站稳了脚跟,进而创造了“迅驰神话”。事实上,迅驰的空前成功也让英特尔感到了痛苦,那就是在桌面上展现了NetBurst架构的软肋,壮士断臂的措施已经不止一次在Intle的高层会议上被提上日程。
四、壮士断臂:NetBurst架构终于走到了尽头,核心架构危在旦夕。
由于NetBurst架构已经不能满足未来CPU发展的需求,英特尔必须开辟全新的CPU核心架构。其实英特尔早就做好了技术准备,迅驰III中的Yonah移动处理器已经具备了核心架构的技术精髓。不久前,英特尔正式公布了全新的核心架构:面向台式机的Conroe、面向笔记本的Merom以及面向未来服务器的WoodCrest。这三款处理器都基于Core架构。
1.流水线效率大大提高。
频率最高的CPU研发思路显然已经被淘汰了。核心架构处理器将超级流水线缩短至14级别,将大幅提升整体效率,避免CPU“高频率低能量”的尴尬现象。不过值得我们注意的是,核心架构采用了四指令编译器,有点类似于奔腾M处理器。所谓四指令编译器,就是在一个频率周期内可以编译四条x86指令。这四组指令编译器由三组简单解码器和一组复杂解码器组成。在四个指令编译器中,只有复杂编译器可以处理最多由四个微指令组成的复杂x86指令。如果不幸遇到非常复杂的指令,复杂的编译器必须调用微码定序器来获取微指令序列。
为了配合超宽编译单元,核心架构的指令读取单元在一个频率周期内从一级指令队列中取出6条x86指令放入指令编译队列,判断是否有符合宏指令融合的匹配,然后将最多5条x86指令调度到4个指令编译器。四组指令编译器在每个频率周期向保留站发送四条编译后的微指令,保留站将存储的微指令调度到五个执行单元。
从AMD的K5设计失败到现在已经十几年了,x86处理器的世界上还从来没有过四指令编译器的设计。由于x86指令集的指令长度、格式和寻址方式相当混乱,x86指令译码器的设计难度很大。然而,现在的情况已经发生了变化。一方面高频对四组简化结构有很大的依赖性,另一方面其他辅助技术也可以很大程度上弥补解决寻址方式混乱的问题。毫无疑问,英特尔的这一举措将是CPU核心架构设计的里程碑,未来我们有望看到CPU整体性能的大幅提升。
完成128位向量运算的控制器原理图。
2.全新的整数和浮点单元
从P6到NetBurst架构,整数和浮点单元的变化还是比较明显的,但是现在核心架构的变化也不小,只是一些关键技术改回了P6架构时代的设计。Core有三个64位整数执行单元,每个单元都可以独立执行64位整数运算。这样,Core就有了一组64位的复数整数单元(与P6 core的CIU相同)和两个简单整数单元来处理基本的运算和操作任务。但很特别的是,三个64位整数执行单元中的一个和分支执行单元会共享端口。这个端口的简单整数单元和分支单元* * *将在这里完成组合宏指令的任务。
说核心建筑是P6建筑是不公平的。这是英特尔x86处理器第一次能够独立执行64位整数运算,这使得Core领先于竞争对手。此外,64位整数单元使用独立的数据端口,因此Core可以在一个周期内同时完成三组64位整数运算。强大的整数运算单元使内核能够在游戏、服务器项目、移动等方面发挥广泛而强大的作用。
核心建筑设计图
在之前的NetBurst架构中,浮点单元的性能非常一般,这也是AMD处理器在3D游戏中总是表现更好的原因之一。不过核心架构有了很大的提升。Core architecture有两个浮点执行单元同时处理向量和标量的浮点运算,其中一个负责加减等简单处理,另一个负责乘除。虽然不能说核心架构对浮点性能有很大提升,但其提升效果还是很明显的。Conroe桌面处理器在许多测试中已经能够击败AMD的高端FX62。
核心架构的整体效率高于AMD K8
3.数据预读机制和缓存结构
核心架构的预读机制有了更多新的特性。数据预取单元通常需要在高速缓存中查找标签。为了避免标签查找可能带来的高延迟,数据预取单元使用存储接口进行标签查找。在大多数情况下,存储操作并不是影响系统性能的关键,因为当数据开始写入时,CPU可以立即开始后续工作,而无需等待写入操作完成。缓存/内存子系统将负责将数据写入缓存和复制到主内存的整个过程。
此外,核心架构使用智能内存访问算法,将帮助CPU在前端总线和内存传输之间实现更高的效率。智能内存访问算法使用八个预取器,可以通过推测算法将数据从内存传输到二级缓存,或者从二级缓存传输到一级缓存,这对提高内存单元性能和缓存效率非常有帮助。
基于内核的缓存系统也令人印象深刻。双核架构的二级缓存容量高达4MB,两核共享,访问延迟仅为12至14时钟周期。每个核还拥有32KB的一级指令缓存和一级数据缓存,访问延迟仅为3个时钟周期。从NetBurst架构引入的Trace Cache,在核心架构中消失了。NetBurst架构中的跟踪缓存类似于普通的指令缓存,用于存储解码前的指令,对于NetBurst架构的长流水线结构非常有用。当核心架构回到相对较短的流水线时,跟踪缓存就消失了,因为Intel认为传统的一级指令缓存对于流水线较短的核心架构更有用。当然,今天的缓存结构只是核心架构的最低版本,未来随着核心的完善,缓存结构只会越来越强。
Conroe台式机处理器的真实面貌
4.真正的双核处理器
对于PC用户来说,多任务一直是一个令人费解的问题,因为单个处理器的多任务是通过划分时间段来实现的,此时的性能损失是相当巨大的。在双核处理器的支持下,可以应用真正的多任务,越来越多的应用甚至会对其进行优化,从而奠定坚实的应用基础。从技术角度来说,双核处理器确实令人兴奋。
英特尔目前规划的双核处理器有很多,包括奔腾至尊版和奔腾D等。但英特尔的双核一直备受争议,因为其本质只是封装了两个独立的核心,它们之间的数据传输甚至需要一条外部总线,大大降低了效率。核心架构的设计将让怀疑者闭嘴:它的二级缓存不是分成两个独立的单元,而是由两个核心共享。这非常重要,它表明Core不是简单地将两个内核放在一起。
当然,Core架构的优势不仅是这些,还有降低功耗的智能电源能力技术和优化多媒体性能的先进数字媒体增强技术。核心架构的设计理念应该说是非常正确的。在放弃了频率至上的策略后,英特尔终于重回正轨,这对业界来说无疑是个好消息。此外,基于Core架构的Conroe桌面处理器将兼容I975芯片组,因此未来英特尔处理器的产品线将被拉长,这意味着一场价格战不可避免,这对消费者来说是个好消息。
写在最后
未来,我们期待的不仅仅是运算速度更快的处理器,还有出色的多任务并行处理、强大的64位计算能力、人性化的杀毒功能、合理的功耗,这些才是用户真正想要的。正如AMD前几年一直反对“为技术而技术”,以客户需求为导向,遵循产品发展规律,才是成功的捷径。我们也希望与英特尔一起奋斗多年的战士们,在英特尔强大的攻势面前继续顽强战斗,继续与英特尔一起为行业贡献改变人类生活的优秀微处理器产品。