移动平台新王者——ARM Cortex A9架构解析

技术空间

在任何场合下,NVIDIA的老大们都从不掩饰自己对移动平台领域的野心。Tegra处理器的高调问世,不遗余力地宣传,都显示了NVIDIA的信心,特别是在微软ZUNE HD上的表现更是令NVIDIA自信满满。在最近,NVIDIA又宣布了新一代Tegra处理器,相比上一代Tegra处理器,Tegra 2更是宣称要在性能、功耗方面都超越目前的同类处理器,到底是什么给了NVIDIA信心?实际上通过Tegra 1和Tegra 2两代处理器的比较,我们发现,Tegra 2相比上一代Tegra处理器,仅仅是让原有的一颗ARM Cortex A8核心变成了两颗ARM Cortex A9核心。ARM Cortex A9是何方神圣?它又有哪些神奇的性能让NVIDIA如此推崇?下面就让我们一起来揭开ARM Cortex A9的神秘面纱。

22-d15-1-1.jpg

让苹果风靡全球的ARM处理器

或许不少人会产生这样的疑问,目前手机以及很多MID的处理器不都是一些公司自己设计生产的么?比如高通、三星或者TI OMAP处理器。那ARM公司的产品为什么经常在移动设备中被提及呢?实际上这种说法没错,但是这些公司设计生产的处理器无一不是根据ARM处理器核心架构衍生发展而来。比如风靡全球的iPhone 3GS可以说是目前最快的手机之一,它采用的是三星的S5PC100处理器,而这颗处理器恰恰就是基于ARM Cortex A8处理器架构而来。就在近日,NVIDIA的CEO黄仁勋在接受采访的时候,也毫不犹豫地说道:“X86只适用于PC,移动设备是ARM的天下!”

在目前的移动市场上,处理器主要根据两种ARM处理器架构而设计,一种是ARM 11,另外一种就是ARM Cortex A8。其中ARM 11是相对低端的处理器架构,包括早期的G1等手机的处理器就采用了这种架构,ARM 11也是移动领域中较早可以形成多核群组的处理器架构(即一颗处理器中包含多个ARM 11核心),NVIDIA早期也曾采用过这种方案。ARM Cortex A8则是目前主打性能的高端移动设备的最爱,无论是苹果iPhone 3GS,还是上代Tegra处理器,都采用了这种架构的处理器。ARM Cortex A8实际上也是ARM针对最新应用推出的产品,使用了能够带来更高性能、功耗效率和代码密度的Thumb-2技术,它可以对H.264和MP3等媒体编解码提供加速。Cortex A8处理器还包括了Java加速技术,对实时(JIT)和动态调试编译(DAC)提供最优化,同时减少了内存占用空间。Cortex A8处理器架构已经是非常强悍了,而最新的ARM Cortex A9则在Cortex A8的基础上再一次提升了性能和功能,同时降低了能耗,可以说是新一代的移动设备处理器之王。

22-d15-1-3.jpg
iPhone 3GS所采用的三星S5PC100处理器
22-d15-1-4.jpg
HTC的G系列手机不少采用的是ARM 11架构处理器x

令人惊艳的ARM Cortex A9

更强的任务处理能力

ARM 11核心在2003年推出,它采用的是单条8阶层管线,可以进行浮点运算。ARM Cortex A8在2005年发布,Cortex A8具备两条执行管线,相比ARM 11多了一倍,而且每一条管线具备13个阶层。更深层的处理管线,可以增加芯片的频率空间,两条执行管线设计可以增加每个时钟周期的效率。所以在性能和频率上,Cortex A8都远远超过了ARM 11。而最新的ARM Cortex A9,依然采用了双执行管线的设计,不过每个管线的阶层和ARM 11相同只有8个,不过这并不代表着Cortex A9的性能就比Cortex A8差了。实际上,Cortex A9虽然只有8阶层管线,但是ARM公司为它设计了一个更先进的执行引擎,在一个周期内,它所执行的任务就要多于13阶层管线的Cortex A8处理器,在相同频率下,Cortex A9的性能也要强于Cortex A8。据ARM公司自己介绍,1GHz的Cortex A8可以提供2000 DMIP的处理能力,相同频率的Cortex A9则可以达到2500 DMIP。

单独的高速缓存

每一颗ARM Cortex A9处理核心都拥有自己单独的L1高速缓存,它们可以存储指令和数据。Cortex A9带有64KB的L1高速缓存,指令和数据各有32KB。所有核心可以共享芯片上的L2高速缓存。共享L2是非常有必要的,特别是在双核心甚至是多核心的处理器设计上。Cortex A9架构的L2容量最高可以扩展到8MB,以移动设备处理器的眼光来看,这二级缓存的容量的确有一些匪夷所思,不过这只是理论数据,考虑到能耗和发热,在普通的多核Cortex A9架构上,二级缓存在512KB左右比较合理。

浮点计算单元以及更高频率

ARM发布Cortex A8的同时也发布了自己的向量浮点指令集,它的名字叫做NEON,简单来说,这种名为NEON的指令集就相当于X86处理器中的MMX或者SSE指令集。在ARM的Cortex A8处理核心中包含了NEON这种指令集,但是ARM并没有特别进行指令集的优化(实际上也不需要……)。而在Cortex A9中,ARM专门为之设计了FPU浮点运算单元,并没有像Cortex A8那样直接放置NEON单元,但这种浮点单元可以让Cortex A9相比Cortex A8在执行指令集上效率更高,同时也会大幅提升处理器的多媒体性能。

此外,不得不提的是Cortex A9可以达到的频率。目前,三星基于Cortex A8架构设计的“蜂鸟”处理器,频率达到了1GHz,采用了45nm的制造工艺,这基本上是Cortex A8目前的一个极限频率。事实上,Cortex A8的频率虽然可以达到较高水平,但是功耗和发热也不可小视,比如iPhone 3GS的处理器频率就是833MHz,但是为了正常工作,苹果将它降到了600MHz。Cortex A9在目前公布的频率是750MHz~1GHz,在台积电40nm的制程下,基于Cortex A9的处理器可以达到2GHz的频率,当然制造工艺必须要提升到28nm才能量产2GHz频率的处理器。。

多核架构以及更低的功耗

早在ARM 11时代,ARM就针对性能要求更高的用户推出了ARM MPCore多核体系,如今Cortex A9也继承了这种多核架构并且加以改进。为简化和扩大对多核解决方案的使用,Cortex A9 MPCore处理器还支持与加速器和DMA的系统级相关性,进一步提高性能,并降低系统功耗。值得一提的是,Cortex A9多核处理器是首款结合了Cortex应用级架构以及用于可扩展性能的多处理能力的ARM处理器,提供了很多过去没有的增强多核技术,比如加速器一致性端口(用于提高系统性能以及降低功耗)、先进总线接口单元(用于在高带宽设备中实现低延迟时间)、多核TrustZone技术(基于硬件的安全解决方案)以及通用中断控制器(用于软件移植和优化的多核通信)等等技术。可以说和过去相比,ARM Cortex A9的多核方案更加成熟,性能和兼容性也更加出众。事实上,Tegra 2处理器中就包含了两颗Cortex A9核心,我们可以试想一下,单独一颗Cortex A9核心就已经比同频率的Cortex A8强了,那么拥有两颗Cortex A9核心,同时频率可以达到1GHz的Tegra 2处理器,会比目前最强的iPhone 3GS性能高出多少?

除了性能以外,Cortex A9在功耗控制上也有一定的改善。由于单条管线的阶层只有8个,比Cortex A8要少,所以在功耗上,它自然也就略低;同时Cortex A9拥有的FPU浮点运算单元比Cortex A8的NEON单元要更小巧,这也意味着它更加节省成本以及省电。

22-d15-1-5.jpg
设计对白:我们的Tegra处理器可以直上1GHz

Cortex A9的宿敌——Atom Z系列

在介绍完Cortex A9的架构后,就不得不说ARM处理器在移动市场上的宿敌——Atom处理器。事实上,Atom处理器在公布之际,Intel是很想利用这款处理器在移动嵌入式市场掀起一股浪潮的,从最早Atom处理器主要用于MID这点就能得知,只是最后移动市场没有占据多少,反而成就了表面看似无限风光的上网本,这或许并不是Intel的初衷。从目前的移动设备来看,Atom N系列的功耗发热依然不适合手机和其他移动设备,但Intel并没有气馁,而是开发了Atom Z系列来对抗ARM处理器。

从架构来看,Atom系列和ARM系列无疑有着巨大的差别,但是从移动设备所需要的效率和性能来看,两者又有着共同之点,在Atom执行流水线的前端,有两个解码单元,负责将内存读取来的指令都解析成处理器的内部指令并加以处理。这与Cortex A9非常类似,A9的指令队列也有两个解码器。两种处理器的架构中都有一个统一的指令队列和四个指令入口。Atom的两个线程可以共享资源,同时执行指令,而Cortex A9的优势在于具备很高的执行效率,另外还具备乱序执行的能力,两者架构不同,但都是为了提升处理器的执行能力。前段时间,ARM曾宣布,500MHz的Cortex A9处理器即可相当于1.6GHz的Atom处理器性能,这或许有夸大的嫌疑,但是也说明了ARM公司的信心。

实际上,对于Intel来说,功耗发热才是他们所要面对的问题,Atom Z系列显然在这一方面相对N系列进行了较大的改进,特别是Z500只有0.65W的功耗,已经可以承担起包括手机这样的移动设备的重任。只不过对于其他厂商来说,Intel一手把控处理器成品的作风让人担心,而采用ARM处理器架构,却可以扩展出自己的处理器产品,所以在移动设备领域,Intel能否成功突出ARM的包围圈,不仅仅是靠自己的产品,还需要众多公司的支持才行,而ARM在这方面恰恰不需要有太多担心。Intel和ARM公司在移动嵌入式处理器领域中的搏杀,到底谁是胜利者,还需要时间来证明。

写在最后

Cortex A9处理器虽然问世不久,但是已经隐隐露出了王者风范,除了我们熟悉的Tegra 2处理器采用双核Cortex A9架构以外,苹果最近狂销200万台的iPad所采用的处理器A4,实际上也是使用的单核Cortex A9处理器架构。NVIDIA和苹果的支持,已经让Cortex A9站在了很高的起点,但是ARM公司并没有放慢前进的步伐,最近他们又宣布会推出代号为“Eagle”的移动处理器架构,这款处理器也将隶属于Cortex A系列(很有可能是A10),这样在整个上游产业,ARM的布局将更为完善。不过我们还是期待Intel能在移动设备市场有一番作为,因为只有竞争才能让用户得到更好的产品,也只有竞争才能让技术发展,让世界发展!