迅维网

手机到底能用几个CPU核心?

zhoufude 2015-5-27 10:51


  PC处理器十年前进入双核心时代,至今桌面上才不过六核、八核,而手机处理器在无限军备竞赛的刺激下,短短几年就已经迎来了十核(联发科MT6797)!

  与此同时,争论也始终不断:Android系统真的能充分利用这么多核心吗?


  Android Authority近日就此进行了一次细致的测试。原理很简单,Android系统内的/proc/stat文件里就有CPU每个核心利用情况的记录,编写一个简单的小工具即可提取出来,而为了减少监视对性能的影响,在测试进行期间仅提取数据,事后再分析。

测试处理器是四核的骁龙801、八核的骁龙615。


  Chrome上网期间(不停地加载网页),骁龙801的四个核心大部分时间都得到了充分利用,也有不少时候是2-3个核心在活动。


  每个核心的利用率都很高,大部分时间都在40-70%的范围,甚至能突破90%。注意:这是个平均后的图表,因为原始数据跳跃性太大,事实上根据原始数据,有好多次都接近100%的。


  骁龙615的八个核心也都很活跃,4个以下很少。


  尽管每个核心的利用率不同,有2-3个明显偏高,但都没闲着。注意骁龙615是基于big.LITTLE架构的,这里多个核心运行并不是为了提高性能,而是为了能效。

  Chrome做了很好的多线程优化,会高效地将工作负载分配给多个核心。其他应用又是如何呢?我们挨个来看。


  作为参考,这是八核待机时(屏幕开启但无任何操作)的状态。CPU也并没有闲着,最多会开6个。


  YouTube跑四核:只用了2个核心,平均利用率低于50%。


  YouTube跑八核:主要用4个,偶尔6个,偶尔3个,平均利用率30%。有趣的是,big核心用的很多,LITTLE核心却很少。


  《神庙逃亡2》跑四核:2个很平均地分配工作,另外2个没啥用。


  《神庙逃亡2》跑八核:大部分时间4-5个,少数时候7个,但基本只有一个在干几乎全部工作。


  《神庙逃亡2》跑联发科四核:全部4个分享工作。


  Gmail跑四核:2-4个分工合作,但里偶遇你顾虑从未超过50%。


  Gmail跑八核:4-8个,但利用率不到35%。


  《激流快艇2》跑四核:基本用2个,另外2个很清闲。


  《激流快艇2》跑八核:一直用6-7个,但大部分工作都是其中3个完成的。


  接下来是一个很有趣的测试程序:安兔兔。


  注意最后阶段,八个核心全部都在全速运行,这是普通应用里绝对看不到的。

  你可能会问了,Gmail这样的轻量级应用,怎么会用到8个核心呢?其实这都是big.LITTLE混合架构的结果。工作负载升高了,就会开始调用big核心,LITTLE核心逐渐休息,反之亦然,中间还有一些交叉时刻。

  当然,切换的速度是非常快的,每秒钟都会几千次。

  再以《Epic Ciadel》为例看看:


  刚开始是big核心在忙活,LITTLE核心几乎休眠,然后大约12秒的时候,big核心轻松下来,LITTLE核心开始活跃,20秒前后再次切换,然后30秒、45秒、52秒反复切换。

  期间,核心使用数量就在不停变化,比如前10秒只有3-4个(big核心),12秒前后最多6个,然后降到4个。

  本次测试的目的十分单纯,就是看看不同场合下,CPU有几个核心能够得到发挥。尽管测试不是很深入全面,比如缺乏A57/A53、A72/A53这样的组合,比如监测数据间隔比较长(330毫秒),但仍能在很大程度上说明一个问题:

  现如今,多核心在手机上并不是完全没用的浪费,特别是在big.LITTLE混合架构下,异构多处理技术(HMP)已经相当纯熟,可以有效地根据负载情况,调动合适的不同核心去工作,而且不仅仅是大型游戏,Gmail也能做到。

  虽然说核心绝非越多越好,手机是不是真的需要那么多核心不在本文讨论范围之内,big.LITTLE架构也不是尽善尽美,但我们很欣喜地看到,Android应用开发已经快速跟上了多核心的脚步,单纯说“多核无用”是不对的。


雷人

握手

鲜花

鸡蛋

路过
收藏
来自: 网络

相关阅读

发表评论

最新评论

引用 繁星满天 2017-3-8 10:01
联发科"一核有难,八核围观"是假的呀
引用 土豆potato 2015-5-28 00:27
引用 AshTarou 2015-5-27 11:11
掌器“军备”竞赛

发表评论

登录 后可参与评论
关闭

站长提醒 上一条 /1 下一条

返回顶部
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图


芯片搜索