Conroe为何如此强?Core微架构全解析

来源:百度文库 编辑:神马文学网 时间:2024/04/29 19:21:38
Core 微架构是由 Intel 位于以色列海法的研发团队负责设计的。该以色列团队早在2003年就因为设计出兼具高性能与低功耗的 Banias 处理器而闻名天下,Core 微架构也是他们在 Yonah 微架构之后的最新杰作。Core 微架构很早就出现在 Intel 的计划之中了,早在2003年夏天 Intel 就曾经隐约提到过,原定是 Centrino 平台的第三代 Napa 平台后期和第四代 Santa Rosa 平台所采用的处理器。没想到由于 NetBurst 微架构的失败,Core 微架构被 Intel 改弦易辙,推上前台,被赋予了取代 NetBurst 微架构、一统桌面、移动与服务器平台的历史使命。
之前,Intel 最新的 X86 微架构是出自以色列设计团队之手的 Yonah 微架构。而 Yonah 微架构被认为是从古老的 Pentium Pro 架构(P6 微架构)演变而来的。与之前 Pentium 4 采用的 NetBurst 微架构发布时提供的详细文档和资料相比,对 Yonah 微架构,Intel 只披露了很少的相关资料,而且 Intel 很可能将继续对关于 Core 微架构的详细资料守口如瓶。在这种情况下,本文集中了目前可以得到的所有资料,将是业界详细了解 Core 微架构的好机会。
Intel 的新核心已经拥有多个名字。以色列团队在设计之初,采用 Merom 作为开发代号。Merom的原意是约旦河附近的一个湖,这也是 Intel 的一个有趣的习惯——采用研发团队居住地附近的地名作为产品的开发代号。然后,Intel 在2005年开始大规模宣传该微架构的时候,把它描述为“下一代微架构”(Next Generation Micro-Architecture,简称NGMA)。而在今年的IDF大会上,Intel 把它正式宣布为“Core 微架构”(Core Micro-Architecture)。本文也将采用“Core 微架构”作为对新核心的正式称谓。在 Intel 的 Roadmap 上,“Core 微架构”的移动平台的产品代号为“Merom”——以色列团队一开始采用的研发代号,桌面平台的产品代号为“Conroe”,而服务器平台的产品代号为“Woodcrest”。
听完了 Intel 的说法,你也许还是对 Core 微架构的性能没有一个清晰的概念,或者有所怀疑。那么,在进入正文之前,我们先看一看下面展示的 Core 微架构的桌面产品 Conroe 在 SuperPi 1M测试中的表现:3.1GHz下16s时间完成!已经打破之前的世界纪录。采用 NetBurst 微架构的 Pentium 4 处理器超频到6GHz左右,或者 AMD 的 K8 处理器超频到4GHz左右,在这个测试中的速度都是20s左右。当然,SuperPi 测试并不能全面反映处理器的性能,而且,在进一步阅读了后面的 Core 微架构的更全面的测试之后,你会发现 SuperPi 测试算是对 Core 微架构最有利的测试之一。不过,这并不影响 Core 微架构给我们带来的震撼感。
Intel 的 Yonah 处理器是第一个共享式二级缓存的双核处理器设计,然而,共享式二级缓存的优势在移动平台上却不能完全发挥出来。共享式二级缓存的芯片级多处理器(Chip Multi-Processer,简称CMP)设计的最大优势在于它可以不考虑缓存一致性问题,而分别独占二级缓存的多核处理器需要时刻注意保持缓存一致。这正是工作站和服务器需要面对的一个主要问题,而相比之下移动平台和桌面平台并不迫切需要解决这个问题。基于这种考虑,采用 Core 微架构的Woodcrest 处理器将比之前的服务器芯片有质的提高,因为之前的芯片没有任何一款采用共享式二级缓存的设计。此外,Intel 还表示,Core 微架构可以在两个核心的一级数据缓存之间直接传输数据,但是 Intel 的工程师拒绝再继续透露更多相关的细节。
从总体架构来看,Core 微架构继承了 Yonah 微架构的设计方式,包括共享式二级缓存和前端总线。同时,Core 微架构的内部连接单元的带宽与 NetBurst 微架构的连接带宽接近,远远超过 Yonah 微架构——片上缓存与内核通讯的带宽远超 Yonah 微架构,与外部的连接带宽更是达到了 Yonah 微架构的2倍。跟前面提到的一样,这些改进虽然对移动平台和桌面平台意义不太大,但是对多路服务器系统来说非常有用。
Intel 将在今年下半年陆续发布 Woodcrest、Conroe 和 Merom,服务器、桌面和移动平台三箭齐发,其中 Woodcrest 和 Conroe 应该会早一些,Merom 应该到今年第四季度才能看到。为什么这样说?如果你熟悉目前的处理器市场的情况,你就会知道,在移动平台的市场方面,得益于 Intel 的极其成功的 Centrino 平台,Intel 占据了绝对主动的地位,并且在短时间内应该不会有什么意外的情况发生,并且 Yonah 处理器在今年一月份刚刚发布;在服务器平台的市场方面,应该说 Intel 已经稍微落在了 AMD 的后面;而目前桌面平台的市场是对 Intel 最不利的。所以,对 Intel 来说,更重要的是尽快发布 Woodcrest 和 Conroe,改变自己在服务器平台和桌面平台的竞争力。至于移动平台,要排到后面去了。况且,从财政方面考虑,Intel 肯定不愿意 Yonah 处理器的生命周期过短。
作为 Intel 的新旗舰,Core 微架构拥有双核心、64bit指令集、4发射的超标量体系结构和乱序执行机制等技术,使用65nm制造工艺生产,支持36bit的物理寻址和48bit的虚拟内存寻址,支持 Intel 所有的扩展指令集。Core 微架构的每个内核拥有 32KB 的一级指令缓存、32KB 的双端口一级数据缓存,然后2个内核共同拥有 4MB 的共享式二级缓存。Core 微架构在今年内发布的最高频率将是 Conroe XE 的3.33GHz。每种产品拥有自己的最高 TDP:Merom 最高35W,Conroe 最高65W,Woodcrest 最高80W。此外,针对不同客户的要求也可以提供低功耗的版本。例如,低电压版本的 Woodcrest 将会定位于刀片系统,通过降低频率等方法使 TDP 低达40W。
在过去的几年里,有关流水线级数的几个概念经常被混淆。我们首先澄清一下,流水线的“条数”与“级数”是完全不同的概念。能够完整执行各种指令的一系列功能单元组成“一条”流水线。而关于流水线级数,可以这样简单理解:在传统意义上,一条流水线所包含的功能单元一般可以被划分为多个部分,它可以被划分成几个部分,就称这条流水线是“几级”的。
然后让我们来了解一下“有效流水线”的定义,这也是在过去容易造成误解之处。简而言之,所谓的有效流水线,就是指发生分支预测错误时,所需要重新执行的流水线级数。以采用 NetBurst 微架构的处理器来说,Willamette、Northwood与Prescott核心的有效流水线级数分别是20、20和31,而原始的P6 微架构的处理器则是10级。
不过,对于现代的普遍采用乱序执行方式的X86处理器来说,有效流水线级数并不能代表真正意义上的流水线级数。NetBurst 微架构的处理器仅仅是 Trace Cache 的 Trace 建立过程,就有起码10级;P6 微架构的完整流水线级数应该是12至15(10级有效流水线加上指令执行完毕后的 Retire 动作,与可能出现的 Reorder Buffer延迟)。随着乱序执行引擎的工作方式越来越复杂,X86处理器流水线级数的概念也日益模糊。换言之,Core 微架构真正意义上的流水线级数并不会只有14。
Core 微架构的14级有效流水线与 Prescott 核心的31级有效流水线的对比,也只有参考意义。那些仅仅根据这个数字的对比就断言 Core 微架构只能达到很低的频率的说法是不具有足够的说服力的。Conroe XE 3.33GHz 处理器的存在已经让很多相信这个说法的用户大吃一惊。而实际上,已经有玩家声称,Conroe 处理器可以在风冷的情况下达到4GHz以上的频率。Core 微架构的频率到底能够到达什么样的高度,让我们拭目以待
Core 微架构毫无疑问是一个优秀的设计,在任何方面都比它的前任有所提升,尤其出色的正是今天被关注的焦点——性能功耗比,或者说是每单位功耗的性能。同频下的性能比竞争对手 AMD 的 Socket 939处理器高出20%以上,最高频率3.33GHz比对手的2.6GHz高出近30%,95W的功耗比对手110W的功耗低10%以上——Intel 宣传的全面超过竞争对手一点都不为过。高效的内核加上合理的功耗,使得采用 Core 微架构的处理器在距离 Intel 正式发布还有几个月时间的时候就已经被普遍看好。当然,几个月后 Core 微架构正式发布的时候,AMD也不会停在原地。两大厂商越来越激烈的竞争,一定会给消费者带来越来越优秀的产品。
除去技术上的创新,Core 微架构的出现还具有更重要的意义——扭转业界的态度。在过去的两年里,Intel 承受了很多的批评。如今随着 Core 微架构的出现,Intel 不仅将大大增强其在处理器市场上的竞争力,而且还使得媒体惊呼原来那个锐意进取、总能给人带来惊喜的 Intel 回来了。看起来,Intel 不但清楚的认识到了 NetBurst 微架构的缺陷,推出了性能和功耗相当平衡的Core 微架构,更加重要的是,NetBurst 微架构最后的失败极大的刺激了 Intel,使得 Intel 把更多的精力投入到了研发新产品上面。有了正确的方向,加上长久以来积累的雄厚实力,随之而来的将是 Intel 的一个崭新的时期。
不过,Core 微架构并非完美。当 Core 微架构推出4核心甚至8核心处理器的时候,采用共享式二级缓存带来的在双核架构上的优势有可能会被多核心共享前端总线的蹩脚设计削弱。而 AMD K8 处理器及其后继的产品所采用的集成内存控制器与利用 HyperTransport 总线互连的设计使它可以在多路系统中紧逼 Intel。打江山易,保江山难。希望 Intel不要减慢前进的步伐。有传言声称,Intel 将争取在2008年左右再次革新架构,汲取AMD的优点,推出集成内存控制器和CSI高速互连总线的新一代处理器。联想到国内著名硬件网站GZeasy在《NetBurst体系何去何从,透视英特尔PARROT架构》一文中披露的PARROT架构,看起来,这个传说2008年出现的新一代的处理器,才有可能是真正具有划时代意义的架构。
Intel 在去年还曾经透露过一项 Core 微架构可能支持的新技术——被称为第2代硬件虚拟化技术的 Rockton Technology(简称RT),这是用来改善Java与dotNet执行效率的技术。读者也许会很疑惑,Java和dotNet与虚拟化技术有什么关系?事实上,Java代码的执行环境Java虚拟机(Java Virtual Machine,简称JVM)与dotNet的 Common Langage Runtime(简称CLR)本质上都是一种虚拟机器,拥有独立的堆叠式指令集架构,并不仅仅是单纯的程序语言。简而言之,Rockton Technology就是利用处理器的硬件资源来加快Java和dotNet代码执行效率的技术。原以为这项技术会应用在 Core 微架构上,但是 Intel 在今年的 IDF 大会上却只字未提,不知道未来还有没有机会再看到这项技术的应用。
Intel P6 微架构的总工程师之一,Robert Colwell,在其回忆录《The Pentium Chronicles: The People, Passion, and Politics Behind Intel‘s Landmarks Chips》一书中,表示他之所以离开 Intel,主要就是因为他并不认同 Intel 在 NetBurst 微架构中所选择的设计路线,因为他相信“The future is mobile”,如何在维持省电与最长电池续航能力的前提下,达到足够的运算效能,才是处理器技术发展的未来方向。NetBurst 微架构的失败,与 P6 微架构的复兴,恰恰证明了 Intel 之前策略的失败和他的远见。
P6 微架构随着1995年 Pentium Pro 处理器的发布开始出现,到1997年的 Pentium II 处理器(Klamath、Deschutes)、1999年的 Pentium III 处理器(Katmai、Coppermine、Tualatin)、2003年的Pentium M 处理器(Banias、Dothan),再到今天的 Yonah 与 Core 微架构,经历了十年的风雨历程,有过辉煌的过去,有过被封杀的经历,最后又重新站到了X86处理器世界的最前沿。十年前 P6 微架构面世的时候,人们认为这已经是X86处理器的极致。没想到十年后的今天,已经发生了翻天覆地变化的 P6 微架构的后代,仍然称不上是 X86 处理器的顶峰。
本文的架构解析部分有一些资料是参考 Real World Technologies 网站于今年3月份发表的《Intel‘s Next Generation Microarchitecture Unveiled》一文,作者 David Kanter。测试部分的一些数据来自 AnandTech 网站于今年3月发表的评测文章《Conroe Performance Preview Follow-Up》,作者 Anand Lal Shimpi。另外一部分测试数据来自国内外的广大玩家。在此一并表示感谢。