[本人baidu博客全部搬家到csdn,baidu博客地址:http://hi.baidu.com/new/miracleconf]
INTEL CPU全系列架构发展史及深度测试!
壮士断腕,Conroe临危受命
在很久很久以前的286时代,英特尔还只是一个小公司,它负责给IBM提供IBM PC中的微处理器。那会儿,IBM PC销量很大,兼容机还没出现。为了能保证微处理器供货充足,上帝般的IBM强迫英特尔将微处理器技术无偿授权给另一家公司。看IBM脸色吃饭的英特尔虽然老大不愿意但也没办法,最后选择了AMD作为微处理器技术无偿提供对象(一不小心养虎成患,现在英特尔估计后悔到死)。为了制约AMD,英特尔又将微处理器技术无偿授权给了Cyrix。
1982年2月1日,英特尔推出80286微处理器
在当时来说,英特尔除了产能占优外,在技术上是没有任何优势的,三家公司的微处理器架构基本一致。但是这时候,IBM公司内部倒产生了巨大的分歧:许多人反对快速转换到286计算机的生产和销售,因为这会对IBM的小型机与之前的PC XT销售造成影响,他们希望过渡的步伐能慢一些。
但英特尔并不能等,80286处理器已经批量生产了,不可能堆在仓库里等IBM慢慢消化。此时康柏公司就钻了空子——快速推出286的IBM PC兼容机,并一举打败IBM成为PC市场的新霸主。随着IBM PC兼容机的大量涌现,英特尔处理器也卖得越来越多,名气越来越大,实力与日俱增,也就不用再唯IBM马首是瞻了。
1993年3月22日,英特尔发布新一代P5架构586微处理器,这款历史性的产品被英特尔命名为Pentium(奔腾),并不再对AMD和Cyrix授权。
1993.3.22 英特尔推出里程碑式的Pentium处理器
而AMD也非昔日可比了,它具有很强的研发能力,并很快发布了K6处理器迎战,更逐渐衍生出K6-2和K6-3处理器。K6-2处理器凭借架构上的优势令英特尔感到了巨大的压力。为此1995年英特尔又推出新的P6架构取代奔腾/奔腾MMX的P5架构,以求在性能上保持领先地位。
1995.11.1 英特尔推出采用P6架构的Pentium Pro
最早采用P6架构的微处理器是高能奔腾(Pentium Pro)。P6架构与奔腾的P5架构最大的不同在于,过去集成在主板上的二级缓存被整合到处理器内,从而大大地加快了数据读取时间和提高命中率。另外,P6架构是一个纯32位的微处理器架构。
1997.4.7 英特尔推出Pentium II
为了将P6架构平价化,以对抗AMD等竞争对手,英特尔采用了将二级缓存从CPU核心移出,改用外置于集成CPU核心的PCB板上的做法, 这“萌生”了1997年推出的奔腾II处理器。奔腾II处理器的二级缓存外置于CPU核心以外,只能以处理器工作主频一半的速度运行,而不像奔腾Pro的二级缓存那样以全速运行。随着0.25微米工艺的成熟,英特尔才尝试重新将二级缓存集成在核心内。
为了进一步巩固自己的领导地位,英特尔1999年1月推出了PentiumIII。1999.1 英特尔推出PentiumIII 在PentiumIII时代之前,AMD和Cyrix一直是英特尔的追随者,但是AMD Athlon推出之后,历史发生了微妙的变化: 在AMD推出Athlon 650MHz的时候,英特尔处理器的最高主频才550MHz,这也是英特尔第一次被竞争对手超过! 为了保住自己颜面,英特尔匆匆推出了采用0.18微米工艺,代号"Coppermine"的奔腾III处理器,主频有500MHz至700MHz几个型号。
2000.11.20 英特尔推出Pentium4
英特尔在AMD强大的压力下,开始鼓吹“唯主频论”。在奔腾III及以前的微处理器时代,是一个处理器性能与主频紧密结合的时代。那个时候无论是英特尔还是AMD,他们的处理器产品在主频提升的同时,同样也会带来相应的性能提升。到了奔腾4,英特尔的“唯主频论”颠覆了“性能等于主频”的传统观念。
2000年11月20日,英特尔正式发布了NetBurst架构的奔腾4。这不仅仅是一款新产品的发布,它还标志着一个处理器新时代的开始。奔腾4 1.4 GHz/1.5 GHz的出现,吸引了全世界的眼光。然而有专业媒体质疑:为何奔腾4的主频这么高,但是实际测试项目很多都不如P6架构的1GHz奔腾III呢?英特尔回答:奔腾4是一种全新的架构,它的性能不能再用传统的观点去评判。
奔腾4能够在同样的0.18微米工艺下轻松达到2GHz,而奔腾III 去到1.13GHz就已经到了极限,这是因为奔腾4的运算流水管线多达20级甚至31级,而奔腾III只有11级。运算流水管线越长,就越容易在同样制造工艺下达到更高的工作主频。Athlon在同样制造工艺下可以达到奔腾III难以达到的高主频,就是因为Athlon的运算流水管线比奔腾III略长。但是运算流水管线过长也会带来负面影响,管线越长,单位主频下的处理器执行效率就越低,性能的发挥就会受到影响。64岁的英特尔总裁贝瑞特面对着6500人惊天一跪:“请原谅我们”(2004.10)
奔腾4最终止步于3.8GHz,原计划推出的4GHz奔腾4处理器也被胎死腹中。英特尔意识到处理器研发道路上走入了“唯主频论”的误区,2004年10月,英特尔总裁贝瑞特惊天一跪,面对着6500人说道:“请原谅我们”,真心地对公司的失误表示忏悔。
英特尔终于承认自己错了。不要忘记当初英特尔发布奔腾4时吹嘘说奔腾4是为10GHz的运算速度设计的,这是到目前为止英特尔历史上最重要的或许也是最广为人知的工程失败事件。
◆ 临危受命的Core微架构
Core微架构将一统江湖
Core微架构被英特尔推上前台,被赋予了取代NetBurst微架构、一统桌面、移动与服务器平台的历史使命。针对笔记本、桌面级用户和服务器,Core均有不同的产品。
Conroe是基于Core微架构的桌面平台级产品(我们常说的“扣肉”),由于“Core”和“Conroe”两个单词在结构上颇为类似,因此有不少消费者往往便认为“Core”和“Conroe”指得是同样一种产品。实际上,我们通常把“Core”直接音译为“酷睿”,它是Intel新一代处理器产品统一采用的微架构,而Conroe(扣肉)只是对基于Core(酷睿)微架构的桌面平台级产品。
除桌面的Conroe处理器之外,Core微架构还包括代号为“Merom”的移动平台处理器和代号为“Woodcrest”的服务器平台处理器。
由于上一代采用Yonah微架构的处理器产品被命名为Intel Core Duo,因此为了便于与前代双核处理器区分,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构架上也经过了大幅度的改良,整体运算性能大大增加。
Core微架构与Yonah微架构
目前比较普遍的看法是,Core微架构是Pentium Pro架构,或者说是P6微架构的延续。Core微架构中只有预取机制是从NetBurst微架构获得的灵感,所有其它的设计都是从Yonah微架构(Core Duo处理器)演变而来,而Yonah微架构是从Banias处理器和Dothan处理器演变而来的。所有Banias、Dothan、Yonah和采用Core微架构的处理器都继承了NetBurst处理器的前端总线设计,但除此之外,它们毫无疑问都是曾经获得巨大成功的P6微架构的后代。
英特尔P6微架构的总工程师之一Robert Colwell在其回忆录中表示他之所以离开英特尔,主要就是因为他并不认同英特尔在NetBurst微架构中所选择的设计路线,因为他相信“The future is mobile”,如何在维持省电与最长电池续航能力的前提下,达到足够的运算效能,才是处理器技术发展的未来方向。NetBurst微架构的失败,与P6微架构的复兴,恰恰证明了英特尔之前策略的失败和他的远见。
不过这并不意味着只是把Yonah处理器的一些功能单元和解码器重新包装一下然后换了个名字就推出来。英特尔Core开发人员称,Woodcrest、Conroe和Merom处理器都是基于Yonah处理器的,但是几乎80%的架构和电路设计需要重新进行。
2006.7.27 英特尔Conroe全球同步上海发布会
2006年7月27日,英特尔全球同步发布基于其Core微架构的Conroe桌面平台处理器,承接6月发布的服务器处理器Woodcrest,以及8月登场的笔记本处理器Merom,英特尔处理器全面从上一代NetBurst微架构转向新的Core微架构。
◆ 解读Core微架构
英特尔对Core微架构的要求非常高,需要有很好的跨平台性,又要兼顾到功耗,最重要的是能提供更高的性能。其中特别引人注意的就是英特尔在Core设计中导入的全新的每瓦特效率的设计概念,因为这个概念的出现将真正影响未来英特尔处理器架构的发展,而这也对产业发展产生了重大的影响。
Core微架构的目标就是构建一个高效的双核心架构,因此采取共享式二级缓存设计,2个核心共享二级缓存。内核采用高效的14级有效流水线设计,每个核心内建4组指令解码单元,支持微指令融合与宏指令融合技术,每个时钟周期最多可以解码5条X86指令,并拥有改进的分支预测功能。每个核心内建5个执行单元,执行资源庞大。采用新的内存相关性预测技术。支持增强的电源管理功能。支持硬件虚拟化技术和硬件防病毒功能。内建数字温度传感器。还可提供功率报告和温度报告等,配合系统实现动态的功耗控制和散热控制。
重要的一点是,Core微架构加入了对EM64T指令集的支持,随着Windows Vista的到来以及Intel、AMD全面更换到64bit处理器,64bit计算的普及只是时间问题。
·14级指令执行流水线设计
流水线深度一直是影响处理器效率的重要因素,流水线深度的增加可以让处理器时钟频率进一步提高,但带来的反面影响就是处理器的单周期执行效率降低、发热量上升,同时容易产生分支预测等问题,Prescott核心的P4达到了31级流水线长度,要比当年的Pentium III和Athlon处理器高出许多,也让Prescott最终走上失败之路。
在Core架构中,其指令流水线深度达到14级,这个深度是要高于Pentium M的12级,但是却比AMD的K8处理器架构的17级要低上3级。目前的Core架构是兼顾执行效率和降低功耗的折中设计。
流水线的“条数”与“级数”是完全不同的概念。能够完整执行各种指令的一系列功能单元组成“一条”流水线。而关于流水线级数,可以这样简单理解:一条流水线所包含的功能单元一般可以被划分为多个部分,它可以被划分成几个部分,就称这条流水线是“几级”的。
宽区动态执行(Intel Wide Dynamic Execution)技术就是通过提升每个时钟周期完成的指令数,从而显著改进执行能力。通俗的说就是,每个内核将变得更加“宽阔”,这样每个内核就可以同时处理更多的指令。
毫无疑问,Core微架构是一个比NetBurst或Yonah微架构更宽的设计。Core微架构拥有4组解码单元,每周期可以生成7条微指令;Yonah 微架构拥有3组,每周期可以生成6条微指令;而NetBurst微架构由于解码方式不同,不容易比较解码单元的数目,但是NetBurst微架构每周期只能生成3条微指令。
Core微架构把解码单元增加到4组,这个变化可以说是Core微架构最大的特色之一。X86指令集的指令长度、格式与定址模式都相当混乱,导致X86指令解码器的设计是非常困难的。增加解码单元,特别是复杂解码单元,固然会大大增强处理器的解码能力,但是解码单元复杂的电路也必然会提高内核的复杂度和处理器的功耗。权衡利弊,英特尔最终选择了增加1组简单解码单元的折衷方案。
此外,Core架构的每个核心都拥有3个算术逻辑单元(ALU),而之前的NetBurst仅有2个ALU,P6架构的处理器仅为1个,这样的设计使得Core架构拥有比较高的处理能力。
酷睿微体系结构在提升每个时钟周期的指令数方面做了很多努力,例如新加入宏融合(Macro-Fusion)技术,它可以让处理器在解码的同时,将同类的指令融合为单一的指令,这样可以减少处理的指令总数,让处理器在更短的时间内处理更多的指令。酷睿架构也改良了ALU以支持宏融合技术。
·高级智能高速缓存(Intel Advanced Smart Cache)
以往的多核心处理器,其每个核心的L2缓存是各自独立的,这就造成了L2缓存不能够被充分利用,并且两个核心之间的数据交换路线也更为冗长,影响了处理器工作效率。如果采用L2缓存共享设计,那么只需要数据被载入到L2缓存中,数据可以被两个核心同时使用。
·智能内存访问(Intel Smart Memory Access)
智能内存访问是另一个能够提高系统性能的特性,通过缩短内存延迟来优化内存数据访问。智能内存访问能够预测系统的需要,从而提前载入或预取数据,反映到用户的直接使用体验上,就是大幅提高了执行程序的效率。
·高级数字媒体增强技术(Intel Advanced Digital Media Boost)
性能=频率×每个时钟周期的指令数,英特尔高级数字媒体增强是为了提高每个时钟周期的指令数而诞生。它是一项可以显著提高执行SIMD流指令扩展(SSE)指令性能的特性。128位SIMD整数算法和128位SIMD双精度浮点操作减少了执行特定程序任务所需的全部指令数,将能够促使整体性能的增高。
Core微架构的上一代Yonah具有一个比较明显的缺点,只具有64bit的SIMD运算架构,在涉及到128位SIMD运算的时候,需要两个时钟周期才能完成,效率非常低下,Yonah也因此难以实现64bit运算,而Core微架构经过改良之后,可以单个周期就能完成同样的操作,效率提高达一倍。Intel配合这个改进,并结合新的SSE3指令集,并称为Intel Advanced Digital Media Boost。
·智能功率能力(Intel Intelligent Power Capability)
NetBurst架构、Prescott核心处理器的耗电/功耗表现向来被竞争对手和用户诟病,因此新一代Core架构在功耗上进行改进也就十分重要,并被称为Intel Intelligent Power Capability,包括采用了先进的65nm Strained Silicon应变硅技术、Low-K介质等技术,还对各个运算部件都单独加入了电源控制功能,仅在需要的时候才开启相应工作电路。先进的能源管理技术让Core架构的处理器的功耗表现很出色,这也是Conroe处理器迅速被用户接受的一个重要因素。
ClE技术