数据解析:手机处理器那么多核心到底有啥必要
桌面计算机的多核处理器已经发展了多年,并且一路走过了双核、四核,甚至六核、八核。智能手机的历史也有点类似,虽然起步较晚,但是在大约5年前,我们先是看到了基于ARM架构的双核节能处理器,然后4、6、8、甚至更多核心的又冒了出来。与台式处理器不同的是,移动 SoC走上了稍有些不一样的道路。
桌面平台上,多核心处理器大多采用了相同的架构,但是在移动SoC上,大多数制造商都选择了ARM的big.LITTLE方案,即多个低性能核心+少量高性能核心。
移动SoC对于功耗更加敏感,当然也有些例外,比如某些8核SoC支持异构多处理(HMP)技术,能够同时启用不同架构的全部核心。
多核心与多处理,显然还需要操作系统和应用软件的支持。具体到Linux、Windows、OS X、以及Android OS,它们都有着不同的调度方式。
在"核心大战"打得火热的时候,也有人提出了一些理性的质疑,比如那么多的核心是否真有必要。显然,要评估这一点,我们不能只看某兔跑分,还应该拿日常使用的app来测试一番。
以热门的Android系统为例,外媒Android Authority特地对Chrome、Gmail、YouTube、Riptide GP2、以及Temple Run 2等应用和游戏进行了实地评测。
首先来看一下Chrome(分别在四核高通骁龙801和八核高通骁龙615设备上执行):
这是四核模式下的Chrome浏览器(核心活跃度)。
四核模式下的Chrome浏览器(CPU平均使用率)。
八核模式下的Chrome浏览器(核心活跃度)。
八核模式下的Chrome浏览器(CPU平均使用率)。
需要指出的是,骁龙615是一款big.LITTLE处理器,所以核心调度的表现有些与众不同。当然,额外的核心是出于能源效率方面的考虑,而不是性能。
下面是其它应用程序的多核SoC使用情况:
上图为闲置时的八核SoC平台(手机屏幕点亮,但无其它操作)。
上图为在四核SoC平台上运行YouTube应用时的表现。
上图为在八核SoC平台上运行YouTube应用时的表现。
上图为在四核SoC平台上运行《神庙逃亡2》时的表现。
上图为在八核SoC平台上运行《神庙逃亡2》时的表现。
上图为在MTK八核SoC平台上运行《神庙逃亡2》时的表现。
上图为在四核SoC平台上运行Gmail应用时的表现。
上图为在八核SoC平台上运行Gmail应用时的表现。
上图为在四核SoC平台上运行《激流快艇2》游戏时的表现。
上图为在八核SoC平台上运行《激流快艇2》游戏时的表现。
↑ 比较有趣的是,在八核SoC平台上运行《安兔兔评测》的时候,我们看到的情况是这样的。
↑《史诗城堡》(Epic Citadel)在八核SoC平台上的 big vs LITTLE 表现。↑
总结:轻量应用是否需要用到全部8个SoC核心?
① 需要事先声明的是,上述评测不能完全反映用户的实际使用情况,而且测试中也没有遇到有啥app能够彻底榨干SoC八个核心性能(100%使用率)的例子。
② 此外,我们也没能够在Cortex-A53 / Cortex-A57或Cortex-A53 / Cortex-A72的平台上运行同样的测试,而高通骁龙615则是一款采用了四核1.7GHz(Cortex-A53)+四核 1.0GHz(Cortex-A53)的集群的处理器。
③ 上述统计数据的扫描间隔为大约1/3秒(330ms左右),所以曲线图表中可能会出现几个核心均汇报使用率为25%(或其它相同数值)、但实际可能在150ms的时间内只有一颗核心达到了25%的情况。
言而总之,Android应用确实能够利用多个处理器核心,并在高负载时发挥big.LITTLE架构的巨大优势。如果有人在一旁吹风说"那么多核心没必要",那你大可在对设备功耗、发热、以及续航都满意的情况下,猛力地回击一句"不服跑个分"?
- 基于Google Map Api的Android导航应用(10-21)
- Android智能手机平台多分辨率解决方案详解(02-14)
- 基于Android的屏幕水雾手机游戏的设计方案(02-19)
- 携ATM7059出击,炬芯Android 5.0平板方案面世(10-25)
- Android 6.0 超实用功能解读(09-22)
- 关于谷歌物联网Android Things你需要知道的10点(11-19)