前段时间,有网友拿麒麟9000拷机,于是有了功耗翻车的说法。今天我们就来讨论一下,麒麟9000功耗真的翻车了吗?用拷机功耗来定义麒麟9000的能效表现是否科学?


首先要明确的是,性能提升和功耗的增加并不是线性关系。在谈论能效的时候,不考虑性能,就是耍流氓。极限性能的增加,必然要付出更大比例的功耗。


先来复习一下初中物理的知识,电功率计算公式:P= UI,按纯电阻电路来计算,根据欧姆定律I=U/R代入P=UI中还可以得到:P=U2/R。


很明显,电功率和电压的平方成正比,会有类似如下的曲线(示意图,假设R=1)。






Android 功耗 UFS 手机cou功耗_Android 功耗 UFS




以CPU为例,在不考虑内存瓶颈的情况下,CPU性能的提升和CPU频率的增加是接近线性关系(频率的增加意味着单位时间内的cycle增加,而固定微架构的处理器,每条指令执行需要的cycle数是恒定的)。但是更高的频率就需要更高的电压,从上面的曲线很明显看到,随着电压的升高,功率曲线增加的斜率越陡峭,功率增加幅度越大。


这个现象在其他领域也是比较常见的。当飞机速度增大时,作用在飞机上的空气阻力会迅速增大,空气阻力和速度的平方成正比,飞行速度每增加1倍,发动机的功率就需要增大为原来的8倍。"提康德罗加" 级导弹巡洋舰波障速度为 30.9 节,而在32.5节全速航行时,速度只增加5%,却需要29%-35%的额外推进功率。


因此,可以明确的是,在拷机过程中,GPU极限性能增加,需要付出更大的功耗,二者绝非线性关系。


下面我们来还原拷机实测的过程。目前网上只有麒麟9000拷机数据,断然下结论未免过于偏颇。我们可以拿骁龙865+一起测试,二者在同一阵营,水平相当,看看结果如何。


我们使用GPU GFLOPS分别对Mate40 Pro和三星Note20 Ultra进行了双拷测试,结果如下:




Android 功耗 UFS 手机cou功耗_Android 功耗 UFS_02




骁龙865+在性能不及麒麟9000的情况下,整机平均功耗甚至达到了9.58W,超过麒麟9000的9.18W。


下面来直观对比麒麟9000和骁龙865+的拷机数据:




Android 功耗 UFS 手机cou功耗_大数据_03






Android 功耗 UFS 手机cou功耗_python_04






Android 功耗 UFS 手机cou功耗_大数据_05




相比骁龙865+,麒麟9000的CPU GFLOPS高了5%,GPU GFLOPS高了28%,而在这个情况下,整机的平均功耗低了4%。


那么简单计算一下,如果麒麟9000的性能和骁龙865+相当的情况下,功耗会低多少呢?


因为GPU性能差距比较大,后面主要计算GPU,暂时忽略CPU的差异。GPU GFLOPS测试主要测试GPU的ALU计算单元,访问内存较小,性能和GPU频率基本呈线性关系。


由于无法知道麒麟9000的每个频点的实际电压,我们做一个简单假设,每个频点的电压和频率呈线性关系(事实上,越高的频率需要的电压会更高)。


麒麟9000对外公布的GPU最高频率是759MHz,假设759MHz的电压是1V。




Android 功耗 UFS 手机cou功耗_大数据_06




那么如果麒麟9000的GPU性能降低到和骁龙865+相同,GPU频率大约是在592MHz,这个时候的电压按线性计算在0.78V。按功率的计算公式,麒麟9000在与骁龙865+ GPU性能相同时的功率,大约为最高频点的功率的60%(P=U2/R,即:0.782/12=0.6084≈60%),即比最高频点功率低40%。注意上面都是假设电压是线性上升的,考虑到极限频率下额外需要的电压以及极限频率下依然比骁龙865+低4%,麒麟9000同性能下GPU功耗比骁龙865+功耗低50%是完全合理的。