手机双核知多少?四大主流双核CPU全比拼
2012年06月12日 14:36
本页显示全文>>(共计5页)
较量项目三:通讯总线

  智能手机所采用的主芯片早已不能简单称之为处理器,而是一套复杂得多的系统,包含了处理器、显示加速芯片、内存控制器、视频解码核心、标准总线控制器等等,有些甚至还包含了数字信号处理器,它们被合起来称之为片上系统(SoC)。实际上一颗ARM SoC中,CPU所占据的硅片面积可能都不到总面积的二十分之一,而其中很大的一部分面积,都被各种各样的互联结构占用了。其实这也很好理解,片上系统就像一个大城市,如果交通不畅,整个城市的运行就会陷入瘫痪。在片上系统里有各种各样的总线,内部的、外部的,私有的、公用的。在这其中有一条最为重要的外部总线,连接着几乎所有的内部设备,那就是AXI。

  更重要的是,内存控制器也是通过AXI连接到处理器,这就意味着不论你的内存颗粒或者内存控制器可以提供多大的带宽,处理器能够获得的带宽都直接且仅取决于总线带宽。因此这个总线的宽度,决定了整个系统内部最大的内存带宽,同时也在某些情况下决定了诸如3D GPU这些对内存带宽需求巨大的模块的性能。正如城市的发展需要高速交通一样,随着片上系统的复杂化,内部互联的带宽也要求越来越大。

  由于总线方面的信息不属于一般用户所理解的范畴,因此厂家往往也不会对此做出详细的说明,所以每一款芯片究竟总线宽度多少也是不容易查证的。这点上nVIDIA相对而言做的最好,因为他们曾经直接把AXI总线位宽标在了网页上:32bit,类型为AMBA-3(这个参数在现在的网页上已经找不到了, 原因未知)。这个数字是相当“惊悚”的,因为如果总线宽度真的是32bit,那么意味着Tegra 2的内部总线位宽只是ARM11级别的。因此nVIDIA在Tegra 2的内部,很可能采用了与标准ARM不同的总线配置方式,但是不论如何,Tegra 2的总线带宽都是难以置信的小,即便AXI频率达到300甚至400MHz,带宽最多也只能达到Cortex A8的水平。根据测试,Tegra 2的内存复制成绩大约只能达到1GB/s左右,这也基本符合其带宽的表现。

  再来看看德州仪器的OMAP4430。与Tegra 2上的诸多猜测不同,德州仪器提供了OMAP4430的完整技术手册,因此各方面的资料非常容易获取。在OMAP4430中,互连结构分为若干级别和层次,但是就最主要的而言,是L3互联。德州仪器并没有采用ARM的AMBA AXI总线,而是在芯片内部的主互联上采用了Arteris公司的产品:


  从图中可以看出,OMAP4430的L3互联宽度为128bit,是Tegra 2的四倍,因此即便工作频率为200MHz,总带宽也可以轻易达到3.2GB/s,远远超过Cortex A8和Tegra 2。说实话,这才是双核Cortex A9 MP应有的水准。当然,由于各家SoC的内部体系都不太一样,在此也不能100%确定Tegra 2的实际情况。这点我们也会在后面的测试中继续研究。值得注意的是,OMAP4430的两个内存控制器在搭配LPDDR2 1066的时候可以提供的最大总带宽可以超过8GB/s,但由于总线带宽缘故,实际效果可能并不会有对应的提升,这也是ARM体系中一个比较头疼的问题之 一。

  言归正传,下面继续来看看MSM8x60。一直以来,高通对于自家芯片的技术资料都守口如瓶。这维护了高通的知识产权,但是却苦了这样的人,因为根本无从查证芯片的详细参数,因此只能靠猜测了。一方面,MSM8x60基本上就是“双核版”的MSM8x55,另一方面在后续测试中也可以看出 MSM8x60在内存方面的性能并不是很突出,因此在此猜测MSM8x60的内部互联可能和单核时代一样,即64bit、200MHz,总带宽 1.6GB/s。各位读者如果有详细的信息,也不妨告知。

  最后我们来看看Exynos 4210。三星和高通在这个方面有一定的相似性,也不肯公开提供芯片的技术手册。但是我们在三星自己的Exynos 4210宣传资料中还是可以发现一些端倪的。



  在图中可以明显看出Exynos 4210同样支持双通道内存(DRAMC0与DRAMC1),而在之前的关键技术列表中,三星赫然写出了内存带宽6.4GB/s的数字。由于Exynos 4210是一颗几乎全以ARM公司产品打造的芯片,因此这个数字就意味着Exynos 4210的内部总线宽度可能是惊人的256bit,只有这样才可以在200MHz的频率下达到6.4GB/s的内存带宽。这个数字已经远远的甩开了单核 Cortex A8、Tegra 2和MSM8x60,甚至比OMAP4430还要高出一倍,在双核时代的SoC中显然是傲视群雄的。

  关于总线的研究就到此为止了,依然按照惯例,最后给一个分数:

  Tegra 2 ★

  OMAP4430 ★★★

  MSM8x60 ★★

  Exynos 4210 ★★★★★

较量项目四:多媒体

  作为一台智能手机,多媒体功能是不可或缺的。早在15年前PC处理器巨头Intel就高瞻远瞩,为大家带来了一款叫Pentium MMX的产品,其最大的特色就是引入了名为多媒体扩展(Multi Media eXtension,MMX)的扩展指令集。

  何谓多媒体扩展指令集?由于原理复杂坚涩,简单的打个比方:厂商们分析平时处理器干哪些事情最慢、又最经常用到,然后把这些最消耗时间的事情固化成电路,做成一个额外的部分,和处理器集成到一起。使用的时候,只通过一条指令,就能够访问和计算多组数据,把最消耗时间的事情尽快做完。在计算机词汇里,这种指令集叫做SIMD(Single Instruction Multiple Data,单指令多数据)指令集。

  回到手机上,在ARM的世界里,由于日益增长的多媒体计需求,也出现了属于ARM自己的多媒体扩展指令集,它的名字叫做NEON。它可以帮助处理器加速任何格式视频的编解码,帮助显示芯片加速矢量数据的解析和打包,也可以让系统可以更快的处理几百万像素的图片。它所能带来的性能提升根据应用的不同,可以从比较明显的50%,到难以置信的8000%。

  长期以来NEON指令集都是各种高端ARM SoC的标配,从ARM11到Cortex A8,基本上所有高端SoC都包含了对应版本的NEON指令集。而在Cortex A9时代,它更是像是理所应当一样,作为一个基本而不可或缺的功能,出现在各大厂商最高端SoC的蓝图中。

  在德州仪器的OMAP4430和三星的Exynos 4210中,每一个Cortex A9核心都拥有自己专属的NEON协处理器,拥有专用的32个64位寄存器,以多通道操作的方式,加速系统的多媒体计算性能。而在MSM8x60中,高通甚至把它的NEON协处理器的位宽增加到了128bit,两倍于标准的ARM实现,让NEON协处理器可以一次性处理两倍的数据,带来更大的加速效果。

  那么Tegra 2呢?令人感到意外的是,不知道出于何种原因或者考虑,Tegra 2没有搭配NEON协处理器。这对于一颗定位于顶级的双核SoC而言是十分不可理解的,因为NEON可以为几乎所有的多媒体过程提供明显的加速特性,而 nVIDIA却选择了放弃。可能有读者会说,Tegra 2有强大的显示芯片,不需要NEON的加速,但是不要忘记,显示芯片是不能完全独立处理所有的3D运算过程的,其中诸如数据解包和组合这种操作还是需要 CPU来完成,由于没有NEON,处理器必须要花费几倍于对手的时间才能“喂饱”显示核心,最终的结果就是性能无法发挥。

  而在视频解码方面,Tegra 2也会因为不具备NEON协处理器而受到很大的影响。因为我们知道,Tegra 2虽然号称可以支持诸多格式的1080p全高清解码,但是它对视频的编码格式有着非常严格的要求,例如Tegra 2的视频解码核心只能硬件解码Main Profile的H.264视频,而对于其它的就只能靠处理器来进行软件解压。这时没有NEON协处理器的帮助,视频解压就很难高效的进行,最终导致Tegra 2的多媒体特性缩水。

  也许nVIDIA是认为NEON协处理器的授权价格过于昂贵,或者可能因为规模太大而提升制造成本,而最终选择了放弃,但作为消费者而言,不具备NEON指令集的Tegra 2无疑会在多媒体方面的竞争中被对手远远甩开。好了,关于多媒体的比拼也要告一段落了,最后我们照例为每个处理器给出评分。

  Tegra 2 ★

  OMAP4430 ★★★★

  MSM8x60 ★★★★★

  Exynos 4210 ★★★★

较量项目五:3D加速

  说到3D加速,这个概念哪怕放在区区5年前,对于手机而言都几乎是可有可无的。但是这几年随着iOS的崛起,与Android的飞速发展,3D加速一夜之间变成了高端手机必备的特性,甚至成为了整个手机用户体验的决定性因素。

  而在新一代双核Cortex A9 MP SoC中,图形处理器(GPU)的竞争彻底进入了白热化阶段。从结构而言,四家的CPU好歹是一个蓝本(大家所采用的都是ARM v7架构),但四家的GPU却选择了四种完全不同的方案,这的确从另一方面印证了GPU的重要性与竞争的激烈性。

  nVIDIA作为PC领域图形技术的领导者,在这方面是有着先天的巨大优势。Tegra 2所采用的GPU是nVIDIA自行研发的GeForce Ultra Low Power,缩写为GeForce ULP。它拥有四个顶点处理器,四个像素处理器,支持OpenGL ES 1.1/2.0、OpenVG等主流标准。在Tegra 2发布的时候,这枚GeForce ULP就是nVIDIA的宣传重点,因此消费者对于它的性能也有着极大的期待。

  而作为曾经参与桌面竞争、当下专注嵌入式GPU的Imagination公司,自然不愿意让出嵌入式独立GPU市场的性能领导地位。在 OMAP4430上,我们看到的就是这家公司设计的PowerVR SGX540。这是一颗大家很熟悉的GPU,因为早在单核Cortex A8时代,三星就在代号蜂鸟的处理器中采用了这颗GPU,它强大的性能也让采用蜂鸟处理器的机型在单核时代傲视群雄。与GeForce ULP不同的是,PowerVR SGX540内并没有单独的顶点处理器或者像素处理器,而是包含了四组通用处理器。这种类似于桌面显示核心统一渲染器的设计结构可以让PowerVR GPU用最少的硬件获取最大的性能,从而节约成本和功耗。值得一提的是,也正是由于通用处理器的设计,PowerVR SGX540成为了当前唯一一颗支持OpenCL通用运算标准的GPU。



  而在高通MSM8x60上,GPU则不出意外的是高通自行设计的Adreno。这是高通从前ATi公司收购而来并自行发展的图形架构,经过四代的发展,来到了最新的Adreno 220。相对于单核时代主流的Adreno 205,这颗GPU可以达到前者两倍的性能,从而得以参与到双核时代的GPU争夺战之中。当然,由于高通的“优良传统”,Adreno系列的架构一直不得而知,详细参数也很难查明,但是考虑到这是从ATi收购而来的架构,因此猜测应该也是基于分离的顶点处理器和像素处理器,只是各自的数量依然不甚明确。

  而四大双核里最后登场的Exynos 4210,它在GPU上的选择也是最为有趣的,因为它所搭载的是由ARM官方设计的Mali400图形核心。这是一颗相对而言比较陌生的显示核心,因为这还是它第一次在顶级SoC中露面。



  从架构上而言,Mali400也基于分离的顶点处理器与像素处理器,从逻辑角度而言要比PowerVR SGX540落后一些,也不支持OpenCL通用运算标准。但是这样的结构在目前的应用需求下,性能也未必会显得落后。标准的Mali400 GPU包含一组顶点处理器,而像素处理器则可以在一组到四组之间自由搭配,取决于你愿意支付多少授权费和制造成本。由于Exynos 4210是三星最顶级的ARM SoC,因此三星也当仁不让的选择了完整的四像素渲染器配置,即Mali400MP4。稍微岔开一下话题,虽然ARM宣称Mali400的这种设计是“多 核心”架构,但Mali400的“MP”与苹果A5处理器所采用的PowerVR SGX543MP2的多核是不一样的,后者才是真正的多核心,而前者只能称之为像素处理器可变而已。

  那么这四颗GPU的基础性能参数是怎样的呢?我们来看下面这张表格:



  可以看到,在规格指标方面,Exynos 4210是遥遥领先的,而Tegra 2紧随其后。至于具体的性能表现,我们在后面的测试中将简单介绍。值得注意的是,上表中的参数未必是最终的实际性能,理论参数一般都会受到实际应用环境的强烈影响。

  不过不管怎样,我们还是要打个分的,暂时按照物理参数吧。

  Tegra 2 ★★★★

  OMAP4430 ★★★

  MSM8x60 ★★

  Exynos 4210 ★★★★★


文章分享到:

相关文章
推荐阅读