随着一代设备的发布,高通依旧传承着提前展示最新一代SoC性能的传统。不过意外的是,高通今年没有像往常一样选择在圣地亚哥总部举办活动,而是在CES上公开展示了骁龙855,抢先于三星Exynos 9820让我们了解其实际表现。
自骁龙835开始,高通一直坚持Arm授权的BoC(Built on ARM Cortex Technology)模式,在公版架构的基础上进行“微调”,骁龙855也不例外,其使用的Kyro 485核心是基于Cortex A76优化定制而来。
既是微调,所做的自然都是小改动,高通也并没有公开细节,只透露Kyro 485扩充了重排序缓冲区(CortexA76公版为128条目)、优化了预取器并改进了分支数据结构。
骁龙855的CPU集群虽然仍使用“4+4”的big.LITTLE配置,但其大核心集群实际上为“1+3”设计, 其中1颗大核使用了更适合高频率的物理电路设计,最高频率可达2857MHz,并为其配备了更大的512KB L2缓存;剩余3颗大核心的最高频率为2439MHz,配备256KB L2缓存。
不过,这个“1+3”大核心集群虽然使用了异步时钟平面设计,但4颗核心仍然共享相同的电压平面。为此高通解释说,这是出于成本、复杂性以及效率之间的折衷,因为增加额外的电压平面则需增加另一个带有电感器和电容器的PMIC轨道。
大体来看,Kryo 485可能是高通有史以来性能提升幅度最大的核心,与骁龙845所使用的Kryo 385相比,Kryo 485的性能提升了45%。而与同样使用了Cortex A76的麒麟980相比,二者的总体性能应处于相仿的水平,高通的“微调”可能在某些场景下有一定优势,此外他们的缓存/内存子系统性能也可能会有一些不同。
本次测试骁龙855所用的是高通最新的骁龙855 QRD平台(Qualcomm Reference Design,高通参考设计)。不得不说,今年这款QRD是高通历来最“商业化”的设计,一改以往“傻大黑粗”的demo风格,如果不是那些标签,很难让人联想到这只是一个参考平台。
安兔兔和Geekbench
在硬核测试之前,先来看看常规的安兔兔和Geekbench。
据微博知名测评人张威的现场测试,骁龙855在安兔兔中拿到了超过36万分的成绩,是目前安卓阵营绝对的第一名。具体到字项中,骁龙855在CPU项目上与麒麟980不相上下,GPU项目上则看齐苹果A12 Bionic,大幅领先所有安卓SoC,而UX和MEM受系统影响较大,仅供参考。
Geekbench方面,骁龙855单核成绩超过3500分,略微领先麒麟980的3300分,但相比苹果的A11的4200+和A12的4800+还差的很远,离使用超强魔改版Exynos M3架构的Exynos 9810也还有约300分的差距;多核方面,11000+的分数已经属于现今手机的最高水平,包括苹果A12在内。
骁龙855的大问题:内存延迟
在去年的骁龙845上,高通在缓存和内存之间增加了一级3MB系统缓存,为各种IP块充当SoC范围的缓冲区,可减少高延迟的内存访问量,从而提高系统效率。不过,系统缓存最出名的应用要属苹果的A系列处理器,自A7以来苹果一直都在使用的这种设计。
高通在骁龙845上引入这样的设计固然令人兴奋,但这也是一把双刃剑,在减少内存访问量的同时,也使内存延迟增加了30%,可能在一定程度上限制了CPU的性能。然鹅高通已经确认,骁龙855似乎没有在这方面做出任何重大改进,其系统缓存的设计与骁龙845中完全相同。
经过对缓存/内存的测试,可以在对数图中看到缓存/内存的层次结构,并更好的可视化层次结构之间的各种延迟跳转:
测试结果表明,骁龙855相比骁龙845,即便在大约2.8GHz的同频率下,L2缓存的延迟也有一定改善,而二者的DSU系统缓存均为2MB,延迟也几乎是相同的,麒麟980的4MB系统缓存虽然更大,但响应时间却慢了20%。
换成线性图来看,骁龙855的内存延迟确实略低于骁龙845,但不好直接确定是内存控制器的改进,也可能是得益于频率更高的LPDDR4X 2133MHz内存。而与麒麟980相比,二者相同规格的内存,但骁龙855的延迟要明显高于麒麟980。
CPU性能和功耗测试
SPEC2006是一个重要的基准测试软件,它与其他测试软件的区别在于所处理的数据集更大更复杂。作为基准测试更有代表性,它可以充分展示微架构的更多细节,特别是在内存子系统性能方面。
在左侧轴上,条形图表示给定工作负载下的电能消耗情况,越长的条形意味着消耗的电能越多。条形上的文字标注显示的是消耗电能的具体数值(单位为焦),以及测试期间的平均功耗(单位为瓦)。
需要注意的是,骁龙855 QRD平台的功耗管理可能与正式发售的手机产品有所不同,本次测试结果只作为总体参考。
骁龙855的性能非常出色,在SPECint2006测试中,骁龙855的性能相比骁龙845提升了51%,能耗比则提升了39%;在SPECfp2006测试中,骁龙855相比骁龙845的性能提升更大,达到了61%。
而与同样基于Cortex A76的麒麟980相比,骁龙855也要略胜一筹,在SPECint2006测试中领先4%,在SPECfp2006测试中则领先9%。
对测试成绩进行详细研究后发现,在骁龙855与麒麟980的对抗中,一方面骁龙855的频率提高了9%,并通过架构上的微调来改善运算效能,另一方面麒麟980则通过更大的系统缓存来改善读写效率。
在绝大多数情况下,两款处理器都是并驾齐驱,只是在某些特定负载下存在分歧。在不太吃内存性能的项目中,骁龙855的频率优势得以充分发挥,而在延迟敏感性更高的项目中,这种差异又会缩小甚至逆转。
当然,众多测试项中也总有几个例外的,比如462.libquantum测试项,骁龙855领先麒麟980达31%之多,这已经不是单纯频率高一点和缓存延迟低一点所能达成的结果。高通称这主要是因为其架构上的特殊改进,然后又傲娇的表示不告诉你具体改了哪里~
又比如在458.sjeng项目中,骁龙855的性能落后麒麟980大约13%,这本是一个对分支预测性能敏感的测试项,高通也表示骁龙855在Cortex A76公版的基础上改进了分支数据结构,最终结果却反而落后于公版。(PS:反向奶?)
再比如429.mcf,这本是一个对内存延迟敏感的测试项,但骁龙855的表现却非常出色,这又一次违背了这违背了骁龙855的内存延迟高于麒麟980的前情,莫非是骁龙855延迟更低的系统缓存在此立了一功?
SPECfp2006测试结果也大体上差不多,在部分测试项中骁龙855比麒麟980更块,尤其是447.dealII和453.povray这两项,领先幅度达到了17%和22%;而在另一部分对内存敏感的项目中,骁龙855又被麒麟980追平,二者并驾齐驱。
总的来说,骁龙855在CPU性能上的出色其实是意料之中的,而能耗比的表现才是真正让人们吃下了定心丸。测试结果表明,Kryo 485核心的高能耗比区间非常宽,即便是运行在2.85GHz的高频上依然是非常高效的,这也代表着2019年的安卓旗舰手机将具有出色的电池续航表现。
推理性能优秀,但缺少API支持
除了CPU和GPU之外,高通对骁龙855的另一个宣传重点是其Hexagon 690加速器模块。
Hexagon 690的矢量管线相比骁龙845上的Hexagon 680翻了一倍,传统图像处理任务以及机器推理工作的性能也相应翻倍。更重要的是,高通为其专门设计了一个张量加速单元,它可以更好地分流推理任务。
高通宣称Hexagon 690“总共具有7Tops”的计算能力,但是并未透露包括张量加速单元在内各部分的具体性能信息。
然而在硬件性能之外,张量加速单元目前的API支持情况却并不完善,高通表示今年晚些时候才会将相关特性提供给NNAPI,目前只有公司内部的测试软件才能调用这个张量加速单元。
这也就意味着,在目前本就非常有限的AI测试软件中,没有一个能够真正测试骁龙855的AI性能,测试结果仅能体现Hexagon 690作为DSP在传统矢量管线方面的改进。
本次测试依然使用AI-Benchmark软件,这是由瑞士ETH苏黎世计算机视觉实验室的Andrey Ignatov开发的新基准测试程序,也是第一个广泛使用Android 8.1新NNAPI而不依赖于每个SoC供应商自己的SDK工具和API的基准测试程序,能更准确的体现使用NNAPI的应用程序的神经网络性能。
需要记住的一点是,NNAPI不仅仅是一些能够在NPU上运行神经网络模型的通用转换层,而且API和SoC供应商的底层驱动程序必须能够支持公开的函数,并且能够在IP块上运行它。这里的区别在于,使用NNAPI尚未支持的特性(必须退回到CPU上运算)的模型和能够硬件加速并对量化的INT8或FP16数据进行操作的模型。还有一些模型依赖于FP32数据,这里同样依赖于底层驱动程序,它可以在CPU上运行,也可以在GPU上运行。
在依靠CPU运行的第一组测试项,骁龙855的表现中规中矩。由于属于短时间突发的工作负载,此处的性能受系统调度程序的影响更大,即考验系统能在多快的时间内充分调用起CPU性能。
接下来测试的是适用于大多数硬件加速设备的8位整数量化模型,在这些测试项中骁龙855的性能均处于领先地位。在Pioneers的项目中可以清楚地看到HVX单元的性能确实翻了一番,骁龙855完成运算所用的时间只有骁龙845的一半;而在Cartoons项目中,骁龙855的性能增幅更大,这可能是由于高通改进了驱动程序,让代码能更好的利用新硬件。
在测试FP16的项目中,骁龙855终于受到了挑战。由于麒麟980已经公开了对其硬件的支持,这些测试得以顺利的跑在NPU上,而骁龙855则只能使用GPU,不过Adreno 640在这些测试项中倒也不怎么虚,只是略微落后,表现很是惊人,这也侧面证明NNAPI的功能和性能都非常成熟,可以充分利用各种加速单元。
而到了FP32测试项中,骁龙855再次依靠强大的GPU加速以压倒性的优势制霸全场,当然这也是意料之中的……
测完AI-Benchmark,顺便测测鲁大师的AIMark。AIMark没有使用NNAPI,而是基于高通的SNPE框架和苹果的CoreML进行加速,这也让骁龙855和苹果A12难得的可以凑在一起进行比较。
在AIMark中,骁龙855相比骁龙845有了2.5~3倍的性能提升。总的来说,即使目前的测试软件还无法调用张量加速单元,骁龙855的推理性能也非常出色。
顺便一提,高通还现场展示了骁龙855运行InceptionV3内部测试的情况,该测试由HVX单元和新的张量加速单元共同加速,推断性能达到每秒148次,与不使用张量加速单元的AIMark相比,性能提升了26%。
系统性能
虽然具体测试软件中的稳态负载性能很重要,但模拟实际使用情况的系统测试显然更具有代表性,其性能不仅取决于硬件,还取决于软件,例如CPU调度以及API等环节都会对设备的最终使用体验产生很大影响。
让人心下一凉的是,骁龙855在PCMark的Web浏览器测试中开局不利。由于某些未知原因,骁龙855 QRD平台无法与现有的骁龙845手机拉开优势,严重偏离了对标Mate 20与麒麟980的预期。
视频编辑测试的得分也相当平庸,不过这个测试项已经基本上达到了天花板,今天的大多数设备彼此之间都无法拉开实质性的差距。
文字编辑测试是PCMark中最重要的子项目之一,骁龙855 QRD平台终于恢复了正常表现,与Mate 20斗了个旗鼓相当。
图片编辑测试的特点是较短的重型RenderScript突发负载,这一项中骁龙855 QRD平台表现良好,不过却输给了小米MIX 2S和一加6两款骁龙845旗舰机,可见软件对系统性能的影响。
在最后一项数据处理测试中,骁龙855表现良好,但仍然与麒麟980结伴输给了谷歌Pixel 3……
总体而言,骁龙855 QRD平台在PCMark中的表现不错,与使用麒麟980的Mate 20处于同一水平,不过却时常妖异的双双输给骁龙845,到底该说高通的软件支持好还是不好呢?
其他基于Web的基准测试,如Speedometer 2.0和WebXPRT 3,也都是类似的结果,骁龙855相比骁龙845的性能提升只有不到20%,与麒麟980相比也有显著的差距。
高通方面也惊讶于这样的结果,称将对此进行研究(老铁你们自己内部是没测这些么?),并例常表示正式设备上的调度程序和软件可能会提高性能。
性能调度测试
这是一项你没见过的船新测试,可以检测设备的DVFS响应能力,也就是系统能在多快的时间内充分调用起CPU性能。
骁龙855 QRD平台的调度过程呈阶梯式,先拉起1.8GHz的小核心,在大约40ms后负载便转移到2.45GHz的大核心上,随后又再次转移到2.85GHz的核心上,这是一种非常快速的扩展行为,从睡眠状态切换至最大性能状态的整个过程耗时大约100ms。
作为对比,谷歌Pixel 3非常暴力,一步到位直接拉起大核心,仅30ms就完成了切换;而三星S9+的调度方式更为平缓,小核心和大核心的调用均按部就班,一级一级的提升频率,需要大约135ms才能完成切换。
与麒麟980相比,骁龙855的调度过程其实并不慢,奇怪之处在于,骁龙855在将负载从小核心迁移至大核心时会出现约3ms的停顿,这在三星S9+上也有类似体现,似乎基于高通公版调度程序的设备均有这样的特征。
(在骁龙855输给骁龙845的项目中,三星使用骁龙845的Note 9同样很差,看来这个锅很可能就是高通公版调度程序来背了,最终系统表现还是要看厂商能不能搞出自己的高效调度程序。)
GPU性能&功耗测试
高通对于骁龙855中Adreno 640的性能宣传比较保守,称其相比骁龙845上的Adreno 630提升了20%,这和其宣称新GPU的ALU规模增加50%明显不符,再加上全新的7nm工艺,很多人都认为骁龙855的GPU性能应该提升的更多。
Kishonti的GFXBench多年来一直是行业标准,新的Aztec测试给我们带来了不同的工作量。不久前Kishonti发布了GFXBench的5.0版本,这个版本建立在新的渲染引擎上运行,并引入了High Tier和Normal Tier模式下的全新测试场景Aztec Ruins。新的测试更加考验着色性能,利用更复杂的效果来强调GPU的算术能力。
测试结果显示,高通诚不欺我,无论是在Aztec High还是Aztec Normal场景下,骁龙855的图形性能相比骁龙845提升甚至还达不到20%这一官方数据,明显不如苹果的A12相比A11的进步来的大。
不过在能耗比方面,骁龙855表现非常出色,仅略微落后于苹果A12,大幅领先麒麟980(Arm出来接锅),GPU功耗也从骁龙845的5W下降至4.44瓦。
而在T-Rex测试场景中,骁龙855的性能提升幅度更为有限,由于T-Rex测试场景已经比较老旧,在现代SoC上的帧速率普遍非常高,通常可达到一二百帧,因此在许多方面都会受到制约,很难搞清楚瓶颈究竟在哪里,参考价值远不如更加现代的曼哈顿3.1和Aztec Ruins Vulkan测试场景。
能耗比方面的情况与前面类似,骁龙855相比骁龙845提高约30%,同样仅略微落后于苹果A12而大幅领先于麒麟980。
总的来说,此次骁龙855的性能虽然提升幅度不算很大,但能耗比表现非常优秀。鉴于新GPU的ALU规模增加了50%,高通此番可能是选择了增大GPU规模并压低频率的方式来提升能耗比。
总结
2018年是高通非常成功的一年,骁龙845作为一颗全面且可靠的SoC被旗舰手机广为使用,现在,骁龙855也将要延续这一趋势。
Arm小核心的性能在实际使用中很容易成为短板,这意味着我们未来可能会看到更多像麒麟980这样的“大-中-小”三集群SoC。骁龙855选择了“1+3+4”的设计,虽然细节略有差异但思路相同,Arm也应该思考一下小核心是否还应该继续使用性能低下的顺序执行架构。
CPU性能方面,骁龙855在SPEC2006这样的稳态工况下表现得非常好,高通对架构的优化得以体现,但缓存/内存子系统似乎仍然遗留着骁龙845中的一些延迟问题,系统级缓存在设计上还有待进一步调整。在系统性能测试中,骁龙855的表现也要低于预期,在许多项目中均以较大劣势输给了麒麟980。
而GPU方面,骁龙855的表现也一反常态,相比前代性能提升幅度只有不到20%。倒不是说这个性能不够好,虽然目前在安卓阵营中仍然稳坐第一名,但既然出自高通之手,要求和期待高一些也正常,不是么?
(据传三星Exynos 9820将使用Mali G76 MP12的设计,GPU性能相比Exynos 9810提升40%,各位看官可以自行算算……)
唯一让人感觉无比放心的反倒是AI推理性能,AI-Benchmark的FP16测试在不使用张量加速单元的情况下,让了一只手依然几乎打平麒麟980,INT8和FP32项目中则是横扫全场,鲁大师的AIMark更是连苹果A12一起连锅端。
当然,对于测试中那些异常的表现,高通也表示了关注并将对其进行研究。我们只能寄希望于这确实是由于软件方面的不足,但愿正式上市的手机可以换用更好的调度程序。
而作为消费者,剩下的就是等待首批骁龙855旗舰机的上市了。
关键词: 高通骁龙855