帝国反击战开演 AMD新一代Barcelona处理器问世

时间:2022-10-03 03:55:33

随着竞争的加剧以及产品更新换代和市场发展的需求,处理器厂商只有在创新的路上向前迈进,才能保住自己之前积累起来的优势,而这次AMD经过4年多的不懈努力,终于迎来了自己的一个重要历史时刻:2007年9月10日,全球同步吹响了新一代Barcelona处理器上市的号角……

真假四核的较量

首先需要明确的是,这次Barcelona处理器的问世标志着AMD处理器正式迈入“四核时代”,而且AMD还希望借这款产品让用户了解到“ 真四核” 的魅力。其实早在AMD当年推出双核处理器的时候,就曾和Intel有过关于真假双核的争论,相信随着K10架构的四核产品问世,两大处理器厂商关于真假四核的争论还将进一步热化。

从右侧AMD公布的一张关于新产品的示意图来看:它直接在上面标注了四个Smarter特性,显示出全新K10处理器在四个方面的优势,真可谓别出心裁。因为此前AMD就以Smarter Choice的口号,宣称它们的产品是从用户体验角度出发,面向消费者的价值理念,同时指出竞争对手的四核产品还停留在拼接四核的状态,一场口水战在所难免。

AMD全新K10架构揭秘

作为AMD下一代的处理器架构,K10还在孕育期时就受到各方的关注。K1 0 也就是之前所说的K8L, 是AMD现有K8架构产品的继任者(没有K9),不仅在架构上有所改进,而且将四核心引入桌面,因此AMD官方声个称其K10架构处理器具备一系列“革命性设计”,下面就让我们一起去感受这几大新特性:

真“芯”四核

Barcelona作为AMD的第一款四核处理器,它不像Intel四核Kentsfield由两个双核Die拼接而成,这也是为什么AMD把它称为真“芯”四核的原因。同时在工艺方面,它采用了65nm工艺,较之前的K8在制造设计上要复杂很多,Barcelona需要总共11层金属层,而K8则为9层、Core2 Duo也只有8层,更多的金属层会增加制造方面复杂程度,但是对终端消费者没有产生太大的影响。

在具备四个核心和2MBL3 cache后,Barcelona总共拥有463M个晶体管。每个B a r c e l o n a 核心具备128KB L1 cache和512KBL2 cache,再对四核共享的2MB L3 cache进行一下分割, 算起来核心总共有4.5MB cache。

但是,Barcelona又不是简单的带L3 cache的四核Athlon64。我们可以计算一下它们的晶体管数目,除去cache的晶体管,一个双核Athlon64X2晶体管数目大概在94M,而Bar c e lona则在247M,即使双核Athlon64 X2双倍一下也达不到Barcelona的水平,而且简单的双倍计算也不是非常准确,因为Barcelona只有一个Northbridge设计,所以多出的60M晶体管是由于架构改进后的结果。

全新的SSE128规格

每一代CPU性能的提升,最大的根源都源自架构方面有巨大的调整。从下表中对比K8架构,Barcelona可以说是加强了很多,规格几乎都是成倍的增长:首先是SSE指令执行位宽,现在被AMD称为SSE128。在K8架构处理器中,两个SSE指令是并行处理的,SSE执行单元只有64-bit宽度,一个128-bit SSE指令操作,它不得不分割成两个64-bit指令操作,同样的一个128-bit SSE指令被获取后,它被首先解码成两个微操作,这会给这个指令带来多余的解码部分,效率上可想而知。

另外,SSE指令执行性能提升后也带来了另外一个瓶颈:指令获取带宽。这些128-bit SSE指令变得更大,同时为了最大化并行处理的解码数量,每周期32-bytes的带宽可以很好的解决这个问题。32-bytes的指令获取除了可以带来SSE代码带来好处外,同时也给整数代码带来了好处。

此外,上述设计可以让CPU获取更多指令的同时,还需要考虑到把更多的数据传到核心中去处理,因此AMD也进一步提高了L1 datacache和SSE寄存器之间的带宽,现在Barce l o n a 可以实现2 ×128-bit loads/cycle的性能, 同时L 2cache和内存控制器的接口也被提升到128-bits/cycle后,总体上平衡了上述性能瓶颈,这些改进被AMD统一命名为“宽浮点加速器”。

CPU核心架构优化调整

另外,Barcelona在核心调整方面还有非常多的加强设计:首先从分支预测开始,CPU分支预测器的准确程度取决于设计的宽度和深度,同时决定了多少指令可以快速控制执行单元的运行。在最新的Barcelona处理器中追加了512输入非直接分支预测器,用来预测非直接分支。一个非直接性分支跳转的目的是跳转到存储器中的地址指向,换句话说,一个分支有几个目标,而一个非直接分支发送CPU到存储器的地址,其中包含了指令需要被分支到的地址。

非直接预测器并不是Barcelona唯一的性能提升亮点,还有回归堆栈大小也较K8有双倍大小的改进,举个例子,在一个很长的命令条中,命令代码包括了很多子程序,CPU实际上会用完所有空间来纪录它的路径,一旦丢失回归地址的路径,就会导致无法进行下一步的分支预测。而分析双倍大小的设计正好是为了解决这个问题,据说这个改进是在收到一个大型软件公司的请求后确定的。

全新的内存控制器和预取器

众所周知,AMD在K8上的成功,很大程度上是大胆的采用了集成内存控制器的做法,有鉴于此,在这次的Barcelona处理器中它的性能又进一步得到加强。

在Intel Xeon服务器的FBDIMM内存架构中,可以同时执行读和写命令到AMB;而在标准的DDR2内存中,却只能同时进行一个操作,而且读和写的切换会有非常大的损失。如果是一连串的随机混合执行的话,将会带来非常严重的资源浪费,而如果是先全部读,然后再转换到写的话,就可以避免性能的损失。K8内存控制器就采用读取优先于写的策略来提高运行效率,但是Barcelona则更加智能化:读取的数据会被先存放在buffer中,而不采用先直接执行写。当它的容量达到了极限就会溢出,为了避免这种情况,在此之前对读写之间进行切换,同时可以带来带宽和延迟方面效率的提高。

另外,K8核心配备的是128-bit宽度的单内存控制器,但是在K10架构中,AMD把它分割成两个64-bit,每个控制器可以独立的进行操作,因 此它可以带来效率上的不小提升,尤其是在四核执行的环境下,每个核心可以独立占有内存访问资源。同时,Barcelonas中集成的北桥部分(注意不是主板北桥)也被设计成更高的带宽,更深的buffers会带来更高的带宽利用率,同时北桥自身已经为未来的内存技术做好准备, 如最新的DDR3内存技术。

至于预取方面,在很多领域都有广泛采用, 当年N V I D I A nForce2芯片组的时候就强调过智能预取的能力,而在当前主流的Intel-Core 2 Duo处理器中,则重点强调每个核心的三预取器(prefetchers)可以明显减少内存的延迟。而之前的K8架构每个核心拥有两个预取器,一个是指令,另一个是数据,Barcelona核心仍然保留同样的数目,但是对它们进行了加强,最大的改变是数据预取器,现在可以把数据传到L1数据Cache中,而不是K8核心的L2 Cache。AMD认识到K8预取器的先进性,所以他们只做了上面的处理,同时AMD也提升了L1指令缓存的灵活性,从而配合这两个高效请求的工作。

独特的三级Cache设计

限于工艺,AMD不可能像Intel那样通过采用更多的晶体管的策略进行竞争,K8通过内存控制器来实现了这个弱势的超越,所以Athlon64X2处理器每个核心只有512KB L2cache就够了。现在Intel的Core 2Duo已经提到了4MB L2 cache,而Barcelona每个核心仍只会有512KBL2 cache,总计2MB,而Intel的四核Kentsfield总共拥有8MB L2 cache。考虑到多线程软件对多核心的要求也需要更高速的缓存来保持更好的性能,为了在性能和容量上进行平衡,AMD在设计了128KB L1Cache和512KB L2 Cache后,并不想通过采用更大容量L2 Cache的做法,取而代之的则是追加了一个第三级的Cache(L3 cache),而且这个L3 cache将被四核心所共享,在容量上也达到了2MB。

虚拟技术进一步加强

同时在虚拟技术方面,Barcelona也有了相应的改进,拥有了更快的虚拟地址转换。在拥有了多个客户OS的虚拟软件堆栈中,当有一个内存地址转换必须处理,客户OS就向系统管理程序的地址转换,由于每个客户OS拥有独立的内存管理,据AMD声称,目前这个转换是通过软件来实现的, 并且是基于一个叫shadow paging的技术,而Barcelona提供的是硬件加速转换,AMD把它称为Nested Paging。根据推算大约系统管理程序所消耗的75%的时间是用于shadow paging,转换的地址是在Barcelonas TLBs中被缓存的,而且AMD指出Nested Paging并不需要太复杂的设定,这对于软件开发商来说就变得非常简单。

功耗管理体现真四核魅力

功耗永远是和性能放在一起讨论的,尤其是对于那些服务器系统,只要一开机使用,就不会有再停机的时候,除非出现物理损害故障,所以如果处理器更节能、更高效,赢得的可是可观的社会和环境资源。在这方面,此前的Intel四核处理器的功耗非常高,而且由两个双核拼接成的四核在这方面不可能有更多的优化考虑。而这次为了控制功耗,Barcelona的功耗管理很复杂,首先是它的CoolCore技术,它可以在一些逻辑块不工作时关闭掉相应逻辑块来实现全方位的节能,其中包括Ex、FPU单元、核心相应部分以及内存控制器等等,可以说如果系统处于空载状态下,真不知道它的表现会怎么样,而且这个技术是自动的,不需要任何的驱动就可以实现。

除此之外,就是另外一个创新:双动态功耗管理技术,此前的K8结构采用的是统一的功耗管理,这样核心和内存控制器将采用同一个功耗管理机制,而Barcelona的双动态功耗管理技术则可以独立管理,这样的好处是可以更独立科学的管理实际使用情况,同时还可以让内存控制器工作在更高的频率下来提升带宽和性能。Barcelona各个独立的核心虽然共享同样的电压,但是每个核心都拥有自己的PLL电路,所以它们可以根据负载情况运行在不同的频率下,这样的好处是可以更有效的利用资源,同时还不造成浪费。

再有,65nm工艺的采用让AMD首款Barcelona四核Opteron的功耗表现可以和之前的K8双核Opteron相当,有此种表现确实出色,单从功耗这方面就可以认定,Barcelona确实不是一个普通的四核设计。

新一轮角逐正式上演

在Core微架构一年后,K10架构也正式与我们见面了。AMD全新架构的推出虽然赢得了不少用户的关注,但Intel研发实力之强也是不能小觑,所以这次对于AMD来说,全新Barcelona处理器的使得Intel与AMD两家在架构方面的新一轮角逐正式拉开帷幕,同时不少用户相信此次也将是AMD翻身的一个绝好时机。至于结果如何,让我们静观其变。

上一篇:鏖战中端 18款GeForce 8600GT显卡横向对决 下一篇:4英寸2.0音箱新秀 三诺N-25G音箱