MSM8x60 ★★★★
Exynos 4210 ★★★★★ 较量项目三:通讯总线
现代手机所采用的主芯片早已不能简单称之为处理器,而是一套复杂得多的系统,包含了处理器、显示加速芯片、内存控制器、视频解码核心、标准总线控制 器等等,有些甚至还包含了数字信号处理器,它们被合起来称之为片上系统(SoC)。实际上一颗ARM SoC中,CPU所占据的硅片面积可能都不到总面积的二十分之一,而其中很大的一部分面积,都被各种各样的互联结构占用了。其实这也很好理解,片上系统就 上一个大城市,如果交通不畅,整个城市的运行就会陷入瘫痪。在片上系统里有各种各样的总线,内部的、外部的,私有的、公用的。在这其中有一条最为重要的外 部总线,连接着几乎所有的内部设备,那就是AXI。
总线在片上系统中有多重要,可以看下面的这张图:
可以看到,几乎所有的内部设备,都通过多层次、多区域的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,单指令多数据)指令集。
大多数多媒体播放任务,使用SIMD技术都会带来更快的速度
回到手机上,在ARM的世界里,由于日益增长的多媒体计需求,也出现了属于ARM自己的多媒体扩展指令集,它的名字叫做NEON。它可以帮助处理器 加速任何格式视频的编解码,帮助显示芯片加速矢量数据的解析和打包,也可以让系统可以更快的处理几百万像素的图片。它所能带来的性能提升根据应用的不同, 可以从比较明显的50%,到难以置信的8000%。
长期以来NEON指令集都是各种高端ARM SoC的标配,从ARM11到Cortex A8,基本上所有高端SoC都包含了对应版本的NEON指令集。而在Cortex A9时代,它更是像是理所应当一样,作为一个基本而不可或缺的功能,出现在各大厂商最高端SoC的蓝图中。