ARM——移动处理器背后的皇帝

提到芯片商,大家首先会想起谁?英特尔、AMD、苹果、三星、高通、联发科、麒麟......实际上,除了英特尔和AMD等少数混“X86圈子”的芯片厂外,其余厂商都是要看ARM脸色吃饭的。

“ARM”的两层含义

“ARM”这个词汇包含两层含义(图2)。第一层,ARM是“英国芯片设计公司”的缩写(已于2016年被日本软银收购),是一家致力于半导体芯片设计研发的企业。

第二层,ARM是与X86平级的CPU架构,它和X86的差别是改用了RISC(精简指令集计算机),虽然整体性能不如X86架构特有的CISC(复杂指令集计算机),但却因主打低成本、低功耗和高效率这三手好牌,恰好迎合了包括智能手机在内的诸多移动设备的发展潮流,从而一统非PC领域计算设备的江山。

火速链接:

有关ARM和X86之间的恩怨和异同,感兴趣的读者可以参考本刊2017年第3期《不再甘心移动 ARM染指PC千亿市场》这篇文章。

不一样的运营模式

ARM之所以默默无闻,主要就在于其独特的运营模式。作为全球最著名的半导体芯片厂商,英特尔总将芯片的IP设计、IC设计、晶圆制造和封装测试等环节大包大揽。

反观ARM公司,其只负责半导体芯片产业链中最初的IP设计部分,也就是研发ARM指令集、内核架构、图形核心和互连架构等,并将它们授权给其他芯片商完成从半导体芯片设计、生产到销售的其他流程(图3)。而ARM的盈利来源,则在于前期的授权费用,以及芯片厂后期销售时支付的提成费用。

如果套用一句流行的广告词,那就是“我们(ARM)不生产芯片,我们只提供一个芯片设计的Idea”。

可以说,作为一家不生产芯片的芯片厂商,ARM却在全球范围内支撑起了各种嵌入式设备、智能手机、平板电脑、智能穿戴和物联网设备的运行,只是ARM每年都会从构建上述设备体内的上百亿颗处理器中“抽成”,严格遵守薄利多销的运营模式。

有意思的是,随着时间的推移ARM和X86的边间也开始变得模糊起来。比如,ARM现在就开始“入侵”传统X86架构处理器坚守的高性能计算终端市场了。首当其冲的就是服务器,AMD在2014年就发布了首款ARM架构处理器“Opteron A1100”,并于2016年部署到服务器领域(图4)。作为与英特尔平级的X86芯片供应商,AMD的“倒戈”也恰好印证了ARM架构的先天优势:拥有更高的灵活性,定制能力以及更低的开发费用和功耗。

AMD副总裁Andrew Feldman曾表示,研发完全定制化、采用ARM架构的服务器芯片目前仅需花费18个月时间并耗资3000万美元,而研发基于X86架构的服务器芯片则需要花费3年到4年时间并耗资3亿到4亿美元,孰优孰略一看便知。

除了服务器市场,微软也联合高通推出了基于ARM架构处理器(骁龙835)打造的Windows 10笔记本(图5),并主打“永远在线”特性,而且很快就要与我们正式见面。对此类设备感兴趣的读者,可参考本刊2018年第一期《Always Connected PC 骁龙牌笔记本欲乘风破浪》这篇文章。

那么,就我们最关心的手机处理器而言,ARM给苹果、高通、联发科和麒麟等芯片商都提供了哪些帮助?

ARM一门四剑客

最早被应用在智能手机身上的处理器,来自基于ARMv6指令集设计的ARM11架构,比如第一代iPhone搭载的三星S5L8900、HTC G1搭载的高通MSM7201就都是基于ARM11架构定制。随着消费者对智能手机性能的期望值越来越高,ARM从ARMv7指令集开始引入全新的“Cortex+X”冠名方式(图6),让手机处理器架构的定位和性能变得更加直观。

ARM Cortex架构系列可谓“能屈能伸”的典范,它能提供非常广泛的可扩展性能选项,设计人员有机会在多种选项中选择最适合自身应用的内核,从而获得更好的能耗比、灵活性和成本控制。

针对不同领域,ARM将旗下的Cortex内核细分为了三大家族:针对开放系统的“Cortex-A”、面向嵌入式系统的“Cortex-R”和主打各种微控制器的“Cortex-M”(图7)。同时,ARM还可以提供与Cortex架构配套打包的Mali系列GPU方案,共同构成了ARM旗下的一门“四剑客”。

Cortex-A

Cortex-A系列又称“应用处理器”(Application Processors),它是面向移动计算,如智能手机、平板电脑和服务器市场定制的高端处理器内核,支持包括Linux、Android、Windows和iOS等系统必须的内存管理单元(MMU),也是与我们接触最为密切的存在。

ARM Cortex-A存在4个关键时间节点(表1)。第1个节点是Cortex-A9开启了多核时代的大门,但同时也让Cortex-A9与高性能、高发热和高功耗划上了等号;第2个节点是Cortex-A7和Cortex-A15架构与big.LITTLE“大小核”技术的出现,造就了更灵活的“2+2”、“2+4”、“4+4”多核组建方式,可以让多核处理器更好地在性能和功耗之间取得平衡;

第3个节点是Cortex-A72和Cortex-A53实现了从32bit向64bit的进化;第4个节点则是最新Cortex-A75和Cortex-A55架构的出现(图8),它们都基于最新的ARMv8.2-A指令集构建,并针对人工智能(AI)和机器学习(ML)能力进行了特别优化,同时还带来了TrustZone安全防御技术、改进的DynamIQ big.LITTLE技术,综合性能格外抢眼。

Cortex-R

Cortex-R系列又称“实时处理器”(Real-time Processors),它是面向实时应用领域的处理器内核,如硬盘控制器、汽车传动系统和无线通讯的基带控制等。和A系列相比,R系列内核缺少了对页表的支持,软件端看到的地址就是物理地址,软件运行时间和中断响应速度都更快更稳定且容易预测。虽然Cortex-R系列内核不支持完整的Linux和Windows操作系统,但对大量的实时操作系统(RTOS)支持更加完美。

Cortex-M

Cortex-M系列又称“微控制器处理器”(Microcontroller Processors),它是面向单片机和深度嵌入式系统市场的处理器内核,比如智能电表这样的细分市场就是Cortex-M的主攻方向。

Mali系列GPU

智能手机自然要具备出色的娱乐动力,所以合理的CPU+GPU搭配方案就显得尤为重要了(图9)。对ARM公司来说,如何让芯片厂缴纳更多的授权费?恩,在授权CPU的同时,再打包一份GPU不就结了?

于是,和高通Adreno、Imagination Technologies PowerVR齐名的ARM Mali嵌入式图形处理器就诞生了。随着Cortex-A系列架构的不断升级,ARM Mali GPU也经历了从Mali-200、Mali-400、Mali-T600、Mali-T700、Mali-T800、Mali-G71和Mali-G72的迭代更新(图10)。而影响ARM Mali GPU性能的因素有二,其一是GPU版本越新越好,比如Mali-G72肯定就要比Mali-T880强;其二是ARM Mali GPU可以选配不定数量的计算单元,GPU相同时计算单元越多性能越强。比如集成20个计算单元的Mali-G71MP20(如Exynos 8895)就要比八个计算单元的Mali-G71MP8(如麒麟960)强很多。

总的来说,ARM Cortex架构将我们身边无数的电子设备串联了起来,大到汽车中控、智能电视;小到智能手机、运动手表;微到物联网设备中超低成本的无线传感器节点,在几乎所有用电力驱使且具备一定计算能力的小伙伴都是ARM的客户(图11)。

小提示

ARM还有面向支付、电子政府、SIM卡等安全市场的SC系列,只是此类产品与普通用户关联不大,所以本文就不再涉及了。

ARM的商业模型是“你交钱,我授权”。但是,根据缴纳授权费用预算的多少,以及芯片厂自身的技术实力,ARM还是提供了多种授权方案供客户选择(图12)。

这是ARM提供的最深度授权方式,芯片厂可以仅购买ARM的指令集(如ARMv7、ARMv8),ARM允许芯片厂对指令集进行扩展或缩减,然后由芯片厂自行搞定内核架构、图形核心和互连架构等一系列研发设计。苹果A系列处理器之所以强悍,就是采用了ARM指令集授权然后自研CPU架构的策略,从而获得了远超同期公版ARMCortex-A架构的性能。

值得一提的是,高通早期的Krait架构也采用了ARM指令集授权方案,并先后经历了APQ8064(Krait 200)、骁龙600(Krait 300)、骁龙800/801(Krait 400)和骁龙805(Krait 450)共四代(图13)。三星从Exynos 8890开始也通过指令集授权的方式推出了自主架构“猫鼬M1”(Mongoose M1,只限大核部分,小核依旧是ARM公版的Cortex-A53)。

考虑到很多芯片厂实力有限,所以ARM还提供了类似“交钥匙”的授权方案,客户可以根据自己的需要直接挑选公版Cortex-A架构使用。这种授权可以帮助芯片厂快速搞出产品,只是能自由发挥的空间不大,处理器的类型、工艺标准都是规定好的,同类产品之间很难在CPU性能上拉开差距,性能的强弱完全取决于主频、GPU模块和搭配的调制解调器等外围芯片。麒麟、联发科和小米澎湃系列(图14),就多以这种使用层级的授权为主。

BoC(Built on ARM Cortex Technology)许可介于前面两种授权之间,AMD允许芯片厂基于公版Cortex-A架构的基础上进行“半定制化”。只是ARM仍然拥有并控制IP,但允许获得BoC授权的芯片厂对指令窗口大小、高速缓存等进行更改,并对芯片厂设计所要求的更改保密。

高通应该是全部经历三种授权的芯片厂代表。为了搭上64bit时代的首班车,高通在骁龙810时代采取了使用层级授权,直接套用ARM公版Cortex-A57+A53(图15),可惜受制于20nm工艺拖累深陷发热和降频的漩涡中,也成为了高通历史上口碑最差的骁龙处理器;在骁龙820时期,高通改用指令集授权方案,推出了自研的64位Kryo CPU核心,在运行效率上超过了同期的公版Cortex-A57,挽回了骁龙810丢失的声誉。

从骁龙835开始,高通又青睐于BoC许可授权,推出了分别基于Cortex-A73和Cortex-A53公版架构“魔改”而来的四颗大核Kryo 280和四颗小核Kryo 280。据悉,骁龙845高通还将沿用BoC许可授权,只是将核心换成了由Cortex-A75、A55魔改而来的Kryo 385(图16)。

小结

手机处理器的强弱很大程度上就取决于内核架构版本,苹果A系列处理器之所以强大,就是借了自研核心的光。问题来了,自研核心就一定优于ARM公版架构吗?有关这个问题,我们将在下个章节中加以解读。