北京时间 9 月 2 日晚上,华为消费者业务 CEO 余承东在德国的 IFA电子展的官方论坛上做了主题演讲,正式发布了华为的新一代移动计算芯片——麒麟 970。
作为一款为手机设计的系统级芯片(System On Chip,即 SoC),麒麟 970 包含了所有同类产品该有的部件,比如 CPU、GPU、ISP、DSP、通讯基带,但麒麟 970 又多了一个所有同类产品都没有的东西——一颗为人工智能运算专门设计的 NPU。
下面我们就 SoC 的各个部件出发,全面地了解一下麒麟 970。
CPU、GPU:重点是降功耗
如果你是一个非常看重手机 SoC 的 CPU、GPU 极限表现的‘性能党’,麒麟 970 可能不会让你太兴奋。
CPU 方面,麒麟 970 的参数相比麒麟 960 基本没有任何变化,依然是 8 颗核心,其中 4 颗为高性能的 ARM 公版 A73 架构,最高主频 2.4GHz(麒麟 960 是 2.36GHz),4 颗位低功耗的 ARM 公版 A53 架构,最高主频 1.8GHz(麒麟 960 是 1.84GHz)。
有些遗憾的是,麒麟 970 并没有用上 ARM 在今年 5 月发布的新一代 Cortex-A75、Cortex-A55 架构以及为 AI 相关运算优化的 DynamiIQ 设计(麒麟 970 选择了另一种方法来提高 AI 运算)。当然了,考虑到 A75 和 A55 的发布时间、设计的复杂程度,麒麟 970 没用上也是可以理解的。
在发布会上,余承东并没有透露麒麟 970 的 CPU 性能相比 960 的变化,只是表示麒麟 970 的能耗比提升了 20%(主要得益于全新的 10 纳米制程)。至于实际的性能表现,不出意外的话,麒麟 970 应该和麒麟 960 处于同一段位,不会有非常明显的提升。
当然,横向来看的话,麒麟 970 的 CPU 性能没提升其实不是什么大问题。从 GeekBench 4 等跑分软件的得分上看,麒麟 960 的分数和高通骁龙 835、三星 Exynos 8895 基本处于同一水准,明显强于联发科 Helio X30。因此,即使麒麟 970 的 CPU 性能不变,也依然是 Android 阵营里移动 SoC 的顶级水准,只是不再像麒麟 960 发布时那么领先。
相比起 CPU 上的保守,麒麟 970 在 GPU 上的‘诚意’要显得更足一些。
首先,麒麟 970 则用上了 ARM 在今年 5 月刚刚发布的 Mali-G72 架构,理论性能相比麒麟 960 上的 Mali-G71 有所提升(ARM 的官方说法是相比 G71 性能提高 20%,功耗比提升 25%)。此外,在核心数上,麒麟 970 的 GPU 也从麒麟 960 的 8 核增加到了 12 核。
实际性能上,余承东表示,相比起麒麟 960,麒麟 970 的性能有 20% 的提升,并且能效比提升了 50%。
照理说,由于麒麟 970 的 GPU 核心架构比麒麟 960 更先进,核心数还多了 50%,并且制程更先进,GPU 性能提升的幅度应该远不止 20%。之所以出现这种情况,很可能是华为将麒麟 970 的 GPU 主频压得比较低,从而更好地降低功耗(于是就有了提升幅度高达 50% 的能效比)。不出意外,麒麟 960 上出现的 GPU‘满血跑’时功耗感人的情况,麒麟 970 上不会再出现。
通讯基带:比‘千兆 LTE’更快
作为一家通讯行业有着多年积累的公司,华为海思在通讯基带上有着深厚的‘家底’,特别是去年的麒麟 960,直接在 SoC 中集成了支持 LTE Cat.12/13 的 Balong 750 基带(最大下行速度 600Mbps,上行 150Mbps),并且支持 CDMA 网络,丝毫不逊色同期的高通骁龙 820、821。
在今年的麒麟 970 上,华为海思更进一步,直接大跨步到了 LTE Cat.18,最高下载速度飙到了 1.2Gbps(4x4 MIMO,3CC CA,256QAM),也就是比之前业界最快、骁龙 835 和 Exynos 8895‘千兆 LTE’还要再快上 200Mbps。
麒麟 970 还终于支持了在同时使用两张 SIM 卡时,主副卡同时用 4G(上一代麒麟 960 的副卡只能支持 3G)。此外,麒麟 970 还特别针对高铁时的使用做了优化,信号更稳定,减少掉线。
不过话还是要说回来,虽然麒麟 970 的通讯基带的确是厉害,但和骁龙 835、Exynos 8895 等支持千兆 LTE 的 SoC 一样,普通用户想要真正体验到这种超高速 LTE 网络,还得过上相当一段时间。
一方面,超高速 LTE 网络需要运营商的支持,虽然目前全球不少运营商(包括中国联通)已经开始了千兆级 LTE 的测试,但距离大规模商用还仍需时日。另一方面,在手机端,除了需要 SoC 自身的基带支持,如果要支持千兆级的 LTE,手机厂商还必须在手机的天线设计上投入额外的精力,以搭载骁龙 835 的手机为例,在目前上市的众多骁龙 835 手机中,真正能支持到千兆 LTE 的只有三星 Galaxy S8、HTC U11 等少数国际品牌机型的部分型号。
ISP、DSP、Codec、协处理器
ISP 的全称是 Image Signal Processor(图像信号处理器),主要功能是处理相机传感器中收集到的数据。
麒麟 970 的 ISP 主要是一些‘常规升级’,依然是双核设计,拥有更快的速度,更快地对焦,更优秀的降噪效果,并且对运动图像的捕捉做了优化。不过相比起单纯的 ISP 升级,NPU 对相机体验的提升可能会更大(下文会详说)。
在 DSP、配套 Codec 等方面,麒麟 970 也有所提升,其中配套的音频 Codec 可以支持 32bit/384k 的音频解码,过去几代华为高端机(Mate、P 系列)上表现乏善可陈的内放音质,有望在麒麟 970 这代产品上获得明显的提升,当然前提是 Mate 10 和 P11 系列还能保留 3.5 毫米耳机插孔。
另外,麒麟 970 依然搭载了 i7 协处理器(和牙膏厂的 i7 没啥关系),而 inSE(integrated secure element)和 TEE 安全引擎,在麒麟 970 上也都在。
在总线架构上,不出意外的话,麒麟 970 采用的应该是和 960 相同的 CCI-550。
10 纳米制程,比骁龙 835 还多的 55 亿个晶体管
制程上,不出意外,麒麟 970 用上了台积电(TSMC)最新的 10 纳米工艺,这应该是继苹果 A10X、联发科 Helio X30 之后,第三款采用台积电 10 纳米制程的移动 SoC。
通常来说,在芯片晶体管数量相同的情况下,更先进的制程可以降低芯片的核心面积,有助于降低成本,并且更加有效地控制发热和功耗。
在发布会上,余承东也表示,台积电的 10 纳米制程可以降低 20% 的能耗,将芯片核心面积缩小 40%。
不过有趣的是,麒麟 970 的核心面积并没有因为制程的进步而缩小,反而比麒麟 960 还要略大,这是因为麒麟 970 集成了高达 55 亿个晶体管,比麒麟 960 多出了 15 亿。
55 亿个晶体管是什么概念呢?大家可以参考几个数字。
Intel 在 2014 年发布的拥有 18 个核心的至强 E5 CPU,也才内置了 55.6 亿个晶体管。在更具对比价值的移动 SoC 中,以‘堆料’著称的苹果 A10 拥有 33 亿个晶体管,高通骁龙 835 拥有 31 亿个。
需要说明的是,虽然晶体管数量对性能有一定的影响,并且通常是越多越好,但在芯片工艺、架构不同的情况下,我们是无法简单地用晶体管数量来判断性能的,尤其是在内部部件众多的移动 SoC 中。
NPU:首款内置在手机 SoC 中的人工智能芯片
终于到了麒麟 970 最特别的部分——NPU。
NPU 的全称是 Neural-network Processing Unit,也就是神经网络处理单元。关于这颗 NPU 的功能,大家可以简单理解为专门高效地进行 AI 相关计算定制的处理器,就像 GPU 之于图形处理相关的计算,ISP 之于成像相关的计算。
传统的 CPU(包括 x86 和 ARM)和 GPU 也是可以用来做深度学习计算的,但由于它们本身并不是专门为深度学习定制的,效率并不高。而麒麟 970 的这颗 NPU 采用了来自寒武纪(Cambricon)的 IP,专门为深度学习而定制,FP16 性能达到了1.92 TFLOP,差不多是麒麟 960 的 3 倍(0.6 TFLOP 左右)。
在发布会上,余承东展示了一张在进行 AI 运算时,NPU 和 CPU、GPU 的对比。
可以看到,性能上,NPU 是 CPU 的 25 倍,GPU 的 6.25 倍(25/4),能效比上,NPU 更是达到了 CPU 的 50 倍,GPU 的 6.25 倍(50/8)。
另外,在华为内部的测试中,麒麟 970 的 NPU 每分钟可以识别出 2005 张照片,而不使用 NPU 的话则每分钟只能识别 97 张(这个速度应该是用 CPU 进行计算的),优势同样巨大。
至于这颗 NPU 具体能实现哪些特别的功能,我们还需要等到 Mate 10、Mate 10 Pro 上来揭晓。在发布会上,余承东提到了一些 NPU 在拍照方面的应用。
具体到拍照中,NPU 可以帮助手机更精准和快速地识别拍摄场景,让手机选择最合适的图像处理算法,在双摄背景虚化时,让手机对边缘虚化的处理更准确,还有最近很火的 AR 相机,NPU 可显著提高渲染的速度,降低功耗。
再比如说,有了 NPU 之后,手机可以将语音和语义识别的部分工作转移到手机本地,提高语音和语义识别的表现,提高手机中语音交互应用(比如语音输入法、智能语音助手)的体验。
值得一体的是,在发布会上,余承东还展示了‘开放移动 AI 平台(Open Mobile AI Platform)’,为 app 开发者提供了包括开发者网站和社区支持、开发套件以及自家的 app 分发商店在内的‘全套’服务,吸引开发者开发可以调用 NPU 性能的 app。
不过这里有个问题,这一套方案只是针对搭载麒麟 970 的华为手机的,并不是一个开放的平台,这意味着开发者即使写出来能调用 NPU 来实现某些强大功能的 app,也只能运行在仅有的几款华为手机上(短期内应该只有即将发布的 Mate 10 和 Mate 10 Pro)。
至于未来华为能吸引多少开发者来利用 NPU 开发支持自家 AI 平台的 app,现在来看还是个未知数,但至少在接下来的几个月内,恐怕更多地需要依靠华为自己的软件工程师来开发相应的 app。
当手机 SoC 遇到 AI
对于喜欢折腾手机的用户来说,手机 SoC 的性能可能永远都没有‘过剩’的那一天,不过对于更多的‘普通用户’来说,随着过去几年里 SoC 整体性能的不断提升,新款 SoC 在性能上带来的体验加成正在变得越来越小。在 5G 时代到来之前,在移动 VR 和 AR 应用取得突破之前,这种情况很可能会一直持续下去。
在麒麟 970 上,华为探索了另外一种思路:在传统的手机 SoC 上,额外增加一颗专门为 AI 相关运算定制的芯片(NPU),让手机本身具备 AI 能力,完成一些和 AI 相关的应用。
至于这颗 NPU 到底能有多大的意义,我们至少还需要等到 10 月 16 日发布 Mate 10 和 Mate 10 Pro 后才能作出判断,但可以确定的是,在 AI 席卷整个科技圈的浪潮中,麒麟 970 在 AI 上的探索只是一个开始。
今年 5 月,ARM 在发布新一代 CPU 架构Cortex-A75 和 A55 时,重点强调了提高 AI 运算能力的 DynamIQ 设计。今年 7 月,高通开放了自家的神经处理引擎(Neural Processing Engine,NPE)的 SDK,帮助开发者使用骁龙 SoC 进行 AI 相关的运算。
或许到明年这个时候,当我们在讨论移动 SoC 的时候,AI 芯片就会像 CPU、GPU 那样,成为智能手机中一个‘常规’的组成部分。