对于智能手机来说,SoC的重要性不言而喻,而作为国产唯一自研的海思麒麟处理器,一直以来备受关注,发展至今,逐渐跻身于移动处理器中的领先水平,在麒麟960这款产品上,做到了“留长补短”,被称作麒麟历史上具有突破性的产品,在随后的实际体验上,搭载麒麟960的产品都有着不错的表现。因此,而我们今天就来测试一下麒麟960在深层次上的性能。(注:测试数据编译自ANANDTECH)
注:ANANDTECH将麒麟960的工艺写成TSMC 16nm FFC,而实际上麒麟960的工艺为TSMC 16nm FF+。
从麒麟960、麒麟955、麒麟950三款(两代)产品参数表来看,相比于上代产品,麒麟960是全球首款采用ARM最新的A73架构的SoC,相比麒麟950,大核主频由2.3GHz提升至2.36GHz,小核主频从1.81升至1.84GHz,但略低于麒麟955的2.52GHz。可以看到,麒麟处理器对于CPU主频的还是做了一定的限制、以赋予GPU可以做到更高的性能。
麒麟960采用的A73架构出自于ARM在欧洲的设计团队,而非设计出A15/A57/A72系列的德克萨斯奥斯丁团队,因此尽管A72与A73在编号上只差了1个数,但在CPU的性能设计上则截然不同。A57、A72则是偏重高性能,承担着高端处理器上应付复杂数据的处理。A73则更加着重于对性能与功耗的平衡。
值得一提的是,A73与A72比较明显的区别在于解码器的宽度,A73采用双发射L/S单元,在发射宽度上小于A72的三发射。虽然从纸面上有所降低,但根据资料显示,A73架构的11级核心流水线深度比A72的15级核心流水线深度更精简,因此发射宽度并没有决定性的影响到A73的性能。另外,A73更短的流水线减少了前端延迟,包括1-2个更少的解码器周期,它可以解码单个周期中的大多数指令,以及1个更少的周期用于读取层面。
电源管理:
这张图显示了A73相比于A72,在相同的进程和相同的主频下,A73能够比A72减少20-30%的功耗。并且A73号称目前处理器中面积最小的高端核心,每颗核心的面积在0.65mm,相比于A72上1.15mm的面积整整小了43%。
一直以来,麒麟处理器的GPU性能相比于骁龙被人诟病,因此在麒麟960上,GPU则最大限度的保持了性能。在麒麟960上,同样配备了ARM最新的G71处理器:Mali-G71 MP8,主频最高为1037MHz。G71采用ARM最新的Bifrost架构。与之前midgrad架构相比,Bifrost最大的创新在于使用指令组着色器(ClausedShader)。在G71上重新设计了执行单元,更好的利用着色器核心,增加吞吐量和性能。另外Bifrost架构还采用Quad based vectorization技术,相比于之前SIMD矢量化技术一次只能执行单一线程,Quad矢量化技术最高支持四线程执行,共享控制逻辑,使用率接近100%。
通过解读麒麟960的架构,我们了解了麒麟960的设计思路:注重CPU性能与功耗的平衡,以及GPU的极限性能,整个麒麟960没有哪部分成为明显的短板为人诟病。
CPU跑分测试:
通过SPECint2000可以看到,麒麟960在CPU整数运算性能上相比麒麟950有了比较大的进步,A73的IPC比A72的高出11%、比A57增加29%。值得一提的是,竟然比骁龙821的kryo高出30%,比8890的Mongoose高15%。在这里,我们也只能说一句公版大法好了。
GeekBench4的整数运算单线程跑分,可以看到,麒麟960总体来说也是有好有坏。相比麒麟950,在边缘检测(Canny)和直方图均衡(HE)项目中,麒麟960输给了其它三位对手,而在HTML5 Parse和HTML5 DOM的测试中,麒麟960则有上佳的表现。而在IPC的计算中,A73略优与A72 4%,但在SPECint2000的整数运算中,A73的优势则为11%,二者差距比较大,并且在单项测试中的起伏不定,因此比较A73与A72之间的好坏,则 是一个非常困难的事情。
另外,可以看到,A73的整数运算IPC大概是A53的1.7-2倍,这也是为什么那些只配备A53的中低端SoC性能表现不好的原因之一。
GeekBench4浮点运算,麒麟960的表现并不能算好。与麒麟950相比也不算优秀,而对比骁龙821则全面落败(当然,骁龙的浮点运算一直都不错)。考虑到A73的NEON执行单元与A72相比并没有改变,而降低了特殊指令的延迟,使得NEON的性能还提升了5%。因此这样的结果还是有些意外,只能猜测为有些测试项目受到A73解码器宽度的变化。但最终的原因,也只能在之后测试其它采用A73的SoC上的表现在下结论。
在浮点IPC的结论中,麒麟960不出意外的只能排在中游水准,比骁龙821、麒麟950、三星8890都落后。而这也意味着麒麟960会在不同的任务之间有着比较大的性能变化。
内存性能:
此次ARM将A73的一级缓存由48kB提升至64kB,二级缓存由A72的最大2MB提升至8MB,并且为一级缓存和二级缓存都配备了独立的预读器,使得A73可以获得接近理论的最大带宽值。并且,与A72一样,A73中配备了两个AGU,能够同时加载和存储操作,而不像A72中只能单个操作,这对提高主系统内存的发射率。
CPU缓存和内存延迟:
可以看到,得益于A73 64kb的一级缓存,麒麟960保持了1.27ns的稳定延迟,对比麒麟950的1.74ns,有着27%的提升。
上面两个图标显示了使用两线程读/写NEON指令,有助于表明麒麟960的内存带宽。读取时,麒麟960的L1缓存优于麒麟950,但从64kb分界线可以明显看出,当到达2级缓存的时候,带宽则有着明显的下降。图2可以看到,写入时,L1、L2下麒麟960都低于麒麟950,而在1024kb分界线过后,写入系统时,则低于麒麟960。缓存带宽的减少,也从侧面解释了GeekBench4浮点测试中麒麟960的劣势。
在GeekBench4的内存测试中(单线程),尽管麒麟960的L1、L2的缓存性能都是混合的,但在系统内存方面还是比麒麟950有着不错的表现。内存延迟提升了25%、内存带宽提升了69%,但在内存复制上,麒麟960还是被骁龙821甩在了身后。说明kryo对于内存数据的管理还是有着明显的优势。
当然,上面测试的都是理论性能,而理论性能究竟有多少能转化为真实性能,则体现出厂商的优化能力。当然,不同的厂商对于处理器性能的策略也导致会出现不同的结果,比如发热(后降频)的阈值、CPU的核心调度策略等,也都会使同样的处理器在不同的产品上有着不同的体验。
PCMark通过模拟一些现实的工作场景,调用许多常永的安卓应用API,突出对CPU、GPU、RAM等部分的测试。而在浏览器测试、数据操纵等测试项目的评分中,麒麟960都均为最高(采用Mate9测试)。可以看到,kryo架构对于整数性能的测试一直都比较头疼,因此在整数性能权重比较重的测试项目中,骁龙820/821的手机落后于采用公版A72/A73架构的手机。
最后的数据操纵测试是对整数运算的测试项目,通过测量多种不同类型文件的数据包解压速度,然后记录动态交叉表的帧率。而在这个测试中,麒麟960比麒麟950快了30%,比骁龙821快了37%。
注:Kraken在Chrome/Safari/IE中测试javascript性能;WebXPRT测试不同浏览器之间的Web性能(基于HTML5和Javascript)、JetStream测试JavaScript的性能;
在Javescript测试中,我们选取了不同的应用在不同的浏览器当中测试,综合来看,麒麟960的表现比不错,在旗舰中堪称优秀。
GPU能耗和发热
对于CPU理论性能与真实体验之间转换,功耗一直是一个比较矛盾的问题。性能强,CPU的功耗自然比较大,而功耗过大又会限制CPU峰值能力的稳定性,因此控制性能与功耗之间的平衡,则是考验厂家对SoC把握的重要部分。在麒麟950时,海思曾经做到比较不错的功耗比,而ARM宣称A73在同频、同任务下相比A72能减少20-30%的功耗,因此我们对麒麟960的能耗比也有所期待。
从表格可以看到,麒麟960的四颗大核所消耗的功率远超A72架构的麒麟950,这与ARM所宣传的A73架构更加省电并不太相符。从单纯的数据来看,麒麟960的峰值功率与超频过后的麒麟955比较接近,每颗核心与低频的Exynos 7420相近,只有大约50mW。
而与骁龙820/821的两个kryo大核相比,麒麟960的功耗更低,两颗大核的功率大致为2.8W,而kryo则能达到3.1-3.3W。但剩余的两颗小核在运行时消耗更低的功率,相比之下,麒麟960之前的优势不再。
续航测试:
尽管在峰值功耗上麒麟960明显更高,但华为Mate9在续航测试中的表现结果却非常不错。在PCMark的测试中,接近10小时的续航时间比Mate8甚至都高出27%,与单纯的CPU性能测试的结果并不相符,恐怕也只能说这一代的系统优化更加出色。
在这张图中,显示了Mate9在运行PCMark 2.0性能测试时的总系统功耗(测试环境:无线电关闭、屏幕亮度仅为10nits),而除了在加载下一个测试场景时的引起的较高功率之外,总功率消耗保持在3W以下,且平时一般都低于2W,远低于麒麟960四颗大核测量的5.3W。
而在这个表中的测试项目:浏览器网络测试、视频测试、文件写入、图片编辑和数据操作,这些项目基本上都是我们平时经常用到的手机功能。可以看到,线程从小核心转移到大核心以及手机动态地调整电压匹配CPU频率和负载,在大部分场景下,CPU只开启1-2个大核,麒麟960比麒麟950的功率多使用754mW,而非四核全开时的1601mW。因此,虽然CPU效率很重要,但我们需要根据实际使用的情况来考虑,也不能忘记软件(程序调度、CPUidle)对续航的影响。
系统功耗:
单方面的只看功耗是片面的,一款设备的功耗大于其它设备,但如果它在更短的时间内完成任务,实际上可以使用更少的功耗,以获得更长的待机时间。而在上两个图中,同样关闭无线电、屏幕亮度为10nits,减少不同屏幕对结果的影响。
第一张图中,显示了每款手机在PCMark 2.0性能测试时所消耗的总功耗。Mate9比Mate8大概超出了16%,而使用GPU的视频和图片编辑功能时从高到低差距最大,而在数据操纵和写入时,骁龙821的功耗比麒麟960还略大,因为在这样的测试中必须使用两颗大核,而非GPU(可见麒麟的CPU功耗较低、GPU功耗略高)。
第二张图片是将PCMark分数除以显示效率后所得到的功耗值(越高越高),可以看到,在写入测试以及数据操纵的项目中,Mate9都比Mate8的效率更高,但在视频和照片编辑部分,Mate9的GPU效率偏低,而高通的Adreno依然是效率最高的。
屏幕亮度-功耗曲线图:
尽管麒麟960的SoC功耗更高,但在续航测试中Mate9却优于Mate8,因此可以猜想,华为在其它地方做出了更多的优化。而在这种图中,可以明显的看出,在显示效率方面Mate9要远胜与Mate8。而作为一个手机最大的电量消耗部分,在屏幕方面的进步使得Mate9在续航方面有着不错的表现。
CPU线程稳定性:
在CPU稳定方面的测试中,使用了与之前一样的电源病毒,在A73的两颗大核上运行两线程,持续时间30分钟,确定设备能够保持CPU的峰值性能,而不至于像我们平时说的“三秒真男人”。这个测试也综合考验了CPU功耗、元器件散热能力和对于热量调度管理的水平。
通过测试,Mate8和麒麟950可以非常稳定的保持在A72的峰值,Mate9却没能做到。因为麒麟960的功耗较高,因此CPU的峰值大约维持在11分钟,但仍然是一个不错的结果。一般来说,以手机CPU为中心的工作负载能够将大核的巅峰维持到这个时间就已经表现不错,因此Mate9的效率还算不错。那么接下来,我们也比较期待像P10这样身材较小的手机能否有很好的散热。
GPU功耗测试:
麒麟960采用ARM最新的Mali-G71 GPU,与之前麒麟的 SoC不同,G71采用8核GPU以提高峰值性能。当然,更多的 核心也意味着更高的功耗,因此我们对GPU的持续性也比较感兴趣。
测试方法:在手机上运行GFXBench曼哈顿3.1和霸王龙性能测试,通过设备的电量计收集数据,在运行每个测试时将总功率减去设备空闲的功率,得到系统负载功率。
曼哈顿3.1离屏功耗测试:
从图中可以看到,Mate9平均8.63W的功耗也是整个小组中成绩最高的,这样的成绩对于智能手机的SoC实在是过高,因为这么高的数据对于想要长时间稳定在峰值功率基本不太可能。或许是由于G71的主频有点过高(1037MHz)导致的。毕竟三星8890的Mali-T880主频也只有650MHz。
在测试中,Mate9的曼哈顿3.1离屏成绩为32.49Fps,比Mate8时期提高了整整3倍性能,但相同的,平均功耗也是Mate8的3倍,因此在效率方面基本持平。而高通的Adreno 530在骁龙820/821上同样的成绩,但功耗只有麒麟的一半。可以看到,在GPU方面,高通依旧有着巨大的优势。
霸王龙离屏测试:
在霸王龙离屏的测试中,麒麟960的成绩变得更加糟糕,平均功率增加至9.51W,GPU的效率甚至低过麒麟950。而相比之下,三星S7的Exynos 8890使用的Mali-T880 MP12,主频为650MHz,平均功耗4.7W,只有麒麟960的一半,效率却能达到88%。
在类似的测试中,无论是苹果、高通还是三星,其SoC的平均功耗都在5W为上限,而到了5W时GPU就很难长时间保持在峰值性能,会因为过热而降频,因此麒麟960这样的成绩实在有些难以接受。
曼哈顿3.1续航测试:
过高的功耗对于麒麟960的电池续航也有着一定的影响,尤其是在游戏环节,Mate9比Mate8还少1小时的续航,说明在运行过程中Mate9并没有对GPU的使用作出太明显的优化。而最终,Mate9在续航测试中只有比较中等的水平,与比它电池容量明显减小的一加3T等水平相同。
GPU稳定性(曼哈顿3.1):
通过图表可以看到,Mate9在GPU降频之前坚持了1分钟左右,在8分钟时帧数为21Fps,相对于峰值减少38%,在30分钟后达到比较稳定的状态,帧率为19Fps,不过依然比麒麟950的峰值的11.5Fps要强。而相比之下, 乐Pro3从峰值的33Fps峰值随后会下降至19Fps,基本与麒麟960差不多。
而在这张图中可以看到,Mate9的GPU频率和功耗在游戏续航测试前15分钟的变化:一旦GPU主频下降至533MHz,其平均功耗会下降至4W,这也属于可持续稳定的功耗。这说明麒麟应该把GPU的主频下调至650MHz至700MHz更为明智,目前来看,1037MHz的峰值主频确实有些Hold不住。
总结:
性能方面,在进行整数运算时,麒麟960的A73比950的A72效率更高,甚至优于高通的kryo和A57,但在浮点运算时,结果正相反,高通的kryo和A72要优于A73。麒麟960采用更大的64KB L1缓存,使得延迟和读取带宽都有所提高,但写入带宽则低于麒麟950;写入方面,麒麟960的L2缓存带宽对于读取和写入都较低与麒麟950。综合来看,麒麟960对于主内存的延迟降低了25%,带宽提高了69%。而截至CPU的部分,麒麟960的提升显而易见。
但麒麟960的GPU功耗却出了问题,甚至低于麒麟950。尽管ARM宣称A73的功耗低于A72不少,但在麒麟960上却并没有体现,GPU功耗过高可能与主频有关。不过在其它方面,Mate9对于显示效率的提升、CPU功耗的控制使得在续航方面,Mate9依然有不错的表现。
相比过去,麒麟960的进步确实给人留下了深刻的印象,并且也增强了我们对麒麟970的期待。麒麟960提供了ARM最强的A73架构、更强性能的G71 GPU和CCI-550互联。并且支持Cat12/13的链接速度以及UFS 2.1的内存规格。麒麟960并非简单的对麒麟950的升级,而是一颗全新的处理器,在实际体验中也优于麒麟950。在Mate9上的表现,证明了麒麟960称得上一颗旗舰级的SoC,并且我们也期待在下一款产品身上,华为能够解决其现有缺陷,在各方面都能跻身于优秀的水准。