AMD“Bulldozer”“Bobcat”架构深入解读
- 来源:微型计算机 smarty:if $article.tag?>
- 关键字:微架构,革命 smarty:/if?>
- 发布时间:2010-10-12 15:34
每一次的微处理器革命,都是由微架构的转变而引发,在三年前,Intel Core微架构将CPU指令效能推向新的制高点,一举扭转了被动的局面、重新在市场上确立王者地位。不过这一次,革命的“接力棒”转移给了AMD。
8月24日,美国加州帕洛阿尔托市举行了第22届Hot Chips高性能芯片会议,AMD的总设计师Mike Butler和Brad Burgess均出席会议,他们详细披露了新一代微架构的“推土机”(Bulldozer)、“山猫”(Bobcat)的大量技术细节,并宣布AMD将于下一个年度推出相关产品,这也标志着AMD从此进入到一个新的起点。
微架构:CPU的基石
微架构是处理器平台的基础,所谓微架构,实际上是指CPU处理指令的模式,比如指令的预取、解码、预测、执行,整数单元、浮点单元的设计,核心与核心之间的协同耦合等等。这些要素构成微处理器的基础,一旦确立就不会再作大的改动,而只是在半导体生产工艺、缓存设计方面下功夫。
由于微架构决定了处理器的工作方式,它直接决定了处理器的特性,包括性能极限、功耗、制作成本等要素,假如微架构设计糟糕,那么即便生产工艺如何先进、缓存如何巨量,都于事无补——前车之鉴就是Intel饱受诟病的Netburst、也就是Pentium 4体系。相反,如果微架构十分优秀,那么较少的缓存、落后的制作工艺,都可以有表现更好的产品—比如与Pentium 4同时代的AMD处理器。
或许也是受到Netburst刺激,Intel在代号为“Merom”的Core架构中走到非主频的另一个高峰,它将提升指令效能作为第一要务,首次在X86处理器中实现4路指令解码,这项设计令Core微架构展现出惊人的计算效率,并让Intel重新获得全方位的领先优势。在这以后,Core架构已经过两代改良,而且Intel将在2011年推出的Sandy Bridge,将会是它的第三代改良,在本质上,同第一代Core架构并没有什么不同。
与此构成鲜明对比的是,AMD现今的所有处理器,其实都还是沿用2003年推出的K8微架构,也许你会认为AMD在2007年发布了更新的K10架构,但K10只不过是K8的改良体,它的内核依然是K8体系—换言之,AMD的K8架构用到现在已经整整8年有余,这同处理器产品、制作工艺的快速更新换代构成了鲜明的对比。在AMD的规划中,它们本该在2007年时候推出新一代革命性的微架构,但出于种种缘由,它们最后只是搞出小修小补的K10,至所谓“革命性的新架构”则是年复一年一拖再拖,以至业界完全对此丧失了兴趣。好在AMD在这期间成功并购了ATI,通过图形技术来弥补自身不足,尤其是这两年随着图形领域的强势,AMD在整个计算平台市场上重新恢复强势地位,并在如消费级移动市场等许多领域都给Intel带来麻烦。
假如AMD要完全恢复与I nt el的对等竞争地位,推出新一代架构几乎是唯一的方法—Bulldozer和Bobcat架构的适时出台,便是这样的一个积极信号,针对桌面和服务器用户的Bulldozer,只要能够在现行K10处理器基础上提升20%的性能,就足以给Intel带来重大威胁;而针对超便携平台的Bobcat,在面对Atom时应该可以很轻易打出性能牌。
这种美好的期许是否会成为未来的现实?现在,就让我们深入地了解Bulldozer和Bobcat具有哪些特性。
Bulldozer:四路并行解码与多内核制胜
每个时钟周期能并发执行多少条指令,这个硬指标决定了CPU的指令效能—并发3条与并发4条的区别就是高达33%的性能差距。
四路并行解码
长期以来,我们都知道诸如ARM、PowerPC、MIPS等RISC架构的处理器,在指令性能上都远高于同时代的X86芯片,原因就在于RISC体系的指令系统是经过精简优化的,20%的常用指令具优先权,余下80%指令处于次级地位,那么在微架构的设计中,RISC芯片可以轻松做到4发射、也就是并发执行4条指令,而不会影响到频率的提升。与此形成鲜明的对,X86是一种复杂的原始指令,在过去的30年间它都只停留在3指令发射阶段,一旦提高到4指令发射就会严重影响到频率的提升。
Intel的Netburst和AMD的K8体系都是3指令发射,前者不幸拥有长流水线,导致指令效能十分低下。实际上Intel很快就意识到Netburst存在的问题,它让以色列的研发部门完成下一代架构“Merom”、也就是现在的Core架构的设计。
Core架构最大的特点就是从RISC中吸取营养,它对X86指令进行融合优化、使其变得精简——这样做固然耗费了一定的晶体管资源,但也让Core架构具备4指令发射的能力,也就是Core架构每周期能执行4条指令,而AMD同时期的K10依然只能每周期执行3条指令—这便是AMD处理器在过去数年中性能一直显著落后的关键原因。当然你也会注意到一点,Core架构的工作频率从奔腾4的3.6GHz大幅度降低,即便目前的32纳米工艺,最高峰也只是达到3.33GHz而已,这便是4发射设计的副产物。
如今,即将发布的Bul ldoz e r最令人兴奋的地方便在于,它也是一款4指令发射的X86处理器,AMD没有详细解释它是如何做到的,但我们不难猜测,对X86指令的优化仍是唯一的途径,换言之Bulldozer从IntelCore架构的设计中汲取了营养,这也是一条非常正确的道路。而只要具备4指令发射这要素,那么Bulldozer与Core的差距就不会是本质性的、顶多伯仲之间。所以任何对Bulldozer执行效率的担心都比较多余—显然,结合AMD在图形领域的优势,我们不难知道它将迎来K8时代后的第二次崛起。
独特的1.5核心设计
4路并行的指令,最终将被送入整数计算单元和浮点计算单元进行处理,整数计算性能体现CPU的事务处理能力高低,比如操作系统、应用软件、服务器程序的运行,都是由整数部分决定的;而图形处理、物理计算、视频编解码等应用涉及到浮点计算能力。
在过去,CPU是PC系统的中枢,整数性能与浮点性能同样重要,为此CPU内一般拥有相同的整数计算单元和浮点计算单元。但如你所见,今天的情况已经大不相同:GPU接管了大量的浮点运算,CPU的任务更多偏重于事务处理,也就是整数计算。Intel自身没有强大的GPU资源来辅助浮点计算,为了避免产品在竞争中处于不利地位,它不得不赋予CPU同样强大的浮点性能。而今天的AMD就不必如此,它的Radeon HD GPU擅长于浮点处理,除传统的3D渲染外,高清视频加速等重要的PC应用均由它接管,并且未来将具备越来越强的通用计算能力,并成为APU的一部分。既然如此,委实没有太大必要继续为CPU设计更多、更强大的浮点计算单元。这种思路在经济上也是非常合算的:浮点计算单元要占用的晶体管资源比整数单元大得多,如果将浮点单元作精简,那么节约出的资源就可以用于增强整数计算单元,而平台的浮点计算任务则主要依赖GPU来完成。那么,在晶体管总量、工作频率等要素均不变的前提下,整个平台的性能便可以获得显著的增长。
Bul ldozer架构便是这种思路的产物。我们在架构图中可以看出,Bul ldoz e r一个模块内拥有2个整数单元,这一点同双核心的Intel Core架构相似;但它却只有一个浮点计算单元,而非常规双核处理器的2个。单纯从运算单元的数量来看,Bulldozer一个模块只能算是1.5核而非双核,被精简的部分就是浮点单元。
通过图3、图4的对比,我们可以清晰地看到Bulldozer同K10架构(PhenomⅡ)的不同,除了具有四路指令解码外,Bulldozer微架构直接为1.5核设计,也就是它比K10架构多了一个整数单元。不过,K10的每个整数单元都是由6个ALU和各一个MUL、DIV运算器构成,且具有64KB的一级数据缓存;而Bulldozer中的整数单元,只包含4个ALU和一个MUL、DIV运算器,另外一级数据缓存的容量也削减到16KB。这其中你会注意到两件事:ALU数量减少,这意味着Bulldozer的单个整数单元实际性能弱于K10,但通过两个单元的合力,Bulldozer最终仍将取得明显的性能优势。其次,Bulldozer的一级数据缓存容量显著降低,AMD这么做的理由在于:4发射带来更高的指令效率,而不必一味依赖大的缓存;再者缓存所用的SRAM逻辑是晶体管耗用大户,降低缓存可以令芯片变得小规模化。AMD表示,Bulldozer模块内的第二个整数核心只需占用核心面积的12%尺寸,从芯片设计上讲这只会给整个内核增加5%的电路。因此,这种1.5核的特殊设计,并没有消耗比K10更多的晶体管资源,在同等条件下,Bulldozer架构处理器的制造成本,同样不会高于现行的Phenom Ⅱ,但是性能却可以有相当显著的提升。这一次,我们不得不说AMD干得漂亮,它仅凭借自身IC设计的高超技巧,就达成了提升处理器性能的目标。
我们接下来对比Bulldozer与K10的浮点单元设计。同样从图3、图4的对比中,你会惊奇地发现这两者的浮点单元设计几乎如出一辙,它们都具有两个MMX运算器和两个128位乘法累加单元(FMAC),结构也没有任何改变。
既然如此,我们就不必预期Bulldozer的浮点性能会有多大的增进,它唯一可以指望的就是Bulldozer架构处理器能有更高的工作频率。
1.5核设计的Bulldozer模块采用这样的协作机制:当涉及整数运算时,它是以传统双核处理器的模式进行的—解码指令被分配至两个整数核心,分别运算处理至完毕;这两个核心的协作则是通过共享的二级缓存进行的。而涉及浮点计算任务时,这两个核心其实共同分享着一个浮点单元,其中的两个128位FMAC单元既可以被每个核心单独使用,也可以合并组成一个256位FMAC单元。另外,为了获得最大程度的性能功耗比,Bulldozer架构还支持共享、专用单元之间的动态切换。
不论从哪一个角度来看,Bulldozer的设计都相当值得称道,假如我们将目光转移到图形领域,便会发现AMD在过去的两年,便是用小核心加多数量的做法成功地压倒对手,获得市场领先。现在,AMD打算在CPU领域重复这样的做法,尽管产品推出尚需时间,但我们推断Bulldozer大有希望成为又一代经典的微架构。
共享线程设计
超线程已经是CPU非常重要的功能,以至于Intel将是否具备超线程功能,作为高、中、低端产品线的划分依据,这也是Core i7/i5/i3的重要划分依据。Bulldozer架构同样支持多线程功能,AMD则宣称Bulldozer的特殊设计让它具有更出色的多线程能力。
AMD认为,Intel超线程技术的问题在于,当两个线程同时争抢一个内核资源时,很容易陷入困顿的情况,此时CPU性能不增反降。这在理论上看起来并没有错,但实践证明,Intel有足够多的技术手段解决这个问题,至少在这一代Core ix系列处理器中,它的超线程技术还是非常管用的。
那么,我们现在来看看Bulldozer的超线程技术有哪些不同。众所周知,当前的双核、四核和六核处理器事实上由单个处理器简单捆绑而成,这些处理器可以共享L2或L3高速缓存,通过缓存来交换数据,但内部的运算单元本身,却是相互隔离的—这好比就是一个个相互独立的房间,当你要走到另一间,就得首先走出房门、通过走廊,然后进入另一个房间才行。
而Bulldozer是基于集群化多线程架构,Cluster-BasedMulti-threading:CMT,也称多簇式多线程技术。它一个模块内部的两个整数单元和浮点单元是高度共享的,这些运算单元紧密地联系在一起,动态共享部分资源并协同处理两个线程。每一个模块都具备可以将一个大任务细分为多个并行任务的能力,这些线程处理方式可以按需要任意整合,不会对整个流水线的效能造成影响。
因此CMT技术的效能要高于传统的多线程方案。根据AMD介绍,单个“推土机模块”可以达到80%左右的多线程性能提升,而且所用的晶体管数目似乎并不比Intel的超线程技术更多。这样在多线程的模式中,Bulldozer在理论上确实会具有更高的效率。
不过,如果要让Bulldozer架构的潜力能够被充分释放,AMD就需要获得来自软件编程的支持,这主要涉及到操作系统—计算机运作时,操作系统总是与处理器密切协作,并负责管理线程与核心之间的关系。AMD透露它们正在与微软、开源软件社区进行积极的合作,以便软件开发者能够理解如何有效地调度Bulldozer的多个共享计算单元。我们不妨举例来说,如果一个程序的两个线程共享数据,也符合Bulldozer的二级缓存架构,那么在Bulldozer的同一个模块内执行就会具有很高的效率;反之,如果程序没有针对Bulldozer进行优化,或者线程间的独立性很强,那就无法发挥Bulldozer共享计算单元的优势了。AMD希望软件业的配合,能够充分发挥出Bulldozer的潜能,而系统本身也能够运作在更灵活的状态下。
在关于Bulldozer的线程讨论中,最有趣的莫过于传说中的“逆向超线程技术”、也就是所谓的Anti-HT。这项技术的理念相当新颖:即将处理器的多个核心虚拟为1个核心,类似于将工作频率提高1倍,由此获得单线程任务的飞速提升!这个传言一出现就获得大量的关注,因为现时80%以上的应用都还无法对多线程提供良好支持,基本都运行在单线程模式下,逆向超线程技术无疑能够大幅度提升CPU的实用表现。
遗憾的是,Anti-HT最后被证明是子虚乌有,AMD在会议上对此只字不提,而在关于Bulldozer的博客中,AMD产品经理John Fruehe作出了确定的回复:Bulldozer的一个线程只能运行于一个核心。
Intel的Turbo Boost睿频加速技术在Core i7/i5中发挥出巨大的作用,而在即将推出的Sandy Bridge家族中它们升级到了第二代。与此针锋相对,Bulldozer也将支持更强的Turbo Core动态加速功能,并且将作为全系列处理器都具有的标准特性。
Turbo Core技术最早在PhenomⅡ系列的六核心处理器中首度引入,它也是一种动态加速技术,在执行那些线程不敏感的应用时关闭部分核心,同时在功耗允许的范围内提升其他核心的电压与工作频率—但由于Phenom架构本身并没有对此作出专业设计,Turbo Core的应用就显得非常有限,灵活性远不如Intel的TurboBoost方案。
而在Bul ldozer架构中,每个模块的供电都是独立的,可以随时根据任务需要切断或者激活,这就赋予新一代Turbo Core更强大的能力。
AMD表示,在Bulldozer的TurboC o r e 模式下,处理器最高可获得500MHz的频率提升,从而大大加速单线程的应用。
第二代Tu rbo Cor e的来临,让Bulldozer拥有与竞争对手相同的技术特性,当然我们并不认为它能够完全超越Intel的Turbo Boost方案。
高度可扩展性在现行的K 1 0 体系中,HyperTranspor t总线就充当中枢神经的作用,这条总线将CPU与芯片组、CPU与其他CPU之间连接为一个有机的整体。
同样,在Bulldozer架构中,HyperTransport总线也具有这样的职能,AMD可以根据需要将任意多个模块整合在一枚芯片之内,或者让多枚芯片也通过Hypertransport总线连接为一个多路计算系统。这种高度模块化的设计能够加速芯片开发、提高产品灵活性—如果你再将目光转移到图形市场,便会发现AMD从RV700系列(Radeon HD 4000系列)以来的成功,便是得益于相似的灵活策略。
我们不妨来看看Bulldozer架构的几款产品方案,如代号为“英特拉格斯”(Interlagos)”的Opteron 6200服务器处理器将配备6个~8个模块,拥有12个~16个核心,它将取代现行8个~12个核心的Opteron 6100系列;代号为巴伦西亚的Opteron 4200系列则有3个~4个模块即6个~8个核心,它将取代4个~6个核心的Opteron 4100系列。这样新一代的Opteron的核心数量大约增加了33%,而AMD则表示整体性能增益在50%左右,这足以让它有能力应对Intel的下一代Xeon平台。
Bobcat与Fusion APU:超移动平台的重拳
Bulldozer架构针对服务器、桌面和传统的笔记本电脑市场,而Bobcat架构所针对的则是诸如上网本、类似iPAD的平板电脑、随身电脑等超移动领域,它的竞争对手便是Intel发展数代的Atom平台。
Atom实现超低能耗的秘诀就是采用顺序执行引擎,之前VIA在C3系列到C7系列处理器中也广泛使用类似技术,但这种设计让程序指令只能严格按照既有顺序运行,无法充分发挥硬件资源的效率,从而导致性能低下。只是相对于性能,超移动平台对功耗更敏感,Atom平台凭借功耗上的优异表现获得成功,并成为超移动市场的代名词。
Bobcat是AMD第一款针对超移动领域的产品,但它并没有沿用这种顺序执行架构,而是采用乱序执行引擎,集成了两个解码器(即双发射),也就是同时间只能解码两条指令,比K8/K10的3指令发射、Bulldozer的4指令发射都精简了不少,但如果与顺序执行设计相比,Bobcat仍然可以在指令效能方面占据优势。
Bobcat的流水线长度为13级,它拥有1个整数单元和1个浮点单元,并配备了32KB一级缓存和512KB二级缓存,完整支持ISA、SSE1/2/3、SSSE3指令集和虚拟化技术—这些技术指标看起来非常的眼熟,没错,Bobat其实就是K10架构的精简版,它的首要目标同样是低功耗、低成本,再次才考虑性能表现。AMD表示,单核心的Bocat功耗指标可降低到1W以下,能够以不到一半的核心面积就获得接近主流处理器的性能,这一点让人们颇为期待。
Bobcat能否顺利地击败Atom、获得超移动市场的认同,对于这一点我们并不怀疑。毫无疑问,Bocat的性能不太可能比Atom更糟,按照AMD的作风,Bocat更有可能在性能上取胜、但在功耗方面有所逊色,毕竟AMD从未在功耗方面获得优势地位。
Bocat并不会成为一枚单独的X86芯片,它只作为AMD Fusion APU融合处理器的子集。在9月初德国柏林的IFA会议上,AMD Fusion市场总监John Taylor公开展出了第一枚FusionAPU融合加速处理器芯片,标志着Fusion APU时代的到来。
该枚A P U 处理器代号为“Ontario”,主要面向上网本、嵌入式设备、平板机等超便携设备。Ontario的CPU部分便是前面介绍的BobcatX86内核,但分为单核心、双核心两个版本,另一部分则是衍生自RadeonHD 5000架构的DX11 GPU—CPU与GPU在逻辑层面上高度整合在一起。Ontario采用没有顶盖的(IHS)的“Socket FT1”封装,它是一种BGA形式、必须焊接在主板上而不会单独出售;芯片本体尺寸只有15×15毫米,核心面积不超过100平方毫米,当前样品的TDP热设计功耗只有9W,未来最低可降至5W的级别。
与Atom平台相比,Ontario无疑将在GPU部分占据优势,我们相信它可以轻松完成诸如1080P硬件加速这样的任务,图形能力方面,应付各种小游戏不在话下,这就会给Atom平台带来不小的压力。
除Ontario以外,AMD还计划发布代号“Zacate”的高性能版APU处理器,它主要面向入门级台式机、超轻薄笔记本、一体机等等,热设计功耗单核心18W、双核心25W,同样也采用BGA封装。CPU内核能还是继续采用Bocat。在IFA会议上,AMD展出一套基于“Zacate”平台的演示系统,该系统可以流畅地硬解全高清视频和《City of Heroes》游戏,顺利开启IE9硬件加速,而相当值得称道的是它的功耗表现:运行3D游戏或者蓝光高清视频几分钟后,在简单散热器辅助下CPU的温度只有25℃~30℃,仅仅比环境温度高出几度。
统一品牌,AMD的涅磐
在并购ATI四年之后,AMD终于完美地掌控CPU资源和图形资源,成为唯一一家拥有全平台的半导体厂商。现在,ATI的品牌也终告淡出,GPU统一到AMD的旗帜下,这无疑将进一步加强AMD的品牌影响力。
如你所见,虽然NVIDIA Fermi在图形领域来势汹汹,并且成为通用计算的绝对主导,但AMD Radeon HD 5000系列凭借出色的性能和价格优势早已在PC领域建立主导地位,并且AMD将在年内推出代号“Southern Islands”的新一代改良型GPU产品。
NVIDIA当然不怎么畏惧AMD的新产品,但AMD的GPU却给Intel带来了大麻烦。Intel自身的图形技术非常初级,仅能满足基础的应用需要,同时Intel又担忧NVIDIA可能挑战它的强势地位,双方关系向来不睦—现在,Intel要真正面对麻烦:Bulldozer架构完全可与自身的Core架构匹敌,AMD依靠核心数量优势来制胜的方法极有威胁,Intel已不可能继续保有像目前一样的绝对优势。但另一方面,AMD在GPU领域拥有压倒性的优势,这种平台一体化的影响力宛如当年的“迅驰”—无论终端用户还是OEM制造商,都更喜欢成套的解决方案。对于Intel来说,或许除了与宿敌NVIDIA结盟外,它并没有更好的办法。
尽管如此,Intel的Sandy Bridge仍将是一个相当强劲的对手。Sandy Bridge的CPU内核在Nehalem基础上作进一步改良,指令效能获得进一步的提升。其次,Sandy Bridge的GPU核心与CPU直接整合在一枚芯片中,构成真正意义上的融合处理器。更重要的是,Sandy Bridge的GPU内核也经过显著改良,一举扭转整合图形性能低下的局面。在实际测试中,Sandy Bridge在相同频率、维持近似功耗的条件下,其处理器性能比现行产品提升了10%左右—这样的幅度是相当可观的。而图形性能更是比目前的Core i5提升了一倍、在绝大多数项目中都击败了AMD Radeon HD 5450独立显卡,这样的成绩令业界感到震惊!
不管怎么说,我们相信AMD不会对这一点感到畏惧,它手里拥有足够好的图形技术,推出优于Sandy Bridge的整合芯片方案应该没有太大困难,结合Bulldozer架构带来的性能增益,AMD将会有望再度恢复与Intel的对等竞争地位,那么接下来你就会看到这两家厂商的价格战。
而在超移动市场, Fusion APU融合处理器将绽放威力,AMD这一次变得很有进取心,现在你将看到它会进入这个全新的领域、给消费者带来更多的选择。
……
8月24日,美国加州帕洛阿尔托市举行了第22届Hot Chips高性能芯片会议,AMD的总设计师Mike Butler和Brad Burgess均出席会议,他们详细披露了新一代微架构的“推土机”(Bulldozer)、“山猫”(Bobcat)的大量技术细节,并宣布AMD将于下一个年度推出相关产品,这也标志着AMD从此进入到一个新的起点。
微架构:CPU的基石
微架构是处理器平台的基础,所谓微架构,实际上是指CPU处理指令的模式,比如指令的预取、解码、预测、执行,整数单元、浮点单元的设计,核心与核心之间的协同耦合等等。这些要素构成微处理器的基础,一旦确立就不会再作大的改动,而只是在半导体生产工艺、缓存设计方面下功夫。
由于微架构决定了处理器的工作方式,它直接决定了处理器的特性,包括性能极限、功耗、制作成本等要素,假如微架构设计糟糕,那么即便生产工艺如何先进、缓存如何巨量,都于事无补——前车之鉴就是Intel饱受诟病的Netburst、也就是Pentium 4体系。相反,如果微架构十分优秀,那么较少的缓存、落后的制作工艺,都可以有表现更好的产品—比如与Pentium 4同时代的AMD处理器。
或许也是受到Netburst刺激,Intel在代号为“Merom”的Core架构中走到非主频的另一个高峰,它将提升指令效能作为第一要务,首次在X86处理器中实现4路指令解码,这项设计令Core微架构展现出惊人的计算效率,并让Intel重新获得全方位的领先优势。在这以后,Core架构已经过两代改良,而且Intel将在2011年推出的Sandy Bridge,将会是它的第三代改良,在本质上,同第一代Core架构并没有什么不同。
与此构成鲜明对比的是,AMD现今的所有处理器,其实都还是沿用2003年推出的K8微架构,也许你会认为AMD在2007年发布了更新的K10架构,但K10只不过是K8的改良体,它的内核依然是K8体系—换言之,AMD的K8架构用到现在已经整整8年有余,这同处理器产品、制作工艺的快速更新换代构成了鲜明的对比。在AMD的规划中,它们本该在2007年时候推出新一代革命性的微架构,但出于种种缘由,它们最后只是搞出小修小补的K10,至所谓“革命性的新架构”则是年复一年一拖再拖,以至业界完全对此丧失了兴趣。好在AMD在这期间成功并购了ATI,通过图形技术来弥补自身不足,尤其是这两年随着图形领域的强势,AMD在整个计算平台市场上重新恢复强势地位,并在如消费级移动市场等许多领域都给Intel带来麻烦。
假如AMD要完全恢复与I nt el的对等竞争地位,推出新一代架构几乎是唯一的方法—Bulldozer和Bobcat架构的适时出台,便是这样的一个积极信号,针对桌面和服务器用户的Bulldozer,只要能够在现行K10处理器基础上提升20%的性能,就足以给Intel带来重大威胁;而针对超便携平台的Bobcat,在面对Atom时应该可以很轻易打出性能牌。
这种美好的期许是否会成为未来的现实?现在,就让我们深入地了解Bulldozer和Bobcat具有哪些特性。
Bulldozer:四路并行解码与多内核制胜
每个时钟周期能并发执行多少条指令,这个硬指标决定了CPU的指令效能—并发3条与并发4条的区别就是高达33%的性能差距。
四路并行解码
长期以来,我们都知道诸如ARM、PowerPC、MIPS等RISC架构的处理器,在指令性能上都远高于同时代的X86芯片,原因就在于RISC体系的指令系统是经过精简优化的,20%的常用指令具优先权,余下80%指令处于次级地位,那么在微架构的设计中,RISC芯片可以轻松做到4发射、也就是并发执行4条指令,而不会影响到频率的提升。与此形成鲜明的对,X86是一种复杂的原始指令,在过去的30年间它都只停留在3指令发射阶段,一旦提高到4指令发射就会严重影响到频率的提升。
Intel的Netburst和AMD的K8体系都是3指令发射,前者不幸拥有长流水线,导致指令效能十分低下。实际上Intel很快就意识到Netburst存在的问题,它让以色列的研发部门完成下一代架构“Merom”、也就是现在的Core架构的设计。
Core架构最大的特点就是从RISC中吸取营养,它对X86指令进行融合优化、使其变得精简——这样做固然耗费了一定的晶体管资源,但也让Core架构具备4指令发射的能力,也就是Core架构每周期能执行4条指令,而AMD同时期的K10依然只能每周期执行3条指令—这便是AMD处理器在过去数年中性能一直显著落后的关键原因。当然你也会注意到一点,Core架构的工作频率从奔腾4的3.6GHz大幅度降低,即便目前的32纳米工艺,最高峰也只是达到3.33GHz而已,这便是4发射设计的副产物。
如今,即将发布的Bul ldoz e r最令人兴奋的地方便在于,它也是一款4指令发射的X86处理器,AMD没有详细解释它是如何做到的,但我们不难猜测,对X86指令的优化仍是唯一的途径,换言之Bulldozer从IntelCore架构的设计中汲取了营养,这也是一条非常正确的道路。而只要具备4指令发射这要素,那么Bulldozer与Core的差距就不会是本质性的、顶多伯仲之间。所以任何对Bulldozer执行效率的担心都比较多余—显然,结合AMD在图形领域的优势,我们不难知道它将迎来K8时代后的第二次崛起。
独特的1.5核心设计
4路并行的指令,最终将被送入整数计算单元和浮点计算单元进行处理,整数计算性能体现CPU的事务处理能力高低,比如操作系统、应用软件、服务器程序的运行,都是由整数部分决定的;而图形处理、物理计算、视频编解码等应用涉及到浮点计算能力。
在过去,CPU是PC系统的中枢,整数性能与浮点性能同样重要,为此CPU内一般拥有相同的整数计算单元和浮点计算单元。但如你所见,今天的情况已经大不相同:GPU接管了大量的浮点运算,CPU的任务更多偏重于事务处理,也就是整数计算。Intel自身没有强大的GPU资源来辅助浮点计算,为了避免产品在竞争中处于不利地位,它不得不赋予CPU同样强大的浮点性能。而今天的AMD就不必如此,它的Radeon HD GPU擅长于浮点处理,除传统的3D渲染外,高清视频加速等重要的PC应用均由它接管,并且未来将具备越来越强的通用计算能力,并成为APU的一部分。既然如此,委实没有太大必要继续为CPU设计更多、更强大的浮点计算单元。这种思路在经济上也是非常合算的:浮点计算单元要占用的晶体管资源比整数单元大得多,如果将浮点单元作精简,那么节约出的资源就可以用于增强整数计算单元,而平台的浮点计算任务则主要依赖GPU来完成。那么,在晶体管总量、工作频率等要素均不变的前提下,整个平台的性能便可以获得显著的增长。
Bul ldozer架构便是这种思路的产物。我们在架构图中可以看出,Bul ldoz e r一个模块内拥有2个整数单元,这一点同双核心的Intel Core架构相似;但它却只有一个浮点计算单元,而非常规双核处理器的2个。单纯从运算单元的数量来看,Bulldozer一个模块只能算是1.5核而非双核,被精简的部分就是浮点单元。
通过图3、图4的对比,我们可以清晰地看到Bulldozer同K10架构(PhenomⅡ)的不同,除了具有四路指令解码外,Bulldozer微架构直接为1.5核设计,也就是它比K10架构多了一个整数单元。不过,K10的每个整数单元都是由6个ALU和各一个MUL、DIV运算器构成,且具有64KB的一级数据缓存;而Bulldozer中的整数单元,只包含4个ALU和一个MUL、DIV运算器,另外一级数据缓存的容量也削减到16KB。这其中你会注意到两件事:ALU数量减少,这意味着Bulldozer的单个整数单元实际性能弱于K10,但通过两个单元的合力,Bulldozer最终仍将取得明显的性能优势。其次,Bulldozer的一级数据缓存容量显著降低,AMD这么做的理由在于:4发射带来更高的指令效率,而不必一味依赖大的缓存;再者缓存所用的SRAM逻辑是晶体管耗用大户,降低缓存可以令芯片变得小规模化。AMD表示,Bulldozer模块内的第二个整数核心只需占用核心面积的12%尺寸,从芯片设计上讲这只会给整个内核增加5%的电路。因此,这种1.5核的特殊设计,并没有消耗比K10更多的晶体管资源,在同等条件下,Bulldozer架构处理器的制造成本,同样不会高于现行的Phenom Ⅱ,但是性能却可以有相当显著的提升。这一次,我们不得不说AMD干得漂亮,它仅凭借自身IC设计的高超技巧,就达成了提升处理器性能的目标。
我们接下来对比Bulldozer与K10的浮点单元设计。同样从图3、图4的对比中,你会惊奇地发现这两者的浮点单元设计几乎如出一辙,它们都具有两个MMX运算器和两个128位乘法累加单元(FMAC),结构也没有任何改变。
既然如此,我们就不必预期Bulldozer的浮点性能会有多大的增进,它唯一可以指望的就是Bulldozer架构处理器能有更高的工作频率。
1.5核设计的Bulldozer模块采用这样的协作机制:当涉及整数运算时,它是以传统双核处理器的模式进行的—解码指令被分配至两个整数核心,分别运算处理至完毕;这两个核心的协作则是通过共享的二级缓存进行的。而涉及浮点计算任务时,这两个核心其实共同分享着一个浮点单元,其中的两个128位FMAC单元既可以被每个核心单独使用,也可以合并组成一个256位FMAC单元。另外,为了获得最大程度的性能功耗比,Bulldozer架构还支持共享、专用单元之间的动态切换。
不论从哪一个角度来看,Bulldozer的设计都相当值得称道,假如我们将目光转移到图形领域,便会发现AMD在过去的两年,便是用小核心加多数量的做法成功地压倒对手,获得市场领先。现在,AMD打算在CPU领域重复这样的做法,尽管产品推出尚需时间,但我们推断Bulldozer大有希望成为又一代经典的微架构。
共享线程设计
超线程已经是CPU非常重要的功能,以至于Intel将是否具备超线程功能,作为高、中、低端产品线的划分依据,这也是Core i7/i5/i3的重要划分依据。Bulldozer架构同样支持多线程功能,AMD则宣称Bulldozer的特殊设计让它具有更出色的多线程能力。
AMD认为,Intel超线程技术的问题在于,当两个线程同时争抢一个内核资源时,很容易陷入困顿的情况,此时CPU性能不增反降。这在理论上看起来并没有错,但实践证明,Intel有足够多的技术手段解决这个问题,至少在这一代Core ix系列处理器中,它的超线程技术还是非常管用的。
那么,我们现在来看看Bulldozer的超线程技术有哪些不同。众所周知,当前的双核、四核和六核处理器事实上由单个处理器简单捆绑而成,这些处理器可以共享L2或L3高速缓存,通过缓存来交换数据,但内部的运算单元本身,却是相互隔离的—这好比就是一个个相互独立的房间,当你要走到另一间,就得首先走出房门、通过走廊,然后进入另一个房间才行。
而Bulldozer是基于集群化多线程架构,Cluster-BasedMulti-threading:CMT,也称多簇式多线程技术。它一个模块内部的两个整数单元和浮点单元是高度共享的,这些运算单元紧密地联系在一起,动态共享部分资源并协同处理两个线程。每一个模块都具备可以将一个大任务细分为多个并行任务的能力,这些线程处理方式可以按需要任意整合,不会对整个流水线的效能造成影响。
因此CMT技术的效能要高于传统的多线程方案。根据AMD介绍,单个“推土机模块”可以达到80%左右的多线程性能提升,而且所用的晶体管数目似乎并不比Intel的超线程技术更多。这样在多线程的模式中,Bulldozer在理论上确实会具有更高的效率。
不过,如果要让Bulldozer架构的潜力能够被充分释放,AMD就需要获得来自软件编程的支持,这主要涉及到操作系统—计算机运作时,操作系统总是与处理器密切协作,并负责管理线程与核心之间的关系。AMD透露它们正在与微软、开源软件社区进行积极的合作,以便软件开发者能够理解如何有效地调度Bulldozer的多个共享计算单元。我们不妨举例来说,如果一个程序的两个线程共享数据,也符合Bulldozer的二级缓存架构,那么在Bulldozer的同一个模块内执行就会具有很高的效率;反之,如果程序没有针对Bulldozer进行优化,或者线程间的独立性很强,那就无法发挥Bulldozer共享计算单元的优势了。AMD希望软件业的配合,能够充分发挥出Bulldozer的潜能,而系统本身也能够运作在更灵活的状态下。
在关于Bulldozer的线程讨论中,最有趣的莫过于传说中的“逆向超线程技术”、也就是所谓的Anti-HT。这项技术的理念相当新颖:即将处理器的多个核心虚拟为1个核心,类似于将工作频率提高1倍,由此获得单线程任务的飞速提升!这个传言一出现就获得大量的关注,因为现时80%以上的应用都还无法对多线程提供良好支持,基本都运行在单线程模式下,逆向超线程技术无疑能够大幅度提升CPU的实用表现。
遗憾的是,Anti-HT最后被证明是子虚乌有,AMD在会议上对此只字不提,而在关于Bulldozer的博客中,AMD产品经理John Fruehe作出了确定的回复:Bulldozer的一个线程只能运行于一个核心。
Intel的Turbo Boost睿频加速技术在Core i7/i5中发挥出巨大的作用,而在即将推出的Sandy Bridge家族中它们升级到了第二代。与此针锋相对,Bulldozer也将支持更强的Turbo Core动态加速功能,并且将作为全系列处理器都具有的标准特性。
Turbo Core技术最早在PhenomⅡ系列的六核心处理器中首度引入,它也是一种动态加速技术,在执行那些线程不敏感的应用时关闭部分核心,同时在功耗允许的范围内提升其他核心的电压与工作频率—但由于Phenom架构本身并没有对此作出专业设计,Turbo Core的应用就显得非常有限,灵活性远不如Intel的TurboBoost方案。
而在Bul ldozer架构中,每个模块的供电都是独立的,可以随时根据任务需要切断或者激活,这就赋予新一代Turbo Core更强大的能力。
AMD表示,在Bulldozer的TurboC o r e 模式下,处理器最高可获得500MHz的频率提升,从而大大加速单线程的应用。
第二代Tu rbo Cor e的来临,让Bulldozer拥有与竞争对手相同的技术特性,当然我们并不认为它能够完全超越Intel的Turbo Boost方案。
高度可扩展性在现行的K 1 0 体系中,HyperTranspor t总线就充当中枢神经的作用,这条总线将CPU与芯片组、CPU与其他CPU之间连接为一个有机的整体。
同样,在Bulldozer架构中,HyperTransport总线也具有这样的职能,AMD可以根据需要将任意多个模块整合在一枚芯片之内,或者让多枚芯片也通过Hypertransport总线连接为一个多路计算系统。这种高度模块化的设计能够加速芯片开发、提高产品灵活性—如果你再将目光转移到图形市场,便会发现AMD从RV700系列(Radeon HD 4000系列)以来的成功,便是得益于相似的灵活策略。
我们不妨来看看Bulldozer架构的几款产品方案,如代号为“英特拉格斯”(Interlagos)”的Opteron 6200服务器处理器将配备6个~8个模块,拥有12个~16个核心,它将取代现行8个~12个核心的Opteron 6100系列;代号为巴伦西亚的Opteron 4200系列则有3个~4个模块即6个~8个核心,它将取代4个~6个核心的Opteron 4100系列。这样新一代的Opteron的核心数量大约增加了33%,而AMD则表示整体性能增益在50%左右,这足以让它有能力应对Intel的下一代Xeon平台。
Bobcat与Fusion APU:超移动平台的重拳
Bulldozer架构针对服务器、桌面和传统的笔记本电脑市场,而Bobcat架构所针对的则是诸如上网本、类似iPAD的平板电脑、随身电脑等超移动领域,它的竞争对手便是Intel发展数代的Atom平台。
Atom实现超低能耗的秘诀就是采用顺序执行引擎,之前VIA在C3系列到C7系列处理器中也广泛使用类似技术,但这种设计让程序指令只能严格按照既有顺序运行,无法充分发挥硬件资源的效率,从而导致性能低下。只是相对于性能,超移动平台对功耗更敏感,Atom平台凭借功耗上的优异表现获得成功,并成为超移动市场的代名词。
Bobcat是AMD第一款针对超移动领域的产品,但它并没有沿用这种顺序执行架构,而是采用乱序执行引擎,集成了两个解码器(即双发射),也就是同时间只能解码两条指令,比K8/K10的3指令发射、Bulldozer的4指令发射都精简了不少,但如果与顺序执行设计相比,Bobcat仍然可以在指令效能方面占据优势。
Bobcat的流水线长度为13级,它拥有1个整数单元和1个浮点单元,并配备了32KB一级缓存和512KB二级缓存,完整支持ISA、SSE1/2/3、SSSE3指令集和虚拟化技术—这些技术指标看起来非常的眼熟,没错,Bobat其实就是K10架构的精简版,它的首要目标同样是低功耗、低成本,再次才考虑性能表现。AMD表示,单核心的Bocat功耗指标可降低到1W以下,能够以不到一半的核心面积就获得接近主流处理器的性能,这一点让人们颇为期待。
Bobcat能否顺利地击败Atom、获得超移动市场的认同,对于这一点我们并不怀疑。毫无疑问,Bocat的性能不太可能比Atom更糟,按照AMD的作风,Bocat更有可能在性能上取胜、但在功耗方面有所逊色,毕竟AMD从未在功耗方面获得优势地位。
Bocat并不会成为一枚单独的X86芯片,它只作为AMD Fusion APU融合处理器的子集。在9月初德国柏林的IFA会议上,AMD Fusion市场总监John Taylor公开展出了第一枚FusionAPU融合加速处理器芯片,标志着Fusion APU时代的到来。
该枚A P U 处理器代号为“Ontario”,主要面向上网本、嵌入式设备、平板机等超便携设备。Ontario的CPU部分便是前面介绍的BobcatX86内核,但分为单核心、双核心两个版本,另一部分则是衍生自RadeonHD 5000架构的DX11 GPU—CPU与GPU在逻辑层面上高度整合在一起。Ontario采用没有顶盖的(IHS)的“Socket FT1”封装,它是一种BGA形式、必须焊接在主板上而不会单独出售;芯片本体尺寸只有15×15毫米,核心面积不超过100平方毫米,当前样品的TDP热设计功耗只有9W,未来最低可降至5W的级别。
与Atom平台相比,Ontario无疑将在GPU部分占据优势,我们相信它可以轻松完成诸如1080P硬件加速这样的任务,图形能力方面,应付各种小游戏不在话下,这就会给Atom平台带来不小的压力。
除Ontario以外,AMD还计划发布代号“Zacate”的高性能版APU处理器,它主要面向入门级台式机、超轻薄笔记本、一体机等等,热设计功耗单核心18W、双核心25W,同样也采用BGA封装。CPU内核能还是继续采用Bocat。在IFA会议上,AMD展出一套基于“Zacate”平台的演示系统,该系统可以流畅地硬解全高清视频和《City of Heroes》游戏,顺利开启IE9硬件加速,而相当值得称道的是它的功耗表现:运行3D游戏或者蓝光高清视频几分钟后,在简单散热器辅助下CPU的温度只有25℃~30℃,仅仅比环境温度高出几度。
统一品牌,AMD的涅磐
在并购ATI四年之后,AMD终于完美地掌控CPU资源和图形资源,成为唯一一家拥有全平台的半导体厂商。现在,ATI的品牌也终告淡出,GPU统一到AMD的旗帜下,这无疑将进一步加强AMD的品牌影响力。
如你所见,虽然NVIDIA Fermi在图形领域来势汹汹,并且成为通用计算的绝对主导,但AMD Radeon HD 5000系列凭借出色的性能和价格优势早已在PC领域建立主导地位,并且AMD将在年内推出代号“Southern Islands”的新一代改良型GPU产品。
NVIDIA当然不怎么畏惧AMD的新产品,但AMD的GPU却给Intel带来了大麻烦。Intel自身的图形技术非常初级,仅能满足基础的应用需要,同时Intel又担忧NVIDIA可能挑战它的强势地位,双方关系向来不睦—现在,Intel要真正面对麻烦:Bulldozer架构完全可与自身的Core架构匹敌,AMD依靠核心数量优势来制胜的方法极有威胁,Intel已不可能继续保有像目前一样的绝对优势。但另一方面,AMD在GPU领域拥有压倒性的优势,这种平台一体化的影响力宛如当年的“迅驰”—无论终端用户还是OEM制造商,都更喜欢成套的解决方案。对于Intel来说,或许除了与宿敌NVIDIA结盟外,它并没有更好的办法。
尽管如此,Intel的Sandy Bridge仍将是一个相当强劲的对手。Sandy Bridge的CPU内核在Nehalem基础上作进一步改良,指令效能获得进一步的提升。其次,Sandy Bridge的GPU核心与CPU直接整合在一枚芯片中,构成真正意义上的融合处理器。更重要的是,Sandy Bridge的GPU内核也经过显著改良,一举扭转整合图形性能低下的局面。在实际测试中,Sandy Bridge在相同频率、维持近似功耗的条件下,其处理器性能比现行产品提升了10%左右—这样的幅度是相当可观的。而图形性能更是比目前的Core i5提升了一倍、在绝大多数项目中都击败了AMD Radeon HD 5450独立显卡,这样的成绩令业界感到震惊!
不管怎么说,我们相信AMD不会对这一点感到畏惧,它手里拥有足够好的图形技术,推出优于Sandy Bridge的整合芯片方案应该没有太大困难,结合Bulldozer架构带来的性能增益,AMD将会有望再度恢复与Intel的对等竞争地位,那么接下来你就会看到这两家厂商的价格战。
而在超移动市场, Fusion APU融合处理器将绽放威力,AMD这一次变得很有进取心,现在你将看到它会进入这个全新的领域、给消费者带来更多的选择。
