三星GALAXY S4 Exynos5410解析
在三星GALAXY S4发布之前它的核心驱动力——Exynos Octa(或Exynos 5410)就已率先登场,我们已经知道Exynos Octa是首个基于ARM big.LITTLE架构的八核心处理器,采用四核Cortex-A15代表“超高性能”的集群和四核Cortex-A7代表“功耗节省”的集群组合;综合表现方面据官方称将比上一代Exynos处理器性能提升70%,而功耗可以下降20%。
Exynos Octa实际上为双四核结构,它除了采用ARM已经投入实际使用的性能最佳的四个Cortex-A15核心之外,还加入了四个Cortex-A7核心(以下简称A15与A7),中间通过ARM的CCI-400互联;依据工作负载的大小在A15/A7之间切换。
多出来的A7——权衡的结果
至于为什么不像Tegra4那样直接采用四个A15核心,而折中选择这样曲线救国的方式,一部分原因是由于智能手机上面所用到的A15核心功耗仍然比较大,因此加入了功耗小、兼容性强但是性能较弱的A7核心这样的权衡方式,也是为了三星GALAXY S4能够兼顾到性能表现和功耗减省两个方面。
目前A15平台的功耗具体有多高,我们可以来借AnandTech针对Krait、X86 Atom、A15几个架构平台的功耗对比测试来做个简单说明。
黄色线阶段
在针对A15单独进行功耗测试(也就是采用谷歌Nexus10平板作为测试平台,CPU、GPU采用改造的独立电路分别计算各自功耗)当中,《现代战争3》大型游戏满载测试当中()GPU的功耗约为4W,CPU维持在1W一下;而一旦采用CoreMark MT这样的CPU性能测试工具进行满载循环测试(),CPU的功耗可以飙升至4W以上。在保持CoreMark MT运行并且再切换至《现代战争3》游戏(),由于需要CPU运算的CoreMark MT测试位于后台,该平台的电源管理自动对CPU降频处理,以免整个平台的功耗过大。而且从功耗图表来看整个平台功耗受CPU影响很大。
虽然测试平台Nexus 10屏幕也要占到一部分功耗,但是从CPU、GPU各自的测试电路统计的功耗显示A15平台的功耗状况确实不小,因此三星Exynos Octa采用A7与A15组合的方式。
Exynos Octa组成与核心切换机制
从之前三星公布的Exynos Octa技术文档当中可以看出,三星该处理器当中的Cortex-A15四核与Cortex-A7四核采用物理上分开的方式;其中A7频率为200--1200MHz,A15频率为200--1800MHz。
三星Exynos Octa核心组成
虽然在物理结构上大小核之间保持独立,但是逻辑上每个A15核心和都和A7核心成为一组,每个组之间都可以根据负载大小进行“A15工作还是A7工作”这样的单独切换,而不是小的负载统一由四个A7承担,大的负载统一由四个A15承担。也就是说Exynos Octa可以像下图这样,三个A7和一个A15参与工作;目前的big.Little架构最大只能同时开启四个核心,物理上的八个核心并无法同时开启,因此说“双四核”要比“八核”更贴切一些。
当运行在大约8000 DMIPS以下的时候,LITTLE也就是四核A7工作,此时CPU平台功耗也维持在了非常低的水平;当负载大于8000 DMIPS左右的时候(或在此之前)big也就是四核A15介入工作,负载越大介入的A核心数越多。每组的A15工作时,该组A7关闭。
三星Exynos Octa核心切换
至于A7/A15两种架构之间如何协同工作,负责为ARM编写SoC芯片各项功能软件接口的Linaro组织提供了两种解决方案,一种是我们在Exynos Octa上面看到的内核切换机制IKS(In-kernel Switcher),也就是所有核心无法同时开启,需要进行A7与A15之间的内核切换;另一种则是更加完善的异构多处理HMP(Heterogeneous Multi-Processing),可以实现全部A7与A15的协同工作。后者尚在Linaro的开发当中。
三星Exynos Octa当中所采用的即为第一种方案IKS,物理上Exynos Octa当中有A7与A15两个集群(CLUSTER 0,1),但是从逻辑上我们可以将每个A7与每个A15的组合看作是一个虚拟CPU(这里的Linaro技术文档提供的仅为“双双核”架构,因此只有 CPU 0,1),每个虚拟CPU仅允许一个A7或一个A15工作,这就决定了Exynos Octa当中最多仅能有四个核心同时开启。
IKS的切换工作跟Android硬件当中的电源管理类似,基于软件以及硬件驱动来实现;电源管理通过用户层的策略对电压、频率等电源参数进行调整来减少系统活动功耗所需要的硬件支持,而IKS则通过测量CPU平台的工作负载进行内核切换。
这里的IKS不仅能够实现通常意义上的CPU频率改变,还包含了在A7/A15两种完全不同能耗特性的CPU核心间作切换。
三星Exynos Octa基准性能测试
接下来我们针对搭配双四核Exynos Octa处理器版本的三星GALAXY S4进行了性能基准测试,之前推出的三星GALAXY S4综合评测当中已经知道它的大体性能,就系统整体来说起码26772的跑分能够位列AnTuTu现有分数榜的前几位,性能之强大可见一斑。
虽然AnTuTu检测四核A15的频率为最高1.8GHz,但是无论是三星GALAXY S4的官方公布数据、还是测试过程中通过后台CPU Spy软件的监控,整个测试过程CPU频率并未提升至1.8GHz。除去跑分过程外,绝大多数常规任务甚至不需要提升至1.6GHz,60%的时间内仅靠250MHz的频率就可以维持整机轻负载下的性能,因此也并不需要太多功耗。
接下来针对CPU的测试Linpack以及针对HTML5性能和硬件的Vellamo测试,三星GALAXY S4Exynos Octa版本也是毫不客气的占据了榜首。
PowerVR SGX544MP3图形能力测试
众所周知三星的Exynos系列SoC在“3”时代使用的是PowerVR SGX540 GPU,到了Exynos 4210以至后来的S3上面的4412就沿用ARM的Mali-400系列图形处理芯片,此次双四核Exynos Octa采用的为PowerVR SGX544MP3,工作在533MHz,具备两倍于iPad 3当中所采用的SGX543MP4的三角形生成能力,计算能力可以达到51.2GFLOPS。这一性能稍逊于苹果iPad 4以及还未有成品推出的Tegra4,相比之前的主流GPU还是有较大提升。
这一部分我们采用了刚刚推出不久的3Dmark测试软件对三星GALAXY S4的图形处理能力做了简单测试;由于测试使用到的Ice Storm场景的测试重点指向更大的ALU总量以及4D指令的并行吞吐能力,而PowerVR SGX544MP3架构总ALU数量落后于Adreno 320,有效吞吐能力有限,因此在3DMark测试当中并不及采用骁龙600 Adreno 320 GPU的I9505 LTE版本三星S4。
手机硬件的未来形态
无论如何,手机性能的发展总是最终要让人忘记硬件忘记性能(当然小部分专职于此的发烧友除外),当我们打开如今三星GALAXY S4的Global产品网站,看不到半个字跟它的核心硬件和性能有关的描述,取而代之的是三星GALAXY S4为实现Life companion的愿景以及此次所倡导的“乐趣、关系、工作、关怀”四个维度,具象一下,就是发布会当中提到的种种“S”智能功能与交互。
但归根到底,硬件总是用户体验提升的基础;假使性能尚不足以流畅滑屏,再好的体验也会摔倒在起跑线上。不过三星早就摆脱了这一阶段,众多新鲜功能的加入本身就是对硬件的足够信心。
产品参数对比
Exynos Octa是首个基于ARM big.LITTLE架构的八核心处理器,采用四核Cortex-A15代表“超高性能”的集群和四核Cortex-A7代表“功耗节省”的集群组合;综合表现方面据官方称将比上一代Exynos处理器性能提升70%,而功耗可以下降20%。