htttg 发表于 2013-7-19 10:09

降频的利与弊 手机发热与性能

炎炎夏日一切都在以防暑降温为生活的重心,而移动时代你却不得不面对手机这样的随身“热源”,或许在以前仅能通话的手机完全没有发热过量这样的烦恼,但是如今智能机能做的事情越来越大,发热的脾气自然也随之暴涨了。不过对于这样的问题来说各厂商都有类似的措施来应对它,那就是采取必要的散热辅助配件,以及针对处理器进行降频。



降频的利与弊 手机发热与性能那点事儿

那些年飙升的手机主频……

    想当年的塞班时代笔者用的智能机永远停留在几百MHz的主频水准,到了吃硬件的Android时代这一数字每年都在不断上扬;当然随之而来的不能只是性能的提升咯,地球是圆的嘛,于是续航问题和发热问题与之俱来,手机处理器如今也能担当热黄油啊煎鸡蛋什么的差事。


骁龙S4处理器与竞品对比的融化黄油测试(图片来自高通官网)

    好吧言归正传,今天让我们来谈谈如何理性看待不断飙升的主频,以及怎样才能规避令人烦恼的发热和续航问题。


    通常意义上的手机CPU主频都是标识的最高值,比如四核1.5GHz的骁龙APQ8064,主频浮动范围可以在384MHz~1512MHz之间。道理很简单,主频越高的CPU运算越快,不过有时候我们并不需要多么快的运算,比如看看电子书什么的,可能最低的384MHz就够用,而你要跑个分的话为了凸显CPU的最大能力它必然要满载,就得徘徊在最高的1.5GHz左右了。


手机CPU主频都有浮动区间(比如从384MHz~1728MHz)

降频降压与功耗直接相关


    不过我们如果一直拿手里的机器循环跑分,或者一直运行高负载的大型游戏什么的,CPU主频是否就一直居高不下了呢?当然也不是,就如今四核A15架构的功耗和发热量,和羸弱的电池容量、极其被动的石墨贴片等这样的散热方式之间的矛盾来说,持续运行在最高主频的CPU很可能有温度过高散热却不给力,而最终烧毁的危险;因此适时地控制主频来维持合适的温度,才能保证处理器的热量即使被散出,而且也不会对人体皮肤造成什么伤害。


功耗关系公式(图片来自《高级电源管理模式浅述一DVFS》)

    由上面的CMOS电路的功耗公式可以看出,该功耗是直接与主频f以及电压V相关的,因此动态调节每个核心的电压以及主频,能够直接实现对整机功耗的控制;降频也就直接可以降低功耗。


正常运行状态不断变换的CPU主频

    于是所谓的“降频”过程都是这样实现——SoC内置的温度传感器会将检测到的SoC温度传递给TMU热功耗控制单元,如果温度过高(高于每个机型本身的设定规则),就会通过高优先级的中断控制器控制电源管理器的时钟控制器和CPU降频,保证系统温度在合适范围。

htttg 发表于 2013-7-19 10:13

常温条件降频散热策略验证


    如今手机发热问题已经和电池一样成了停滞好久都不曾解决的难题,但是每家厂商都采取不同的策略来帮助手机“降温”——于是造成了有的牌子手机给人的印象很热,而有的牌子手机却感受不到热量的状况。


测试用手机 小米2与vivo Xplay

    至于真正降频策略与手机发热之间的关系是怎样的,以及各家的手机都有什么不同的表现呢?我们随机挑选了两部高通平台的机型——分别都是最近十分热门的APQ8064与骁龙600APQ8064T,来测试一下不同手机降频策略的具体规则,以及CPU主频与温度之间的大体关系。


骁龙APQ8064参数对比骁龙600处理器

    测试过程首先在室温25摄氏度环境下进行;对比机型小米2、vivo Xplay均先从使用状态冷却至室温;然后采用Stablity Test CPU测试软件的Classic一项使测试机的CPU满载运行,然后采用System Tuner来记录CPU的实时温度与主频变化、负载曲线。记录周期默认为System Tuner的5分钟时间。

   

从上到下三条曲线依次为:


    CPU Load:CPU负载,使用Stablity Test使整个过程CPU满载,因此该曲线维持在100%
    CPU Frequencies:CPU主频变化曲线

    CPU Tempretures:CPU温度变化曲线


25摄氏度室温条件下 小米2主频变化曲线


25摄氏度室温条件下 vivo Xplay主频变化曲线

    虽然同属于骁龙平台,但是由于不同手机所采用的不同策略,小米2与vivo Xplay之间的CPU主频曲线表现可谓迥异。前者是一贯的发烧风格,5分钟测试时间内四核心基本一直维持在1.5GHz最高主频,而vivo Xplay从开始几十秒之后就进入了降频阶段。

    而温度方面的表现也是与此直接相关的,小米2由于一位的飙高频,SoC的温度一度之间达到了90摄氏度左右,而vivo Xplay却一直维持在50~60摄氏度左右。

两部手机体表温度表现


小米2与vivo Xplay的体表温度表现(测试进行一半时间)


    当然我们是无法直接感受到CPU内部温度的,50、乃至90摄氏度对于人体来说当然也无法承受,于是我们也在测试了两部手机的“体表温度”——首次在CPU满载测试进行一半的时候,第二次在测试完成之后、所产生的热量还没有及时散出的时候;显然小米2理所当然的发热比较严重,而且主要位于屏幕一边。


小米2与vivo Xplay的体表温度表现(测试进行完)


小米2与vivo Xplay的体表温度表现背面(测试进行完)

htttg 发表于 2013-7-19 10:15

低温条件降频散热策略验证

    接下来的问题是,外部环境温度是否会间接影响到手机SoC的降频过程呢?此前LG Nexus 4刚刚发布之时,就有人进行了冷冻跑分测试,由于Nexus 4的主频管理非常之保守,冷冻跑分因此相比常室温状态更高。

    于是接下来我们把两部手机放到零下18摄氏度的冰箱冷冻室内,重复进行上述Stablity Test的CPU满载测试。运行时间仍为5分钟。此时软件检测到的两者的初始SoC温度大致都在25摄氏度左右。


-18摄氏度条件下 CPU满载测试


-18摄氏度条件测试两者的初始温度

    两部手机的表现差不多跟之前相似,小米2依然是CPU满载的任务一开始,主频便开始高歌猛进,四核心都一直维持在1.5GHz水平;由于整机放在冰箱内,小米2 SoC的温度并不像放在室外那样会出现测试结束就升高到90摄氏度左右的状况,而是一直维持在50~60摄氏度左右,这一温度还是激发不了小米2内置的降频措施的。


-18摄氏度条件下 小米2主频变化曲线


-18摄氏度条件下 vivo Xplay主频变化曲线


    而vivo Xplay依然保守,同样在CPU满载的条件下1.7GHz的主频只是坚持了很短时间,很快降至1.13GHz左右,偶尔会跳跃至最高的1.7GHz,不过也并未出现室温条件下降至800MHz的状况。同样vivo Xplay的SoC核心温度也仅有50摄氏度左右。


-18摄氏度条件下跑分测试

    最后我们也测试了低温条件下两者的跑分成绩,不过这里的成绩与常温条件下测得的分数基本相同。

htttg 发表于 2013-7-19 10:18

降频措施的利与弊探讨


    综合上面的对比结果来看,即使是参数非常接近的高通两个平台,也是因为机器的不同而分别采取了迥异的策略。这些降频策略可以在ROOT后手机的etc文件夹下找到。名为thermald.conf的文件里就标明了随着温度升高而采取的降频策略。


小米手机2


vivo Xplay

    以小米2的该文件为例,SoC温度上升到85度开始降频,温度越高下降幅度越大。

    虽然降频意味着你需要牺牲系统性能,但是无论如何对于续航和发热来说都是件好事情;在一定的主频足够用的条件下(比如四核1GHz足够应对游戏、影音等需求),不去刻意追求最高主频是件有益的事情。


System Tuner系统调节器

    因此如果系统的温度控制策略太过“豪放”,比如小米2那样主频一直居高不下,可以采用改动上面的控制文件的方式、或者直接采用System Tuner这样的调节工具来对该规则进行调整——无论你的意图是想维持高性能避免降频,还是为了维持续航和发热避免不降频。


动态电压频率调整(DVFS)技术

    总之动态电压频率调整(DVFS)技术的诞生来自于过高的性能带来的过高功耗、和续航散热之间的关系对照;在散热和电池技术都不成熟的时代,DVFS通过对核心频率的调节来实现省电和减少发热的目的势在必行,这并不是有人所说的“降频太过、与实际性能不符”。而且降频也能够实际对于机身发热问题起到积极作用;
页: [1]
查看完整版本: 降频的利与弊 手机发热与性能