也许连Intel自己也不会想到,自己会遇到像现在这样的威胁,AMD K8架构处理器居然占据了桌面及服器市场超过20%的市场份额,这对于这位全球霸主来说简直是不可想象的。自从处理器诞生之日起,在传统的桌面级处理器市场上,几乎所有的用户都是以处理器的真实时钟频率来决定处理器的性能,“时钟频率”论英雄的概念一直被沿用到今天。不过仔细想来,既然绝大多数的用户都会有这样的认识,那么该说法一定会有它的根据。的确,在处理器微架构相同的前提下,处理器的时钟频率也许是两款处理器之间最简单也是最直接的比较方法。
我们不得不佩服Intel的眼光,他们恰恰抓住了用户这种追求处理器时钟频率的心理,在2000年发布了采用Netburst微架构的Intel Pentium 4处理器,向着处理器高时钟频率的目标大踏步的前进。超高的20级的有效流水线让Pentium 4处理器具备了前所未有的频率提升能力。凭心而论,采用Netburst微架构的Intel Pentium 4处理器绝对是具有划时代意义的。对于Netburst架构高频低能的负面批评也是在和比它晚推出三年的AMD K8微架构比较之后所得出的,这样的结论显然不能让所有人信服。或许这样说还会显得有些空洞,那我们不妨举一个鲜明的例子来说明:2000年采用Netburst微架构的Pentium 4处理器的上市直接导致在当时已经看似非常优秀的AMD K7微架构处理器大幅降价,只能祭出价格法宝进行还击。
Intel一直对自己的生产技术及产能非常有信心,他们认为在生产技术不断提升的前提下,处理器的时钟频率和处理器性能将会继续成正比例发展下去,Intel完全没有打算推出全新的微架构来对付AMD的K8处理器,这一点从Intel所推出的Netburst微架构改良版本的Prescott处理器上便可见一斑,有效流水线由20级“疯狂”的提升到31级,因此处理器的时钟频率得到了进一步的提高,甚至有传闻说Intel的下一代Tejas处理器的真实时钟频率可达到5GHz。不过在主频逼近4GHz大关时,基于Netburst微架构的处理器产品的功耗已经十分惊人,在时钟频率不断增加生的前提下生产技术却相反无法取得突破,功耗过高似乎一度成为了Intel处理器产品最大的软肋,而这种状况即便是优秀的Netburst微架构也无能为力。
“罗马不是一天建成的”,而要设计一个全新的微架构也绝非易事。幸好Intel在其桌面及服器产品市场的占有率有所松动的时候,即使意识到了Netburst架构处理器在功耗上不近入人意的表现,即使成立了专门的处理器研发团队,专门针对笔记本电脑设计全新的微架构处理器产品,而Banias核心Pentium M处理器一经推出便取得了成功,之后的Dothan核心处理器即我们现在耳熟能详的双核心Yonah处理器也都一直保持高效率低功耗的特点,也正是看到了Yonah处理器的成功,Intel果断的放弃了当前所采用的Netburst架构,把在笔记本电脑中所采用的Yonah处理器架构作出了改进,而Intel位于以色列海法的研发设计团队也在Yonah微架构又一次让全世界记住了他们。
就在2006年度春季IDF大会(Intel Developer Forum,英特尔开发者论坛)上,Intel宣布了下一代处理器将统一采用全新的微架构,并将其正式命名为Core(酷睿),回想起当年具有划时代意义的Netburst微架构Intel Pentium 4处理器,采用Core微架构的下一代Intel处理器显然更加值得期待。Core微架构拥有双核心、64bit指令集、4发射的超标量体系结构和乱序执行机制等技术,使用65nm制造工艺生产,支持36bit的物理寻址和48bit的虚拟内存寻址,支持包括SSE4在内的Intel所有扩展指令集。Core微架构的每个内核拥有32KB的一级指令缓存、32KB的双端口一级数据缓存,2个内核共同拥有4MB或2MB的共享式二级缓存。
由于Core微架构与Yonah微架构均出自同一个设计团队之手,两者之间存在千丝万缕的联系也早已成为了“不是秘密的秘密”。从下面这张Core微架构与Yonah微架构的结构图对比中便能够十分清楚的看出这一点。
一样的解码流程,一样的简单解码单元与复杂解码单元相配合的设计,一样的乱序执行的流程,一样的一级指令缓存与一级数据缓存分离的设计,一样的共享式二级缓存的设计,如果抛开解码单元与执行单元的数量、内部总线的宽度以及各个缓冲区的容量这些数值上的差异,二者在架构上的设计是完全一样。Yonah微架构处理器已经获得了极大的成功,而Core微架构不但继承了其全部优点,并在原有基础上进行的局部扩大,这样做在保证质量的前提下有效的缩短了全新微架构的开发时间,真可谓为明智之举。
Yonah微架构处理器是首个采用共享式二级缓存设计的双核处理器,而Core微架构依然继承了这个极富创新性的设计,2个核心共享4MB或2MB的二级缓存。其内核采用高效的14级有效流水线设计。每个核心都内建32KB一级指令缓存与32KB一级数据缓存,而且2个核心的一级数据缓存之间可以直接传输数据。每个核心内建4组指令解码单元,支持微指令融合与宏指令融合技术,每个时钟周期最多可以解码5条X86指令,并拥有改进的分支预测功能。每个核心内建5个执行单元,执行资源庞大。采用新的内存相关性预测技术。加入对EM64T与SSE4指令集的支持。支持增强的电源管理功能。支持硬件虚拟化技术和硬件防病毒功能。内建数字温度传感器。还可提供功率报告和温度报告等,配合系统实现动态的功耗控制和散热控制。
应该说,采用统一的微架构应用于桌面、移动和服务器平台是Intel Core微架构与上一代Netburst微架构处理器不同。Intel Core微架构可谓整合了Yonah微架构移动平台的高效率与上一代Netburst微架构的强大功能。不过在刚才所看到的Core微架构的结构图中却很难在找到Netburst微架构的特性,通过刚才的对比可以看出, Core微架构的设计几乎就是Yonah微架构的翻版。
以目前早已红得发紫的Conroe处理器为例,其实Conroe就是基于Core微架构的桌面平台级产品代号。不过由于“Core”和“Conroe”两个单词在结构上颇为类似,因此有不少消费者往往便认为“Core”和“Conroe”指得是同样一种产品。实际上,我们通常把“Core”直接音译为“酷睿”,它是Intel下一代处理器产品将统一采用的微架构,而Conroe只是对基于Core(酷睿)微架构的Intel下一代桌面平台级产品。除Conroe处理器之外,Core(酷睿)微架构还包括代号为“Merom”的移动平台处理器和代号为“Woodcrest”的服务器平台处理器。
由于上一代采用Yonah微架构的处理器产品被命名为Intel Core Duo,因此为了便于与前代Intel双核处理器区分,Intel下一代桌面处理器Conroe以及下一代笔记本处理器Merom都将采用相同的命名方式——Core 2 Duo。另外,Intel最高性能的桌面服务器芯片Woodcrest将命名为Core 2 Extreme,以区分于普通桌面/笔记本处理器产品。
Conroe处理器沿用了L1 Cache设计,L1数据Cache和L1指令Cache分别为32KB,两个核心共享4MB或2MB的L2 Cache,它结合了Pentium M高效率和NetBurst动态执行性能优越两方面的优点。Conroe处理器的数据流水线长度从Prescott的31级大幅度缩短至目前的14级。其算术逻辑运算单元ALU数量由上代NetBurst微构架的2组提升至3组,同时在Cache构架上也经过了大幅度的改良,整体运算性能大大增加。
虽然Intel Core微架构基于Yonah微架构设计早已是不争的事实,但Intel也明确表示Core微架构中70%——80%的架构和线路都要被重新设计,而在这其中又加入了五项主要改革:宽动态指令执行(Intel Wide Dynamic)、智能电源管理(Intel Intelligent Power Capability)、智能缓存技术(Intel Adcanced Smart Cache)、智能缓存加速(Intel Smart Memoru Acess)及高级数字媒体增强(Intel Adcanced Digital Media Boost)。
自Pentium Pro处理器开始,Intel在处理器中加入了动态执行(Dynamic execution)技术,赋予了x86架构处理器新的含义。而到了Pentium 4处理器的NetBurst架构时代,这种技术也被改良为更加先进的“Advanced Dynamic Executive”,这种技术采用了更加先进的引擎作为基础,采用了高Pipeline Stage用以提高效率,其中最明显的作用就是使得处理器的时钟频率显著提高。
而Intel Core微架构的宽动态指令执行(Wide Dynmaic Execution)和NetBurst架构的“Adcanced Dynamic Executive”有着根本上的不同,它旨在提高每个周期中指令集的处理数目,改善执行时间并提升处理器的性能,Core微架构总共拥有4组解码单元,其中包括3组简单解码单元和1组复杂解码单元,与拥有2组简单解码单元和1组复杂解码单元的Yonah架构相比,Core微架构能够多处理一组指令,因此Core微架构比前做拥有更为优秀的指令执行效率。同时采用了效率更高的14级有效流水线,取消了高时钟频率政策。
宽动态指令执行(Wide Dynamaic Execution)中创新的加入了指令融合技术。在先前的微架构中,每个指令的解码及执行动作是完全独立的,但是通过全新的技术,Intel Core微架构可以把每个指令组合成单一的微指令,这使得Core微架构能够在每个周期下运算五组指令,这样做的好处就是明显减少了程序执行所需要的时间、在提升性能的同时又不会不会增加处理器的功耗。
此外,Intel Core微架构保留了Banias处理器中的微指令融合技术以及Intel所独有的栈引擎技术(Dedicated Stack Engine),这些技术的目的都在于有效减少微指令的数目。由于处理器内部执行单元的资源相对固定,如果能够作到有效减少微指令的数目,也就意味着增加了X86指令,水涨船高,执行效能自然回得到提高。
Prescott处理器的功耗是相当惊人的,这也是Intel所急待解决的问题。因此新一代的Core架构针对功耗上作出重良的改善称为智能电源管理(Intel Intelligent Power Capability)技术,处理器在制程技术方面作出了相应的优化,举个例子来说,采用先进的65nm“Strained Silicon”技术、加入了特定的物质和金属层,相比于采用90nm制程技术的处理器来说其漏电情况将减少至少1千倍。但最值得称道的是,Intel还为Core架构加入了细微的逻辑控制机能独立开关各运算单元,只有处理器有需要时才会被启动,这样就有效的避免了处理器闲置时所出现的不必要功耗浪费,这种技术被Intel称之为“Sleep Transistors”技术。
电子元件开关的过程是需要消耗一定程度能源的,而且需要克服由休眠至恢复工作出现的延迟值,故此在智能电源管理(Intel Intelligent Power Capability)设计考虑到如何优化“Sleep Transistor”技术的应用,并确保不会因为“Sleep Transistors”技术而影响性能的发挥。在Computex展会期间,Intel就曾展示过用Core 2 Duo E6300(1.86GHz/2MB L2/1066MHz FSB)处理器在没有风扇的情况下完全负载前景播放HD WMV9影片、背景同时不断重覆Lame Audio Encoding WAV to MP3压缩,经过20分钟后仍能保持正常运作,而处理器散热器表面也仅仅是微微发热热,要知道Core 2 Duo E6300处理器的TDP仅仅为65W!Intel解释说是由于影片压缩工作部份核心元件并不会被使用或是运行于低功耗的状态下,因此能够是其他核心部份实现完全负载。
我们所熟悉的Intel Pentium D 820双核心处理器只是单纯把两颗核心封装在一起,共同分享同一个前端总线(FSB)带宽。当其中一颗核心占用前端总线(FSB)带宽时,这时另一颗核心就需要等待另一颗核心完成相应的工作之后才能够使用前端总线(FSB)带宽,加之Intel的前端总线(FSB)带宽设计采用单向存取,还需要通过北桥来读取系统内存中所存储的资料,无形之中又为本就有限的前端总线(FSB)带宽增加了压力,因此其延迟状况明显。
而Intel Core微架构针对这种状况进行了大幅度的改进,全新的智能缓存技术(Intel Advanced Smart Cache)有效的加强双核心乃至多核心处理器的工作效率。Intel Pentium D 820双核心处理器中每个独立的核心都拥有独立的二级缓存,但Intel Core微架构则是通过内部的传输总线共享同一个二级缓存,当其中的一个核心在完成自己的工作后会把结果直接存放在这块共享的二级缓存中,而另一颗核心则可以通过搭建在两个核心之间的“桥梁”读取共用二级缓存中的资料,这样便能够大幅降低延迟并有效的减少前端总线(FSB)带宽的使用率。
不仅如此,共享式二级缓存的设计的优势还体现在其他很多方面。例如,采用独立二级缓存的Intel Pentium D 820有可能会出现其中一颗核心闲置,二级缓存没有被有效利用,而另一颗核心的二级缓存负担过重的情况。但共享式二级缓存由于其二级缓存是共用的,因此不会出现这个问题。
虽然Intel Yonah处理器率先采用了共享式二级缓存的双核处理器设计,但是这种设计的优势在笔记本电脑平台上不能发挥出其全部优势,但这恰恰正是工作站和服务器所急待解决的问题。基于这种考虑,采用Core微架构的工作站和服务器级处理器——Woodcrest与之间的XEON处理器有很大不同,因为在此之前没有任何一款采用共享式二级缓存的设计的服务器级处理器。
对于处理器的设计者来说,解决处理器中存储器的访问平均延迟是一个急待解决的问题。举例来说,在一个由Pentium 4 3.6GHz 处理器和DDR400(200MHz)内存所组建的平台中,处理器速度是内存速度的18倍。也就是说,访问内存的每一个周期,处理器会经过18个周期。而且,发送一个内存访问请求需要多个内存周期,回应一个内存访问也就需要多个周期。因此,对于Pentium 4来说,花费200到300个处理器周期来等待内存访问的完成并不罕见。设计处理器缓存的目标就是避免内存访问的发生。但即使处理器缓存的缺失率仅为4%,也就是说,在处理器访问存储器的所有情况中只有4%的比例需要访问内存,这4%也将显著降低处理器的执行效率。
说到这里,我们觉得有必要将Intel和AMD在这方面的设计做一个简单的对比。如果对比系统内存的存取状况,AMD K8微架构在其内部集成了内存控制器,而Intel Core微架构仍然采用了前端总线(FSB)设计,我们很难说两者之间谁更强一些,也许他们根本就不存在可比性,但由于Core微架构的采用了短流水线的设计方式,其处理器的时钟频率相对Netburst微架构处理器大大降低,加之大容量的式二级缓存,因此其内存性能得到了大幅度提升。与此同时,Intel还在Core微架构中加入全新的内存读取技术,Intel将其称之为内存相关性预测(Memory Disambiguation)。
内存相关性预测(Memory Disambiguation)是一项十分新颖的设计。NetBurst微架构中所采用的相对保守的规则被彻底丢弃,load操作可以在内存地址未知的store操作之前执行。这样一来,当有错误发生的时候,处理器流水线将不得不暂停运转。当然,这种情况是极为罕见的。而为了最大限度的避免这种情况的出现,Core微架构加入了一个动态的内存相关性预测器,根据历史信息来预测load操作的移动是否可行。
在Core微架构处理器中,我们终于看到了终于EM64T指令集的身影,作为Yonah微架构的继任者,这一点很好的弥补了Yonah微架构中的最大缺憾。随着全新的Windows Vista操作系统的发布和64位的处理器的逐渐普及,Core微架构的前景可谓一片光明。
除此之外,Core微架构更是能够支持全新的SSE4指令集。 这项原本计划应用于NetBurst微架构Tejas核心处理器之上的全新技术也随着它的夭折最终没能实现,这不能不说是个遗憾,但是SSE4指令集出现在了Core微架构上又让我们看到了希望,SSE4指令集能够有效带来系统性能上的提升,这一代在众多测试中早已被证实。虽然其不会像当年SSE2指令集出现时那样带来巨大的性能提升,但是其在某些特殊方面的应用还是让我们对它充满了期待。
Intel Core微架构针对SSE指令所作出的修改被称之为“Intel Advanced Digital Media Boost”技术,当执行128Bit的SSE、SSE2及SSE3指令时,Core微架构只需要一个时钟周期便能够完成相应的任务,其效率足足提升了一倍之多。更为重要的是,目前已经有相当多的软件针对SSE指令集进行了优化,其中包括2D制图、3D制图、视频播放、音频播放、文件压缩等方面,可见其应用范围相当广泛。
Intel在其最新公布的产品路线图中,正式透露了下一代Core微架构处理器名称,桌面处理器Conroe核心及移动版处理器Merom核心同样将会被命名为“Intel Core 2 Duo”,改变了以前桌面级处理器和移动版处理器分别命名的做法。
至于Intel Core 2 Duo处理器具体型号的命名规则,将会采用目前应用于Yonah核心Intel Core Duo处理器的规则,由一个英文名母配撘四个数字组合而成。其中E、T、L、U分别代表TDP功耗值,E代表处理器将超高50W TDP,主要针对桌面级应用平台,T代表处理器的TDP在25W-49W之间,大部份主流的笔记本电脑处理器均为T系列。L代表低电压版本处理器,TDP在15W-24W,U则为超低电压版本,表示处理器的TDP将低于14W。值得一提的是,至尊版的Core 2 Extreme并不在这其中,它将会以X字母开头独立命名。
第二位数字将表示产品的规格。在相同规格的产品中,数字越高则表示该款产品的规格越高,但是产品的规格并不是仅仅体现在处理器的时钟频率上,Core 2 Duo E6400(2.13Ghz/2MB L2/1066MHz FSB )和E6600(2.4GHz/4MB L2.1066MHz FSB)两款产品除了频率不同,所搭载的二级缓存容量的也是不同的,而第二位只是提供了相对较为简单的产品规格概念。
另外,在不同的TDP功耗下,即便是拥有相同四位数编号的两款产品,其产品上的规格同样会有很大的差别。Intel Core Duo T2500(2GHz/2MB L2/667MHz FSB)和IIntel Core Duo U2500(1.06GHz/2MB L2/533MHz),虽然其四位数编号同为“2500”但是在规格方面两者却相差甚远。因此消费者暂时还不能用数字型号对采用Core微架构的新款处理器作出明确判断,还是应以产品的实际规格为准。
Intel Core微架构无疑是一个非常优秀的处理器微架构设计,它重点解决了Intel在双核心处理器上的设计弱点,其高效率低功耗的设计更是使得它能够轻松跨越桌面、移动以及服务器三大平台。下面我们就一起来看一下目前采用Intel Core微架构的处理器都有那些。
Merom处理器产品线
Woodcrest处理器产品线
Conroe处理器产品线
从上面的三张Intel Core微架构处理器产品列表中可以看出,面向桌面级的Conroe处理器产品线是最为丰富的,当然它也是离我们最近的。Conroe处理器分为E8000、E6000和E4000三个系列,通过频率、二级缓存、前端总线的不同和是否支持VT等附加技术来进行定位。最高端的E8000系列即Conroe Extreme Editon,将完整拥有VT等所有附加技术,并拥有最高的频率,最高的前端总线,当然同时也拥有最强的性能和最高的价格。中高端的E6000系列主要通过频率和缓存来区别,将是DIY市场的主流。无论是频率还是价格,高端型号与低端型号的差别都很大,覆盖面很广。低端的E4000系列把前端总线降到了800MHz,并去掉了VT等附加技术,定位于平价市场,类似于之前的Pentium D 805双核处理器的定位,不过更低的前端总线反而更加有利于超频。
写在最后:
Intel Core微架构在古老而又经典的P6微架构的基础上加入了多项创新的技术,针对提升每周指令执行指令数目而作出了很大的改变,从而有效的提升处理器的性能功耗比。Core微架构具备了更“宽”的设计,执行核心为x86系统提供了强大IPC运算能力,尤其是在SSE指令集方面,Core微架构采用了3组ALU,相比上代Yonha多出一组,同时Core微架构也大幅提升SIMD指令能力,拥有3组128Bit SSE运算组。Intel Core微架构毫无疑问是一个优秀的设计,当然AMD也不会停滞不前,其下一代K8L微架构已经被提上议事日程,相信两大厂商的激烈竞争,一定能给终端用户带来越来越优秀的产品。