麒麟980性能表现大起底:既有情理之中,又有意料之外

来源:雷锋网

2018-11-20 07:33

原标题:麒麟980性能表现大起底:既有情理之中,又有意料之外

雷锋网消息,不久前外媒ChipRebel刚刚发布了华为Mate 20手机的拆解,并公布了麒麟980处理器的透视照片,让我们有了一窥这款让华为表示“稳了”的处理器,并首次看到Arm全新Cortex A76 CPU和全新Mali G76 GPU的真容。

当高通和三星在2016年下半年发布骁龙835和Exynos 8895这两款使用10nm LPE工艺的产品时,麒麟960却只能选择台积电16nm FFC工艺,这种劣势显著的体现在芯片的能耗比方面。

麒麟970虽然缩小了制造工艺方面的差距,但由于其设计周期较早,错过了Arm当时最新的Cortex A75架构,只能基于Cortex A73架构设计,而推出较晚的骁龙845则全面基于Cortex A75和Cortex A55改进。

在这次的麒麟980,华为终于再次集齐了最先进的制造工艺和最新的架构设计,从这方面来看,麒麟980背负着比麒麟970和麒麟960更大的期望和历史任务,有望复制甚至超越几年前麒麟950的成功。

浓缩的都是精品

虽然华为在此前公布麒麟980时表示其核心面积小于100mm²,但实际上麒麟980的硅片尺寸要比官宣还有要小得多,仅为74.13mm²。在CPU、GPU、NPU及内存等全面升级的情况下,麒麟980相比去年麒麟970的96.72mm²小了30%,可说是相当惊人了。

芯片的左上角是全新的Mali G76 MP10 GPU集群,雷锋网曾介绍过,Mali G76达到Mali G72翻倍的性能只需132%的芯片面积,理论上单位面积性能提升了50%。华为将麒麟980的GPU面积维持在了11.97mm²,仅稍大于骁龙845中Adreno 630的10.69mm²,远小于Exynos 9810 Mali G72 MP18的24.53mm²和苹果A12 GPU的14.88mm²。

GPU模块右侧是CPU模块,Cortex A76架构在核心尺寸方面仍然非常小巧,配备512KB L2缓存时的单核面积仅为1.26mm²,同样远小于三星自研Exynos M3“猫鼬”架构核心的3.5mm²,甚至比不含L2缓存的苹果A12的Vortex架构核心(2.07mm²)还要小。

此次华为充分利用了Arm的新DSU集群及异步CPU配置,将麒麟980中Cortex A76架构的高性能CPU集群细分为两组,高频率的一组运行在2.6GHz频率上,另一组Cortex A76 CPU的运行频率为1.92GHz(这应该是一个很好的能效比平衡点),各自运行在不同的频率和电压上,可根据不同使用场景灵活调用,有效提升实际使用时的能效比。

缓存方面,所有Cortex A76都带有推荐的512KB L2缓存配置,而A55则采用128KB缓存。在雷锋网此前分析Cortex A76的文章中曾提到过,在最新的DynamIQ群集配置中,L2缓存是每个CPU核心独占的。DSU中的L3缓存则为4MB共享式设计,容量为骁龙845和麒麟970的两倍。

改进的内存延迟

SoC的存储子系统对其性能表现至关重要,麒麟970便在这方面吃了一些亏,它在高频率下运行时似乎有些问题,这使得华为不得不在默认情况下选择降低其设备的频率,导致了一些性能下降,尤其是在对内存延迟敏感的工作负载中。

与麒麟970相比,麒麟980的内存延迟得到了显着改善。测试中使用的是完全随机延迟,包括TLB未命中等在内的所有可能的惩罚,但是这仍然是一个重要的性能指标。

Cortex A76架构的独占L2缓存延迟非常出色,只有4ns,不到麒麟970中Cortex A73共享L2缓存延迟的一半。而4MB共享L3缓存确实与CPU核心异步运行,在测试中可以看到明显的延迟惩罚,但仍然在合理范围内。

对比安卓阵营的几款SoC,麒麟980的L3缓存看起来略慢于骁龙845,可能是由于华为略微降低了L3缓存的运行频率;Exynos 9810的缓存延迟最大,虽然在内存延迟方面略有优势,但这是以很大的功耗代价冲击高频率换来的,当核心运行在合理的频率上时,Exynos 9810的优势会丧失殆尽。

(PS:苹果A12处理器在缓存和内存延迟方面都遥遥领先,在所有指标和深度上都展示了巨大的优势,让安卓阵营的所有SoC都相形见绌。)

CPU性能和能耗比

华为在发布会上表示,麒麟980相比麒麟970可获得75%的性能提升,能耗比则比麒麟970提高58%。演讲中的PPT脚注显示其能效数据基于Dhrystone,而Dhrystone非常专注于考验CPU核心,相对在内存等其他方面不会给SoC带来太大的压力。

现在,使用麒麟980的Mate 20、Mate 20 Pro及Magic 2均已上市,SPECint2006和SPECfp2006的测试成绩比华为的官宣更能体现这款处理器的真实性能水平。

下图显示了完成测试中的电能消耗量及平均功耗,左边的条形表示消耗的能量,以J(焦耳)为单位,条形越短代表耗能越少,相应的平台的效率越高;右边的条代表性能分数,条形越长代表性能越强。

测试成绩出人意料,麒麟980的SPEC2006性能达到了麒麟970的2倍,不过依然只有苹果A12的57%~62%;且在CPU的能耗比方面,麒麟980相比麒麟970只提升了28%,这导致虽然其功耗只有苹果A12的59%~62%,但实际消耗的能量却几乎与苹果A12相同。

全新Cortex A76架构和麒麟980的内存子系统耗电量更大,SPECint测试中平均达到2.14W,SPECfp测试中达到2.65W,比麒麟970的1.38W和1.72W有显著增加。从这方面来看,Arm的新架构是在以线性的方式提升功耗和性能,包括骁龙845的Cortex A75。

当然,只要控制好性能和功耗的关系,这样的提升方式并不能说是消极的。麒麟980的CPU性能是苹果A12的57%~62%,功耗是苹果A12的59%~62%,二者处理相同任务消耗的能量基本相同,这有什么不对的呢?相比之下Exynos 9810是个典型的反例,在冲击高频时付出了极大的功耗代价,却没有表现出与之相匹配的性能提升,能效比极差。

在SPECint2006测试中,麒麟980或者说Cortex A76表现出了相当均衡的各方面性能,在403.gcc测试项中的成绩相比麒麟970提高了2.67倍。456.hmmer和464.h264ref是SPECint2006测试中两个最强的后端绑定测试,Cortex A76也展示了与其时钟频率及乱序4发射前端相符的分数。在这一测试中,骁龙845的内存延迟表现不太好,因为它的L4系统缓存块在规格上确实有一点缺陷。

在SPECfp2006的结果中,麒麟980同样展现出了大幅度的进步。总而言之,麒麟980在所有测试中都有着全面改进,在性能和能耗方面的表现都非常出色。麒麟980以及Arm的Cortex A76都兑现了他们的承诺,甚至超过了此前人们根据官方消息所做的预测。

当然,麒麟980还无法与苹果的A12甚至是A11相提并论,而且这种情况很可能在接下来的几代中不会发生太大变化,至少在安卓阵营的处理器厂商设计出更好、更健壮的内存子系统之前都会是这样。

GPU性能和能耗比

GPU的性能和能耗比一直是麒麟960和麒麟970的一大痛点,而麒麟980是世界上第一款使用了Arm全新Mali G76 GPU的SoC,华为表示麒麟980的GPU性能相比麒麟970提升46%,能耗比则大幅提升178%。后一个数字尤其引起了一些关注,因为在这个行业中你看不到这样的增长。

在3DMark Sling Shot Extreme Unlimited的图形测试中,Mate 20和Mate 20 Pro都展现出了可观的峰值性能值,与麒麟970相比提升相当显著,但在达到热平衡之前仍然有很大的波动。

在GFXBench测试最新的Aztec Ruins Vulkan场景中,高质量模式下,Mate 20和Mate 20 Pro的性能表现都比较奇特:峰值性能并不是特别好,但持续性能几乎与峰值性能相同。而在普通质量模式下,Mate 20 Pro则表现出比Mate 20更高的性能。

在GFXBench测试的曼哈顿3.1场景中,麒麟980的峰值性能和持续性能也均有可观的提升。与Aztec Ruins Vulkan场景相比,Mate 20和Mate 20 Pro在曼哈顿3.1场景中的峰值性能和持续性能表现出了正常的差异,性能与大多数骁龙845设备相当。

遗憾的是,麒麟980的能耗比与华为官方数据及此前的预测相差较大,其性能表现正常,但功耗比此前预测的3.5瓦要高出1W,最终麒麟980的能耗比相比麒麟970提高了100%。

虽然外媒Anandtech称这仍然是相当大的代际改进,且表示此前华为官宣的178%能耗比提升可能是指麒麟980在与麒麟970相同的性能上的比较,不过麒麟970本身的GPU性能和能耗比表现就比较差,7nm工艺下的麒麟980在GPU性能提升45%、能耗比提升100%后,居然仍小幅落后于10nm工艺下的骁龙845,这不得不说是让人大跌眼镜的。

而在T-Rex中,麒麟980相比麒麟970的峰值性能提升幅度要小得多,不知道这里的瓶颈究竟是什么。麒麟980在Mate 20 Pro上的持续性能提升了50%,但在Mate 20上出现了严重的限制。T-Rex在现代SoC上的帧速率非常高,因此在许多方面都会受到CPU的制约。

同样,麒麟980在T-Rex场景中的能耗比相比麒麟970大幅提升,不过与在Aztec Ruins Vulkan和曼哈顿3.1场景测试一样,大幅提升的基础是麒麟970的能耗比是在太差,麒麟980也只不过是提升到了相对正常的水平,依然不及骁龙835、骁龙845和Exynos 9810,更遑论苹果A12。

第二代NPU

在去年1月测试麒麟970的NPU性能时,可选的测试软件只有鲁大师的AI测试,但它不支持华为的HiAI API,相关运算均依靠CPU实现进行处理。不幸的是,到了麒麟980和Mate 20上依然如此。

“AI-Benchmark”是由瑞士ETH苏黎世计算机视觉实验室的Andrey Ignatov开发的新基准测试程序,也是第一个广泛使用Android 8.1新NNAPI,而不依赖于每个SoC供应商自己的SDK工具和API的基准测试程序。AI-Benchmark应该能够更好地准确地表示从使用NNAPI的应用程序所预期的最终NN性能。

需要记住的一点是,NNAPI不仅仅是一些能够在NPU上运行神经网络模型的通用转换层,而且API和SoC供应商的底层驱动程序必须能够支持公开的函数,并且能够在IP块上运行它。这里的区别在于,使用NNAPI尚未支持的特性(必须退回到CPU上运算)的模型和能够硬件加速并对量化的INT8或FP16数据进行操作的模型。还有一些模型依赖于FP32数据,这里同样依赖于底层驱动程序,它可以在CPU上运行,也可以在GPU上运行。

前三个CPU测试项使用了NNAPI尚未支持的函数的模型,影响性能的仅仅是CPU性能以及性能响应时间,这意味着DVFS和调度器响应等机制可能对结果产生巨大影响,比如Galaxy S9上的表现就要明显优于同为Exynos 9810处理器的Note9。

尽管如此,将麒麟970与麒麟980进行对比,依然能够展示Cortex A76的性能,以及华为的DVFS /调度器可能的改进。

接下来的测试项基于8位整数量化的NN模型。不幸的是,华为手机的NNAPI驱动程序似乎仍未提供硬件加速,这些测试没有使用麒麟处理器上的NPU,测试结果展示的依然是CPU性能,华为表示计划在未来版本的驱动中修正这个问题。

在使用骁龙845的设备中,一加6和Pixel 3在性能上遥遥领先,甚至相比同为骁龙845的Galaxy S9+也是如此,原因是这两款手机都使用了高通公司最新更新的NNAPI驱动程序,该驱动程序与Android 9/P BSP一起发布,可通过HVX DSP加速NN应用。

接下来的FP16测试项终于启用了麒麟处理器的NPU,并且在新老两代处理器上都取得了领先的成绩。在这里麒麟980的双核NPU终于得以体现,Mate 20展现出了巨大的领先优势。不过一加6似乎在其NNAPI驱动程序中出现了一些非常奇怪的问题,使得它的性能比其他平台差一个数量级,不知道这项测试是跑在了其CPU上还是GPU上。

而在最后的FP32测试项中,大多数手机都再次回到CPU上进行运算,麒麟980的改进有限。

总体而言,AI-Benchmark至少验证了华为对NPU性能的一些宣传,不过从这些测试结果中得出的真正结论是,大多数具有NNAPI驱动程序的设备目前本身尚不成熟且功能仍然非常有限,与苹果如今的CoreML生态系统相比相差甚远。

雷锋网总结

麒麟980的CPU性能表现应该在很大程度上可以代表下一代骁龙8150的情况,高通或许会在CPU频率上稍稍提升一些,但最大的问题在于内存子系统方面,高通能不能解决L4系统缓存引入的延迟惩罚问题。

而Cortex A76对于三星来说就实在是太可怕了,如果Exynos 9820所用的Exynos M4架构只是一次常规迭代,说实话在Cortex A76面前是没什么竞争力的。三星需要在性能和能耗比两个方面均作出重大改进,才能与麒麟980相匹敌。

GPU方面,雷锋网认为,虽然Arm玩GPU确实比从桌面端过来的Imagination和高通(GPU团队来自ATI)差得远,但这个锅恐怕还没办法直接甩给Arm的Mali G76架构,因为三星Exynos SoC的GPU能耗比要明显好于麒麟SoC,两家分别选择了牺牲面积换性能和牺牲功耗换性能的方式。

三星Exynos 9810和8895虽然GPU面积很大(24.53mm² & 32mm²),但由于频率只有560MHz左右,因此功耗表现尚可,Exynos 9810的能耗比甚至非常接近于骁龙845。而与三星的狂堆核心数相比,麒麟970则只使用了中等数量的核心,然后通过拉高核心频率来榨取性能。

雷锋网曾经提到,每种核心架构在某一工艺下,都有一个能耗比最佳的频率区间,越过这个区间后,继续拉高频需要付出极大的功耗代价。麒麟970的Mali G72 MP12频率为746MHz,功耗上升非常明显,能耗比仅略高于使用Mali G71的Exynos 8895。

因此在理论上说,对比三星Exynos SoC,华为的麒麟SoC从未曾表现出Arm Mali GPU应有的能耗比。不过,据悉三星集成NPU的Exynos 9820也只采用了Mali G76 MP12的配置,远不如以前动辄MP18或MP20那么豪迈了。由此来看,华为“少核高频”的策略,是为了给NPU腾地方不得已而为之吧,或许只能等三星Exynos 9820的具体参数和测试成绩公布后才能进一步揭秘了。

NPU方面,回顾一下此前麒麟970的测试,在麒麟980上仍然没有看到NPU对用户有明显的好处,因为我们还没有可用的软件来使用这部分硬件。我们不清楚华为是怎样使用NPU进行相机处理的,但除了这些自带的第一方软件外,NPU目前对设备体验仍然处于一种薛定谔状态。

via:Anandtech

责任编辑:关文平
观察者APP,更好阅读体验

5.3%,一季度“开门红”能转化为“全年红”吗?

“以色列精心策划俩月,但严重低估了伊朗反应”

美国胁迫下,阿斯麦CEO最新涉华表态

他张嘴就来:不寻求与中国贸易战,但中企作弊…

乌克兰暗示西方“双标”,美欧:你们和以色列不一样