Core微架构 百科内容来自于: 百度百科

发展历史

Core微架构是由Intel位于以色列海法的研发团队负责设计的。该以色列团队早在2003年就因为设计出兼具高性能与低功耗的 Banias 处理器而闻名天下,Core 微架构也是他们在 Yonah 微架构之后的最新杰作。Core 微架构很早就出现在 Intel 的计划之中了,早在2003年夏天 Intel 就曾经隐约提到过,原定是 Centrino 平台的第三代 Napa 平台后期和第四代 Santa Rosa 平台所采用的处理器。没想到由于 NetBurst 微架构的失败,Core 微架构被 Intel 改弦易辙,推上前台,被赋予了取代 NetBurst 微架构、一统桌面、移动与服务器平台的历史使命。 Intel 的新核心已经拥有多个名字。以色列团队在设计之初,采用 Merom 作为开发代号。Merom的原意是约旦河附近的一个湖,这也是 Intel 的一个有趣的习惯——采用研发团队居住地附近的地名作为产品的开发代号。然后,Intel 在2005年开始大规模宣传该微架构的时候,把它描述为“下一代微架构”(Next Generation Micro-Architecture,简称NGMA)。而在2006年的IDF大会上,Intel 把它正式宣布为“Core 微架构”(Core Micro-Architecture)。

架构异同

由于在Core之前Intel最新的X86微架构同样是出自这个设计团队之手的 Yonah微架构,因此这很容易让我们将二者关联在一起。Core微架构与Yonah之间究竟有没有联系?它们之间又会有什么样的关系?我们不妨先来 看看两种构架的结构图。
Core微架构与Yonah微架构对比图2

Core微架构与Yonah微架构对比图2

从分析上面Core微架构与Yonah微架构的结构对比图中可以得出这样的结论,Core微架构与Yonah微架构的内部结构是几乎完全相同的。 一样的解码流程,一样的简单解码单元与复杂解码单元相配合的设计,一样的乱序执行的流程,一样的一级指令缓存与一级数据缓存分离的设 计,一样的共享式二级缓存的设计,如果抛开解码单元与执行单元的数量、内部总线的宽度以及各个缓冲区的容量这些数值上的差异,二者在 架构上的设计是完全一样。
因此可以说Core微架构是Intel在Yonah微架构基础之上改进而来的下一代微架构,采取共享式二级缓存设计,2个核心共享4MB或2MB的 二级缓存,其内核采用高效的14级有效流水线设计,每个核心都内建32KB一级指令缓存与32KB一级数据缓存,而且2个核心的一级数据缓存之间 可以直接传输数据。每个核心内建4组指令解码单元,支持微指令融合与宏指令融合技术,每个时钟周期最多可以解码5条X86指令,并拥有改进 的分支预测功能。每个核心内建5个执行单元,执行资源庞大。采用新的内存相关性预测技术。加入对EM64T与SSE4指令集的支持,支持增强的电源管理功能,支持硬件虚拟化技术硬件防病毒功能,内建数字温度传感器,还可提供功率报告和温度报告等,配合系统实现动态的功耗控 制和散热控制。
耦合度的松紧决定四核协作的效率高低,而微架构则决定每个核心的运算效率、实际性能、功耗高低等关键的特性。英特尔Kentsfield/Yorkfield两代Core 2 Quad处理器都基于Core微架构,它所具有的卓越性能有目共睹。Core架构的优势体现在以下几个方面:
一、拥有超宽的执行单元,在每个周期,Core架构的指令解码器可以同时发射4条指令,而AMD K8架构只能发射3条指令,换句话说,Core架构拥有更加出色的指令并行度
二、Core架构具有“微操作融合(Micro-Op Fusion)”和“宏操作融合(Macro-Op Fusion)”两项技术,可以对执行指令进行优化,通过减少指令的数量获得更高的效率,英特尔表示这两项技术最多可带来67%的效率提升,这也是Core架构产品在低功耗状态下依然拥有强劲效能的主要秘密;
三、Core微架构的SSE执行单元首度提供完整的128位支持,每个单元都可以在一个时钟周期内执行一个128位SSE指令,而在多个执行单元的共同作用下,Core架构核心可以在一个时钟周期内同时执行128位乘法、128位加法、128位数据载入以及128位数据回存,或者是可以同时执行4个32位单精度浮点乘法和4个32位单精度浮点加法,进而显著提升多媒体性能;四、Core微架构采用共享缓存设计,缓存资源利用率也高于独占式设计,且多个核心可以高效协作,当然,双芯片的Kentsfield Core 2 Quad无法从这个优点中受益。

命名方式

“扣肉”是基于Core微架构的桌面平台级产品“Conroe”的音译。不过由于“Core”和“ Conroe”两个单词在结构上颇为类似,因此有不少消费者往往便认为“Core”和“Conroe”指得是同样一种产品。实际上,我们通常把“Core ”直接音译为“酷睿”,它是Intel下一代处理器产品将统一采用的微架构,而Conroe(扣肉)只是对基于Core(酷睿)微架构的Intel下一代桌面 平台级产品的亲切称呼。除Conroe(扣肉)处理器之外,Core(酷睿)微架构还包括代号为“Merom”的移动平台处理器和代号为“Woodcrest”的 服务器平台处理器。
采用Core的处理器将采用统一的命名。由于上一代采用Yonah微架构的处理器产品被命名为Intel Core Duo,因此为了便于与前代Intel双核处理器区分,Intel下一代桌面处理器Conroe以及下一代笔记本处理器Merom都将采用相同的命名方式——Core 2 Duo。另外,Intel最高性 能的桌面服务器芯片Woodcrest将命名为Core 2 Extreme,以区分于普通桌面/笔记本处理器产品。
Conroe处理器沿用了L1缓存设计,L1数据缓存和L1指令缓存分别为32KB,两个核心共享4MB或2MB的L2缓存,它结合了Pentium M 高效率和NetBurst动态执行性能优越两方面的优点。Conroe处理器的数据流水线长度从Prescott的31级大幅度缩短至目前的14级。其算术逻辑运算单元ALU数量由上代NetBurst微构架的2组提升至3组,同时在缓存构架上也经过了大幅度的改良,整体运算性能大大增加。
Conroe处理器将分为E8000、E6000和E4000三个系列,通过频率、二级缓存前端总线的不同和是否支持VT等附加技术来进行定位。最 高端的E8000系列即Conroe Extreme Editon,将完整拥有VT等所有附加技术,并拥有最高的频率,最高的前端总线,当然同时也拥有最强的性 能和最高的价格。中高端的E6000系列主要通过频率和缓存来区别,将是DIY市场的主流。无论是频率还是价格,高端型号与低端型号的差别都 很大,覆盖面很广。低端的E4000系列把前端总线降到了800MHz,并去掉了VT等附加技术,定位于平价市场,类似于之前的Pentium D 805双核 处理器的定位,不过更低的前端总线反而更加有利于超频

架构特点

流水线明显缩短
Intel在新处理器微架构上做出的调整要大刀阔斧得多,流水线架构的调整也最为明显。基于Core核心的Conroe处理器的流水线从 Prescott核心的31级缩短为14级,与目前的Pentium M相当。众所周知,流水线越长,频率提升潜力越大,但是一旦分支预测失败或者缓存不中 的话,所耽误的延迟时间越长。如果一旦发生分支预测失败或者缓存不中的情况,Prescott核心就会有31个周期的延迟。这要比其他的架构延 迟时间多得多。而对于Conroe来说,14级流水线的效率要比Prescott核心的31级要高很多,延时却要低得多。
在缩短流水线级数 的同时,Core 微架构前端的改进还包括分支预测单元。分支预测行为发生在取指单元部分。首先,它使用了很多人们已经熟知的预测单元,包 括传统的 NetBurst 微架构上的分支目标缓冲区(Branch Target Buffer, BTB)、分支地址计算器(Branch Address Calculator, BAC)和返回 地址栈(Return Address Stack,RAS)。
然后,它还引入了2个新的预测单元—循环回路探测器(Loop Detector, LD)和间接分支预测器(Indirect Branch Predictor,简称IBP),其中循环回路探测器可以正确预测循环的结束,而间接分支预测器可以基于全局的历史信息 做出预测。Core 微架构在分支预测方面不仅可以利用所有这些预测单元,还增加了新的特性:在之前的设计中,分支转移总是会浪费流水线的 一个周期;Core 微架构在分支目标预测器和取指单元之间增加了一个队列,在大部分的情况下可以避免这一个周期的浪费。
高效 的流水线架构和更优秀的分支预测能力,使Conroe处理器的性能远胜于前代Prescott核心的Pentium D,与AMD的AM2相比也要高出不少。当然这 不全是流水线架构改进的功劳,还有一点也相当重要,那就是Conroe的解码单元。
缩短后的14级流水线
基于Core核心的Conroe处理器的流水线从Prescott核心的31级缩短为14级,与目前的Pentium M相当。大幅度缩短后的流水线,虽然频率提升潜力会有所下降,但这使得延迟时间大大减低,效率也高得多。
另外,Core采用改进后的分支预测设计,这使它拥有更优秀的分支预测能力,避免了流水线周期的浪费。这些都使得Conroe处理器的性能比基于前代核心的产品性能提高不少。
超强的四组指令编译器
Core微架构的最大变化之一,就是采用了四组指令编译器,也就是四组解码单元。这四组解码单元由三组简单解码单元(Simple Decoder)与一组复杂解码单元(Complex Decoder)组成。
另外,Core采用微指令融合技术,可以减少微指令的数目,这相当于在同样的时间内,它能实际处理更多的指令,显著提高了处理效能。而且,减少微指令的数目还能降低处理器的功耗。
更强大的内存I/O能力
Core微架构采用大容量的共享式二级缓存。这种设计不仅减少了缓存访问延迟,提高了缓存的利用率,而且还可以使单个核心享用完全的4MB缓存。一级缓存和二级缓存的总线位宽都是256-bit,从而可以给核心提供最大的存储带宽。这些都有效地提高了系统的内存I/O能力。
此外,Core微架构提供内存数据依存性预测功能,可在处理器将数据回存内存的同时,预测后继的加载指令是否采用相同的内存地址,并将未采用相同内存地址的后继指令加载到指定位置。而增强的“预先加载机制”可根据应用程序数据的行为,进行指令与数据的预先抓取动作,让所需要的内存地址数据,尽量存放在缓存中,减少读取内存的次数。这些大大改善了内存读取效率,缩短了内存存取的延迟。
改善的智能电源管理能力
Core微架构具有智能电源管理能力(Intelligent Power Capability),在处理器内各功能单元并非随时保持启动状态,而是根据预测机制,仅启动需要的功能单元。在Core微架构上,新采用的分离式总线(Split Buses)、数字热感应器(Digital Thermal Sensor)以及平台环境控制接口(Platform Environment Control Interface)等技术将带来明显的省电效果,这将大大降低功耗。
Core微架在降低耗电量的前提下,能够达到较高的效能,不能不说它是一款成功的设计,同时,Core微架构的出现,也标志着处理器的发展已经从一味追求高性能向追求高效的性能功耗比方向发展了。

技术规格

★65nm应变硅和Low-K(低k电介质)制造工艺
★14级流水线设计;
★对应667MHz/800MHz/1066MHz/1333MHz前端总线
★支持EM64T扩展技术、SSE3指令集以及Vanderpool虚拟化技术
双核心架构,每个核心内建32KB一级指令缓存与32KB一级数据缓存,两个核心共享2MB或4MB二级缓存;
★每个核心内建四组指令解码器和五个执行单元,可同时处理96个指令;
★支持微指令融合(Micro-Op fusion)与宏指令融合(Macro-Op fusion)机制;
★强化指令和数据预取机制,引入内存数据相依预测技术;
★智能电源管理技术,保证芯片的低能耗运作。

支持主板

任何一款处理器产品都离不开相应主板芯片组的支持,能够正式支持Conroe处理器的主板芯片组产品均出自Intel自家之手。由于采用 Core微架构的Conroe系列双核处理器仍然沿用了LGA775接口,因此可以说目前所有采用Intel芯片组的LGA775接口主板都具备了支持Conroe处理 器的条件。
1、865主板也可支持Conroe处理器。
865芯片组相信大家都很清楚,这款产品曾经过改造后提供对64位处理器的支持。当 然老迈的865主板经过改造之后也可以完美的支持Conroe处理器,而且还是相对较为高端的Conroe E6700。
2、975芯片组
i975X芯片组是目前Intel最为高端的桌面级芯片组产品,不过从Intel官方所给出的i975X芯片组的构架 图中我们并没有获取到任何对Conroe处理器支持的消息,究其原因,是因为早先的i975X主板的VRM模块不符合Conroe处理器的要求,而采用全 新VRM 11模块的i975X主板便可以完美的支持Conroe处理器。所谓VRM,就是Voltage Regulator Module(电压调节模块)的缩写,它是Intel专门 针对其处理器产品所提出的主板供电电路设计标准。因此可以说,主板是否支持VRM 11模块,才是支持Conroe处理器与否的决定性因素。
3、全新的946/965芯片组
采用全新Core构架的Conroe处理器拥有更强大的功耗管理功能,因此也需要主板相应的VRM模块 在低电压支持以及更精细的电压调节方面也要随之增强。Intel专为Conroe处理器所推出的全新946/965系列芯片组自诞生之日起就能够支持 Conroe处理器,就在于基于946/965系列芯片组的主板从一开始就采用了VRM 11模块,再结合i975X主板改造前后的例子,依据这个逻辑,未来 做出相应改动后的945和955系列主板应该也能够提供这方面的支持。

系列规划

Yonah

英特尔酷睿双/单核处理器的开发名称,它采用65nm制程,Socket479接口针脚前端总线提升至533MHz/667MHz,引入了双核技术,通过SmartCache共享2M L2缓存,并且开始加入了SEE3多媒体指令集。它与i945M/i945MDH配合使用,因为前总提升到667MHz,所以使用DDR2 667内存,它虽然是Socket479接口针脚,但与Pentium M完全不兼容。
目前采用Yonah核心CPU的有双核心的Core Duo和单核心的Core Solo,另外Celeron M也采用了此核心,Yonah是Intel于2006年初推出的。这是一种单/双核心处理器的核心类型,其在应用方面的特点是具有很大的灵活性,既可用于桌面平台,也可用于移动平台;既可用于双核心,也可用于单核心。Yonah核心来源于移动平台上大名鼎鼎的处理器Pentium M的优秀架构,具有流水线级数少、执行效率高、性能强大以及功耗低等等优点。Yonah核心采用65nm制造工艺,核心电压依版本不同在1.1V-1.3V左右,封装方式采用PPGA,接口类型是改良了的新版Socket 478接口(与以前台式机的Socket 478并不兼容)。在前端总线频率方面,目前Core Duo和Core Solo都是667MHz,而Yonah核心Celeron M是533MHz。在二级缓存方面,目前Core Duo和Core Solo都是2MB,而即Yonah核心Celeron M是1MB。Yonah核心都支持硬件防病毒技术EDB以及节能省电技术EIST,并且多数型号支持虚拟化技术Intel VT。但其最大的遗憾是不支持64位技术,仅仅只是32位的处理器。值得注意的是,对于双核心的Core Duo而言,其具有的2MB二级缓存在架构上不同于目前所有X86处理器,其它的所有X86处理器都是每个核心独立具有二级缓存,而Core Duo的Yonah核心则是采用了与IBM的多核心处理器类似的缓存方案--两个核心共享2MB的二级缓存,共享式的二级缓存配合Intel的“Smart cache”共享缓存技术,实现了真正意义上的缓存数据同步,大幅度降低了数据延迟,减少了对前端总线的占用。这才是严格意义上的真正的双核心处理器。Yonah核心是共享缓存的紧密型耦合方案,其优点是性能理想,缺点是技术比较复杂。不过,按照Intel的规划,以后Intel各个平台的处理器都将会全部转移到Core架构,Yonah核心其实也只是一个过渡的核心类型,从2006年第三季度开始,其在桌面平台上将会被Conroe核心取代,而在移动平台上则会被Merom核心所取代。

Conroe

这是更新的Intel桌面平台双核心处理器的核心类型,其名称来源于美国德克萨斯州的小城市“Conroe”。Conroe核心于2006年7月27日正式发布,是全新的Core(酷睿)微架构(Core Micro-Architecture)应用在桌面平台上的第一种CPU核心。目前采用此核心的有Core2 Duo E6x00系列和Core 2 Extreme X6x00系列。与上代采用NetBurst微架构的Pentium D和Pentium EE相比,Conroe核心具有流水线级数少、执行效率高、性能强大以及功耗低等等优点。Conroe核心采用65nm制造工艺,核心电压为1.3V左右,封装方式采用PLGA,接口类型仍然是传统的Socket 775。在前端总线频率方面,目前Core 2 Duo和Core 2 Extreme都是1066MHz,而顶级的Core 2 Extreme将会升级到1333MHz;在一级缓存方面,每个核心都具有32KB的数据缓存和32KB的指令缓存,并且两个核心的一级数据缓存之间可以直接交换数据;在二级缓存方面,Conroe核心都是两个内核共享4MB。Conroe核心都支持硬件防病毒技术EDB、节能省电技术EIST和64位技术EM64T以及虚拟化技术Intel VT。与Yonah核心的缓存机制类似,Conroe核心的二级缓存仍然是两个核心共享,并通过改良了的Intel Advanced Smart Cache(英特尔高级智能高速缓存)共享缓存技术来实现缓存数据的同步。Conroe核心是目前最先进的桌面平台处理器核心,在高性能和低功耗上找到了一个很好的平衡点,全面压倒了目前的所有桌面平台双核心处理器,加之又拥有非常不错的超频能力,确实是目前最强劲的台式机CPU核心。

Allendale

这是与Conroe同时发布的Intel桌面平台双核心处理器的核心类型,其名称来源于美国加利福尼亚州南部的小城市“Allendale”。Allendale核心于2006年7月27日正式发布,仍然基于全新的Core(酷睿)微架构,目前采用此核心的有1066MHz FSB的Core 2 Duo E6x00系列,即将发布的还有800MHz FSB的Core 2 Duo E4x00系列。Allendale核心的二级缓存机制与Conroe核心相同,但共享式二级缓存被削减至2MB。Allendale核心仍然采用65nm制造工艺,核心电压为1.3V左右,封装方式采用PLGA,接口类型仍然是传统的Socket 775,并且仍然支持硬件防病毒技术EDB、节能省电技术EIST和64位技术EM64T以及虚拟化技术Intel VT。除了共享式二级缓存被削减到2MB以及二级缓存是8路64Byte而非Conroe核心的16路64Byte之外,Allendale核心与Conroe核心几乎完全一样,可以说就是Conroe核心的简化版。当然由于二级缓存上的差异,在频率相同的情况下Allendale核心性能会稍逊于Conroe核心。

Merom

这是与Conroe同时发布的Intel移动平台双核心处理器的核心类型,其名称来源于以色列境内约旦河旁边的一个湖泊“Merom”。Merom核心于2006年7月27日正式发布,仍然基于全新的Core(酷睿)微架构,这也是Intel全平台(台式机、笔记本和服务器)处理器首次采用相同的微架构设计,目前采用此核心的有667MHz FSB的Core 2 Duo T7x00系列和Core 2 Duo T5x00系列。与桌面版的Conroe核心类似,Merom核心仍然采用65nm制造工艺,核心电压为1.3V左右,封装方式采用PPGA,接口类型仍然是与Yonah核心Core Duo和Core Solo兼容的改良了的新版Socket 478接口(与以前台式机的Socket 478并不兼容)或Socket 479接口,仍然采用Socket 479插槽。Merom核心同样支持硬件防病毒技术EDB、节能省电技术EIST和64位技术EM64T以及虚拟化技术Intel VT。Merom核心的二级缓存机制也与Conroe核心相同,Core 2 Duo T7x00系列的共享式二级缓存为4MB,而Core 2 Duo T5x00系列的共享式二级缓存为2MB。Merom核心的主要技术特性与Conroe核心几乎完全相同,只是在Conroe核心的基础上利用多种手段加强了功耗控制,使其TDP功耗几乎只有Conroe核心的一半左右,以满足移动平台的节电需求。

woodcrest

英特尔年度重头戏-双核心Intel Xeon处理器5100系列,其产品代号为Woodcrest,与桌上型Conroe及笔记型Merom基于相同的Core微架构,Woodcrest搭配全新的Intel 5000系列芯片组,包括Blackford 5000P/5000V及Greencreek 5000X,英特尔的多款双处理器服务器平台,如Bensley、Bensley-VS及Glidewell都以Woodcrest为核心。
Woodcrest采用英特尔先进的65纳米制程技术,加上最优化的Core微架构设计,与前代产品相比,不仅耗电量降低40%,性能则大幅提升 135% (*实际幅度视具体应用而定);首批推出的Woodcrest包括5160 (3 GHz)、5150 (2.66 GHz)、5140 (2.33 GHz)、5130 (2 GHz)、5120 (1.86 GHz)及5110 (1.6 GHz)共六款,千颗单价从851美元至209美元。
所有Woodcrest皆内含4 MB共享型高速二级缓存,散热设计功率(thermal design power,TDP) 方面除5160型号为80瓦以外,其余全部为65瓦;在系统总线(FSB)上,四款2 GHz及以上频率版本为1333 MHz,其余两款低频版本为1066 MHz。
另外,英特尔将在2007年推出由两颗Woodcrest合并而成的四核心Clovertown,插槽脚位与Bensley平台兼容,支持对称式多重处理器(Symmetric Multi-Processor,SMP)技术,举例来说,若在一台安装两颗Clovertown的两路服务器,实际拥有的处理器核心将多达八颗。

Clovertown

Intel将于2006年11月14日发布代号为Clovertown的四核心服务器处理器:Xeon 5300系列,其中包含4种不同的具体型号,它们是“2.66GHz的Xeon X5355、2.33GHz的Xeon E5345、1.86GHz的Xeon E5320、1.60GHz的Xeon E5310”。
四核处理器是将四个独立的处理器集成在一个芯片上,允许芯片同步处理四项不同的任务,这样可以大大提高处理器的计算能力。一台双路四核心服务器性能就相当于以前的8路服务器。
Intel对外公布的Xeon 5300处理器的一些参数:“架构依然是Woodcrest,1枚Xeon 5300处理器内含4个处理核心,单块主板上最多可放置2枚Xeon 5300处理器,处理器反应速度在1.66GHz到2.66GHz之间,二级Cache都是8兆,每个Xeon 5300处理器耗电量是80瓦”。
英特尔即将发布的四核处理器“Clovertown”也就是Xeon 5300系列产品,是由两颗“Woodcrest”Xeon 5100系列处理器的核心(DIE),封装到一个处理器基板(Socket)上,所以在除了两倍(8M)于后者的2级缓存之外的其他技术指标上,四核的Xeon5300 与双核的Xeon5100系列处理器几乎一样,同样的1333MHz的前端总线,同样的65nm工艺,同样的处理器还支持英特尔宽位动态执行技术、英特尔高级智能高速缓存、英特尔智能内存访问、英特尔智能功率管理等一系列的新技术。

Penryn

Intel基于45纳米技术处理器的开发代号。采用了45纳米高-k制造技术(采用铬合金高-K与金属栅极晶体管设计),并对酷睿体系结构进行了增强。将于2007年年底在两个45纳米制造工厂投入生产,计划于2008年下半年在四个工厂批量生产,届时这些处理器的产量可达数千万台。其中,即将于下半年推出的Penryn家族有6款产品,包括台式机处理器(双核四核)、移动处理器(双核),以及服务器处理器(双核和四核)。面向更高端服务器多处理系统的处理器目前正在研发之中。
跟当前的65纳米工艺相比,下一代45纳米高k制程技术可以将晶体管数量提高近2倍,如下一代英特尔酷睿2四核处理器将采用8.2亿个晶体管。借助新发明的高-k金属栅极晶体管技术,这8.2亿个晶体管能够以光速更高效地进行开关,晶体管切换速度提升了20% 以上,实现了更高的内核速度,并增加了每个时钟周期的指令数。双核处理器中的硅核尺寸为107平方毫米,比英特尔目前的65纳米产品小了25%,大约仅为普通邮票的四分之一大小,为添加新的特性、实现更高性能提供了更多自由空间。同时,由于减少了漏电流,因而可以降低功耗,同英特尔现有的双核处理器相比,新一代处理器能够以相同甚至更低的功耗运行,如Penryn处理器的散热设计功耗是,双核为40瓦/65瓦/80瓦,四核是50瓦/80瓦/120瓦。
全新的特性:快速Raidix-16除法器、增强型虚拟化技术、更大的高速缓存、分离负载高速缓存增强、更高的总线速度、英特尔SSE4指令、超级Shuffle引擎、深层关机技术、增强型动态加速技术、插槽兼容等。这些新特性使得Penryn能在性能、功耗、数字媒体应用、虚拟化应用等方面得到提升,如跟当前的产品相比,采用1600MHz前端总线、3GHz的Penryn处理器可以提升性能约45%。

技术创新

Intel Core微架构完全承袭了P6微架构的优良传统,并加入了多项创新的技术,针对提升每周指令执行指令数目而努力,从以提升效能功耗比。如果拿Core微架构与AMD K8微架构作比较,就会发现Core微架构有更"宽"的设计,Core微架构的4-Wide执行核心为x86系统提供了强大IPC运算能力,尤其是SSE指令集方面,Core微架构采用3组ALU,相比上代Yonha多出一组并已追上了AMD K8微架构的单简x86指令执行能力,同时Core微架构却大幅提升SIMD指令能力,拥有3组128Bit SSE运算组,亦因如此Intel Core微架构将拥有比AMD K8微架构约三倍以上的整数SSE指令频宽,而浮点SSE指令频宽亦比AMD K8微架构高出2倍。
为了提供升实际软件的IPC运算潜能,Intel并不只单纯地加入更多的运算组,还在处理器设计上作出重大改良,为了让IPC能力保持于高水平,Intel加入了两个Fusion机制包括Marco Fusion及Micro Fusion,同时采用了Memory Disambiguation提供了Out-of-order的效率,所有设计都让Intel Core微架构变能体现Performance per Watt的能力。
虽然AMD K8微架构已是三年前的产品,但其设计却一点也不显得落后,但面对有备而来的Intel Core微架构还是显得有心无力,现时AMD K8微架构仅存的优势就是内建记忆体控制器,但由于Intel Core微架构在Cache设计(加入更多的Prefetchers)、增强Branch Prediction命中率及记忆体存取上的技术改良(Memory Disambiguation),AMD于这记忆体效能的领先已被大幅收窄。据Intel表示,它们要把记忆体控制器放进处理器并不困难,是不为也非不能也,主要是考虑到加入记忆体控制器将会令产品被限制其记忆体支援弹性及升级能力,加上Intel估计记忆体的发展速度将会不断增加,AMD需要不断改良核心内的记忆体控制器设计才能追上记忆体发展的步伐,值得注意的是,未来IGP晶片组占市场比例将日益增加,内建记忆体控制器将成为IGP系统设计的弱点,效能上比不上北桥内建记忆体器方案。
无疑Intel Core微架构是一颗十分优秀的处理器,解决了一直以来Intel双核心处理器的设计弱点,其高效率低功耗设计更让微架构可跨越Desktop、Mobile及Server平台,效能绝对能凌驾现时所有x86微架构之上,相信AMD在下一代K8L微架构出台前会受到极严峻的压力,笔者认为Core微架构唯一的弱点还是在于其SMP的支援能力,在Server的领域里,企业可能会使用超过四颗以上的伺服器系统,由于AMD处理器拥有Hyper-Transport Tunnel,让各颗处理器能行拥有管道通交换资料,但Intel Core微架构在多处理器方案中,还是保留FSB及北桥作传输设计上落后于AMD,故此Intel Core微架构在Desktop、Mobile及SOHO Server (1-2 CPU)较AMD K8拥有更佳优势是不会被质疑,但与AMD Opteron处理器对决于多路处理器领域,则因FSB先天架构不足还是较为落后。
Core 微架构 vs. K8 微架构——解码单元
Core 微架构的3组简单解码单元与1组复杂解码单元 vs. K8 处理器的3组复杂解码单元。
K7 处理器有2种解码方法,向量路径(Vector Path)和直接路径(Direct Path)。向量路径解码会生成多于2条的类似RISC的指令(AMD称为Macro-Op,即宏指令)。直接路径解码会生成1条或者2条宏指令。K7 处理器的每组解码单元都可以进行向量路径解码和直接路径解码,但是从性能的角度讲,直接路径解码无疑是更好的选择,因为它会生成数量较少的宏指令。因为就像 Core 微架构是基于 P6 微架构一样,K8 处理器很大程度上也是基于 K7 处理器的。
K7 处理器的3组复杂解码单元是强大的,可以解码绝大多数X86指令,只有很少一部分指令需要使用向量路径解码。它们仅有的缺点是一些浮点指令和SSE指令需要使用向量路径解码。而 K8 处理器拥有更强大的复杂解码单元——几乎所有的浮点指令和SSE指令都可以使用直接路径解码了。这是因为K8 处理器的取指与解码单元的流水线比 K7 处理器的更长。当涉及到SIMD指令时,K8 处理器尤其强于 K7 处理器。
显然,Intel 的宏指令融合技术在AMD 的 K8 处理器上并不存在。但是,AMD拥有与微指令融合技术类似的技术。首先需要注意的是,Intel 与 AMD 使用的名词“宏指令”与“微指令”具有不同的含义,很容易使人混淆。这里我们给出下面的表格,对它们进行分辨。
在 Athlon 处理器中,也存在有微指令融合技术。例如,一条 ADD [mem], EAX 指令在真正执行前中始终保持为一条指令。因此,它在缓冲区中也只会占据1个单元的空间。不过,在 Core 微架构中 load 操作和 SSE 操作等也可以被融合,而 K8 处理器则不行,它会把SSE操作解码成2条宏指令
那么,在解码单元方面,Intel 的 Core 微架构与 AMD 的 K8 处理器比较的结果是什么呢?就目前的资料来看,还很难确切的说到底哪个更加有实力。不过,我们有一个初步的看法:Core 微架构要更具有优势。因为在一般情况下,它每个时钟周期可以解码4条X86指令,加上宏指令融合技术的话则最多可以解码5条X86指令。而 AMD 的 K8 处理器每个时钟周期只能解码3条。
总而言之,AMD 的3组复杂解码单元胜过 Core 微架构的3组简单解码单元加上1组复杂解码单元的情况不大可能发生。仅当多条复杂指令同时需要复杂解码单元进行解码的时候,K8 处理器的解码单元会胜过 Core 微架构的解码单元。但是考虑到实际程序中的绝大多数X86指令对应简单解码单元的事实,这种情况不大可能发生。
Core 微架构 vs. K8 微架构——乱序执行引擎
Core 微架构拥有更大的乱序缓冲区——96 entry,再考虑到它的宏指令融合技术,其实际容量比 K8 处理器的72 entry要大的多。而最初的 P6 微架构只有40 entry,在Banias、Dothan 及 Yonah 处理器中增加到了80 entry,而现在的 Core 微架构进一步增加到了96 entry。为了看起来清晰、直观,我们制作了下面的表格来比较这几代处理器的重要特性。
Core 微架构采用集中式保留站(central reservation station),而 K8 处理器采用分布式调度器(distributed scheduler)。集中式保留站的优势是拥有更高的利用率,而分布式调度器能容纳更多的表项。NetBurst 微架构也采用分布式调度器。
使用集中式保留站也是把 Core 微架构称作“P8 微架构”的理由之一,这是相对古老的 P6 微架构的第二项巨大的提升。它利用保留站并调度与分配执行单元来执行微指令。执行结束后,执行结果被存储到乱序缓冲区内。这样的设计方式无疑是继承自Yonah、Dothan 甚至 P6 微架构。
最大的区别并不能立即从图表上看出来。Intel 先前的处理器需要2个时钟周期才能完成一次分支预测操作,而 Core 微架构只需要1个时钟周期。而 AMD 的 K8 处理器也只需要1个时钟周期就可以完成一次分支预测操作。
另外一处令人惊讶的地方是 Core 微架构的 SSE 多媒体指令执行性能。Core 微架构拥有3组非常强大的128-bit的 SSE 执行单元,其中2组是对称的。拥有如此强大的SSE执行资源,Core 微架构在执行128-bit SSE2/SSE3指令时将远远超过 K8 处理器。
在 K8 处理器上,1条128-bit的 SSE 指令会被解码成2条64-bit的指令,因为 K8 处理器的 SSE 执行单元只能执行64-bit的指令。所以说,从这个角度看,Core 微架构的SSE处理能力至少是 K8 处理器的2倍。如果是对64-bit的浮点进行操作,Core 微架构每个时钟周期可以处理4个双精度浮点数的计算,而 K8 处理器可以处理3个。
就整数执行单元来说,Core 微架构比 Pentium 4 处理器和 Dothan 处理器也有很大的提高,而与 K8 处理器处于同样的水准——如果只考虑执行单元的数量的话,Core 微架构与 K8 处理器都拥有3组ALU。如果也考虑 AGU 的话,K8 处理器拥有3组,甚至比 Core 微架构的2组要更有优势。这可能会使 K8 处理器在一些不太常见的整数计算中有优势,比如解密运算。不过,Core 微架构拥有的更深、更灵活的乱序缓冲区和更大、更快速的二级缓存可以在绝大多数整数运算中消除 K8 处理器这个小小的优势。

改进解析

Intel 三代微架构执行单元对比

Intel 三代微架构执行单元对比

Core 微架构的执行单元部分拥有3个调度端口,通过这3个端口来调度执行单元。执行单元包括3个64bit的整数执行单元(ALU)、2个128bit的浮点执行单元(FPU)和3个128bit的SSE执行单元,或者更准确的说法应该是,向量执行单元或SIMD执行单元。其中,位于端口1的整数执行单元可以处理128bit的Shift和Rotate操作。而2个浮点单元和3个SSE单元共享某些硬件资源。NetBurst 微架构和 Yonah 微架构的执行单元子系统也在图中列出作为比较。
很明显,我们首先注意到 Core 微架构拥有3个调度端口——比 NetBurst 微架构和 Yonah 微架构的2个端口增加了1个。所以,Core 微架构的执行单元子系统每个周期最多可以执行3条操作,而 Yonah 微架构最多只能执行2条。需要注意的是,对于 NetBurst 微架构来说,并不是2条。NetBurst 微架构的调度机制使得每个周期最多可以执行4条操作,但是这种情况会相当罕见——必须是4个简单的整数单元操作。并且,NetBurst 微架构在执行64bit指令时会有额外的延迟。更重要的是,Core 微架构的功能单元的统筹安排相对平衡,对于整数操作,可以在多个周期内保持单周期执行3个操作的吞吐量。而 NetBurst 微架构在很多情况下只能单周期执行1个操作。
Core 微架构所拥有的3个64bit的整数执行单元并非完全相同。与解码单元部分类似,3个整数执行单元也分为1个复杂整数执行单元和2个简单整数执行单元。不过,Core 微架构是 Intel 的X86架构处理器第一次可以在一周期内完成一次64bit的整数运算。之前的 NetBurst 微架构虽然也可以完成64bit的整数运算,但是需要2个时钟周期。另外,因为3个整数执行单元占据了不同的端口,所以采用 Core 微架构的处理器可以在一周期内最多执行3组64bit的整数运算。
Core 微构架拥有2个浮点执行单元,位于端口0的浮点执行单元负责加减等简单的浮点运算,而端口1的浮点执行单元则负责乘除等浮点运算。这样,在Core 微架构中,浮点加减指令与浮点乘除指令被划分成两部分,使其具备了在一周期中完成两条浮点指令的能力。
Core 微架构在 SSE 运算方面的性能也比它的前任有很大的提高。它的3个128bit的 SSE 单元并不是完全相同的,在移位和乘法的资源方面有微小的差异,但是都可以在单周期内完成1个128bit的 SSE 操作。相比之下,NetBurst 微架构的 SSE 单元无论在数量上还是质量上都有所不如:只有2个64bit的 SSE 单元,需要2个周期来执行1个128bit的操作。Yonah 微架构同样只有2个64bit的 SSE 单元。从SSE指令的执行资源来看,Core 微架构比 NetBurst 微架构和 Yonah 微架构有3倍的提升!
128bit的SSE执行单元有什么样的意义?让我们从 Intel 最初支持128bit的向量执行指令开始说起。当 Intel 最初兼容128bit向量执行的时候,也就是在 P6 微架构上开始出现 SSE指令集的时候,P6 微构架的向量执行单元单周期内只能进行64bit的运算,对于处理128bit数据的指令,P6 微构架必须把该指令解码成2条处理64bit数据的微指令来执行。这样的执行方案一直沿用了下来,包括采用 NetBurst 微架构的处理器和 Yonah 处理器。
Core 微架构终于拥有了完整的128bit的向量处理单元。配合多达3组的执行单元以及load、store 存储单元,Core 微架构可在一个时钟周期内,同时执行一个128bit乘法操作、一个128bit加法操作、一个128bit load操作与一个128bit store操作,另外还有可能再加上一条经过宏指令融合的cmp/jmp指令——相当于单周期6条指令!真是令人叹为观止的指令级并行处理能力。做出如此大幅改进的 SSE 处理能力,使得 Core 微架构更加有利于多媒体方面的应用。

关键特性

关键特性之一:超宽动态执行单元

“超宽”的实质效果就是“效率提升”。在“超宽动态执行单元”这一概念中,超宽的解码单元和强化的指令预取能力是最主要的组成部分。
1.超宽的解码单元
NetBurst架构效率低下有两大原因,流水线过长只是其中之一,另一“元凶”则是通用解码器效率不高。在CPU内部,一个指令被送到运算单元执行以前,必须先经过解码器进行解码,也就是把长度不一的X86指令分解为多个固定长度的微指令。解码效率的高低对程序的运行速度有着至关重要的影响。
CPU解码器面对的指令要么是简单指令,要么是复杂指令。按照“简单-复杂”的原则,CPU解码器可以设计成两种类型:一种对应简单指令,我们称之为简单指令解码器;另一种对应复杂指令,我们称之为复杂指令解码器。长期以来,X86处理器的解码器都使用了“简单-复杂”的专用体系,比如P6/Pentium M、AMD K7/K8等架构。以经典的P6架构(注:Pentium Pro、Pentium Ⅱ和Pentium Ⅲ都采用了P6架构)为例,该架构的指令解码器是由一个复杂指令解码器和两个简单指令解码器构成,每个时钟周期可同时处理3个指令,其中复杂指令解码器最多可以对包含4个微指令的复杂指令作解码处理,如果“不幸”遇到更复杂的指令,解码器就必须呼叫微码循序器,通过它把复杂指令分解成多个微指令系列进行处理。
在NetBurst架构中,Intel取消了解码器的简单与复杂之分,每个解码器都能处理简单指令和复杂指令,此举在处理动态指令较多的应用时,解码器可以发挥较高的效率,但当遇到简单指令较多的应用时,解码器的效率反而不高。为解决这一问题,在设计Core的架构时,Intel除了将流水线长度从Prescott时代的31级缩短至14级,还让解码器回归到传统的“简单-复杂”专用体系,不过与P6/Pentium M不同的是,Core架构的解码器数量被提升至4个,其中复杂解码器仍为1个,但简单解码器增至3个。由于X86指令系统复杂,Core架构中多达4个解码器已经是一种突破,想再增加解码器的数量,特别是增加复杂解码器的数量会有不小的困难。在X86程序中,复杂指令虽然只占据了程序数量20%的比重,但它却要花费CPU 80%的运算资源。看来解码效率要有跨越式的提升,还需要其他手段进行辅助。为此,Core架构在继承Pentium M的微操作融合(Micro-Op Fusion)技术(该技术把多个解码后具有相似点的微指令融合为一个,减少了微指令的数量,从而提高CPU的工作效率)的基础上,还创造性地引入了宏操作融合(Macro-Op Fusion)技术。宏操作融合技术的巧妙之处,就在于它能把比较(compare)和跳跃语句(jump)融合成一条指令,这样一来,复杂指令解码器就间接拥有同时处理两条指令的能力。在最佳优化的情况下,Core架构在一个周期内最多可以对5条指令同时解码,解码效率有了实质性的提升。
2.强化的指令预取能力
“好马还要配好鞍”。解码效率的提升,必然要求预取单元供给充足数量的指令。Core架构也充分认识到这一点,它的指令预取单元每次可以从一级缓存中获得6个X86指令,由此满足了指令解码器的需求。指令经过译码后,再作重命名/地址分配、重排序等优化,最后送到调度器中,由调度器分派给运算单元进行处理。

关键特性之二:高级数字媒体加速器

高级数字媒体加速器的核心内容就是增强SSE执行单元的运算性能。在Core架构上,Intel首次对SSE执行单元提供完整的128位支持。此举究竟有什么含义?以Yonah为例,它仅能实现64位支持,要执行一条128位SSE指令就要花费两个时钟周期,而Core只要一个时钟周期就可以完成。虽然NetBurst架构也提供了128位执行单元,但它仅有一组,SSE性能增长幅度远不如Core那么明显。在完整的128位SSE执行单元的作用下,Core架构可以在一个时钟周期内同时执行128位乘法、128位加法、128位数据加载及128位数据回存,或同时执行4个32位单精度浮点乘法与4个32位单精度浮点加法,这是Yonah、Pentium D的两倍。目前SSE在游戏及多媒体中有着广泛的应用,看来Conroe在游戏测试中的耀眼表现并非虚谈。

关键特性之三:高级智能快速缓存

与Yonah一样,Core架构使用了双核共享二级缓存的方案,它可以避免缓存作频繁的同步更新,增强了双核的协作效率。Core架构同样继承了Pentium M的低功耗缓存技术,避免了大容量二级缓存带来的高功耗情形。

关键特性之四:智能内存访问技术

为了提升CPU访问内存的效率,Intel为Core带来了崭新的智能内存访问技术,它包括内存数据相依预测和强化的数据预取机制两项措施。
1.内存相依预测功能
目前CPU如果碰到写入、读取相连的指令序列,就要先执行写入指令,然后再执行读取指令。这样设计主要是考虑当读取和写入针对相同的内存地址时,CPU就有可能读取到写入前的无效数据,但当写入和读取的内存地址不一样时,CPU如此设计就等于浪费了时间在那边空等。为了解决这一问题,Core架构引入了内存数据相依性预测功能,CPU会判断后续的读取指令是否操作相同的内存地址,如果不一样,CPU就可以同时进行写入与读取的并行操作。此举对提高乱序指令的执行效率有不小的作用。
2.强化的数据预取机制
为了减少CPU访问内存的次数,Core架构还对数据预取机制进行了强化。Core架构为每个核心提供了两组数据预取逻辑,连二级缓存控制器也内置了两组,比起以往,可被存储到缓存单元内的程序数据增加了,CPU访问内存的次数也就相应减少了。此举对于内存性能的提升有积极的作用。

关键特性之五:智能电源管理

Core架构产品的低功耗表现,除了得益于核心架构的改变,还与智能型电源管理的增强有着密不可分的关系。除了我们熟悉的增强型SpeedStep功能外(可对电压/频率进行动态调节,允许以单核模式运行),Core架构的智能电源管理还有以下几个亮点:
1.动态激活/关闭功能单元
Core架构把电源管理范围细化到CPU内部的各个逻辑单元。有时候,CPU内部的部分逻辑单元并没有处于激活的状态,如果可以在需要的时候才让它们运转,不需要的时候让它们暂时休眠一下,CPU就可以进一步减少无意义的能源消耗。动态激活/关闭功能单元就可以起到这个效果。
2.分离式前端总线
Core架构继承了以往64位前端总线设计,但在减少前端总线的能源消耗上,它采用了一个巧妙的“手笔”——引入分离式前端总线设计。当前端总线传输的数据并不多时,前端总线只会开启32位,另外32位暂时处于关闭状态,而当传输数据较多时,全部的传输线路又会被开启,此举有效减少了前端总线的无谓能源消耗。
3.更精确的运行温度控制
为了对温度实施更精确的控制,Core架构在CPU内的数个热点放置了数字热量传感器,通过专门的控制电路,CPU可以精确获知当前的发热量并迅速调整好运作模式。对于笔记本产品,Core架构提供了PSI-2功能,它能实时通知系统现在的耗电状况,以方便对电压进行动态调整。而对于服务器产品,Core架构则提供了平台环境控制界面功能,系统可以根据该功能传回的实际温度调整散热风扇的运作模式。
$firstVoiceSent
- 来自原声例句
小调查
请问您想要如何调整此模块?

感谢您的反馈,我们会尽快进行适当修改!
进来说说原因吧 确定
小调查
请问您想要如何调整此模块?

感谢您的反馈,我们会尽快进行适当修改!
进来说说原因吧 确定