1、内核设计全面模块化AMD的“Bulldozer”是在K10之后推出的全新一代处理器架构,对AMD来说,这是自K7以来AMD处理器架构的一次根本性变革,在核心架构及功能性上都较K10有较大的改变。模块化设计,这让处理器在功能更加灵活的基础上更容易控制成本。物理结构,再根据市场价格策略来决定对内核进行有选择的屏蔽。这对产品的性价比取胜的AMD来说难以控制成本,而且要向在架构上开发出更多的核心的产品几乎要更新设计基板布局。
而Bullbozer处理器所引入的模块化设计刚好可以解决这个问题。Bulldozer在核心设计方面每两个核心组成一个单独的单元(称之为“核心模块”,两块物理内核集成到一个模块中),比如双核处理器直需要集成一个模块就可以了,即使是八核处理器也只需要集成四个模块,这让产品生产及成本控制更加具有灵活性,处理器核心模块的两个核心各自拥有一级缓存,但是共享二级缓存和预取,解码单元,所有的“核心模块”共享8MB三级缓存和北桥模块。
那么以后AMD处理器内核数量如何定义呢?未来的新架构四核心处理器指的是四个这样的模块呢,还是四个计算核心呢?AMD对此给出的回复是:“将每个拥有双整数核心的推土机模块视为一个独立的单元就对了。”显然,AMD在这里可以的回避了单纯的核心数量问题,更强调两两组成的有机整体,所以在面对推土机架构处理器的时候我们可以说它是四核心,八核心的,也可以说成是双模块,四模块的。只不过未来AMD或许不会再有奇数核心的处理器了。
2、高效的集群多线程架构
Bulldozer架构中的另一个新元素就是采用了基于集群的多线程技术。Bulldozer的内核模块是一个可以同时运行两个线程的处理组件,两个内核可以执行两个完全不会相互干扰的线程,有点类似于Intel的双核处理器的超线程奇数。
尽管双核、多线程和Bulldozer在线程并行执行方面是相同的,但是内核的分区却截然不同。多线程就是在一个单个的处理核心内同时运行多个工作线程的技术,和CMP芯片多处理器技术不同,后者是通过集成多个处理内核的方式让系统的处理能力提升,主流的多核处理器都是用了CMP技术,而像Pentium 4、Corei7这样的处理器带的“超线程技术”则属于多线程奇数,而Bulldozer是基于集群化多线程架构,Cluster-BasedMulti-threading:CMT,也称多簇式多线程技术。
在Intel的超线程方案中,采用的是复制处理器架构状态的方法来实现超线程,核心内部并没有增设一套额外的硬件执行单元来处理多线程,只是增加了处理器中存储线程有关数据的单元数量,并在硬件执行单元空闲时将这些数据送往其中处理,一边增加处理器执行单元的利用率。这种设计有一定的缺点,比如它只使用了一个指令窗口来负责两个线程的调度、执行和引退,效率并不高。这就像是生产线只有一名管理调度人员,一个人很难同时处理两个任务,这样有时候便会出现生产线故障,而处理器在碰到这种情况时性能则会出现明显的下降。
相对于传统超线程或双核技术,Bulldozer这种设计集群化架构的理念是让双核模块在多线程运算中更高效。Bulldozer每一个模块中加入了额外的执行单元,每一个模块都具备可以将一个大任务细分为多个并行任务的能力,这些生产线可以按需要任意整合,不会对整个装配线的效能造成影响。因此CMT技术的效能要高于传统的多线程方案。根据AMD介绍,单个“推土机模块”可以达到80%左右的多线程性能提升,而且所用的晶体管数目似乎并不比Intel的超线程奇数更多,这是一个相当鼓舞人心的成就。
根据路线图,Bulldozer架构会推出四核心、六核心和八核心的版本,其中四核心的证书性能大约比频率类似的Phenom II X4高出10%~35%。需要说明的是,CMT并不是AMD独有的技术,例如Sun和Oracle开发的Niagara/Niagara2(Ultra-SPARCT1/UltraSPARC T2)服务器处理器,尤其是Niagara2都采用与Bulldozer类似的线程设计。
3、更强的浮点和整数计算性能
Bulldozer所采用的集群化多线程架构之所以能实现如此高的性能,其中一个大原因就是AMD增加了CPU的运算单元——每个模块中的两个线程都具有独立的整数运算单元,只有浮点单元是共享的,这被称为具有两个证书运算单元“簇”。Bulldozer这种将两个线程的整数运算独立开来的设计可以更有效的提高处理器在基本应用中的性能。由于Intel的Nehalem架构的超线程奇数是两个硬件线程共享3组运算单元,冲突在所难免,而Bulldozer则是两个硬件线程独享4个整数运算单元,性能提升将会更加明显。根据AMD公布的Bulldozer执行单元的结构图,负责整数运算的整数执行单元和负责地质计算的载入/存储单元一共有4组(每单元2组)。(在K7/K8/K10中这样的单元也仅有3组,刚好对应K7/K8/K10的每周期处理3条宏指令的能力。)
需要说明的是,Bulldozer这种双“簇”也让AMD在产品设计上具有更高的灵活性上,未来处理器的分级可以通过控制“簇”的数量来实现:比如以后的Bobcat处理器就是切掉一个整数运算“簇”的Bulldozer。此外,Bulldozer的每个模块还具备两条128Bit FMAC(乘法累加运算)流水线,这将能够满足Bulldozer中信加入的AVX指令集扩展的需求,这种指令集扩展中包含了大量的128Bit多媒体指令集。
4、制作工艺“两级跳”
随着内核的倍增,处理器对生产工艺也提出了更高的要求,因此近几年来半导体厂商也会通过各种各样的信技术的是是用来维持摩尔法则的“More Moore“。在处理器生产工艺应用上,Intel一直走在AMD的前面,酷睿采用32nm制程已经差不多半年,但AMD的产品停留在45nm!这种情况将随着Bulldozer的诞生而得到改变,Bulldozer将采用32nm制程。预计32nm工艺将于2010年第三季度开始试产,病在2011年为AMD提供产能,28nm工艺于2010年第四季度上马,超低功耗版28nm工艺则排在2011年第一季度,它们都会是用HKMG技术。这意味着AMD将在2010年完成产品生产工艺升级的“两级跳”,从45nm进化至32nm后迅速再次进化至28nm,追回被Intel落下的时间。
此前,AMD已经展示了它们28nm产品的晶圆图,看来新技术似乎已经非常接近最后可用的程度。如果真的能够实现工艺两级跳,那么长期困扰AMD的工艺制程问题有可能得到巨大改善,AMD将走出窘境,进入全新发展的时代。
5、AMD推土机接口又升级
Bulldozer架构将采用新的AM3 接口,拥有941个针脚(AM3是938针、AM2 /AM2是940针),不同于938针脚的SocketAM3接口,其好处是可以支持DDR3 1866内存和高级技能技术。需要说明的是,AM3 是AMD最后一代针脚栅格阵列(PGA)封装,之后将改用触点栅格阵列(LGA),等到Fusion融合处理器降临的时候就会使用LGA AF1新接口,触点多大1591个。针对兼容性方面,按照AMD的说法,主板。
其实AMD最初也考虑过让Bulldozer沿用AM3接口,但是随后意识到必须做出一个选择,是继续提供AM3而损失新架构的一些新特性,还是升级接口带来更好的性能和功能?最终为了长远利益,AMD选择了后者。Bulldozer处理器将会首先用于服务器,预计首批芯片将是代号为“Interlagos”的服务器处理器,核心数在12个~16个之间。而针对桌面服务器市场,Bulldozer将会有4/6/8个核心的三个版本,三级缓存容量为8MB,支持DDR3 1866,首款采用Bulldozer架构的桌面处理器产品代号Zambezi,将成为AMD下一代高端桌面平台Scorpius的核心。