从多种角度检视苹果M1的优劣势与真正造成的影响
2020-12-09
来源:EETOP
苹果发表初代「Apple Silicon」M1 处理器后,其优异的性能表现,加上多年来世人对「挤牙膏」的Intel和「毫无道理可寻」x86指令集,长期累积的不满,一次「业力引爆」,导致很多人瞬间失去了知识、理智和常识。
除了网络上满满的吹捧其跑分性能的歌功颂德文,以排山倒海之势,把人炸得昏头转向,连更换底层硬件架构之后最重要的软件兼容性都忘的一干二净,更不乏「微软将弃x86 而典范转移到ARM」、「Wintel即将土崩瓦解」和「苹果将强势重返服务器市场」等缺乏逻辑的横空高论,纷纷倾巢而出,仿佛让人活在苹果早已统治电脑工业的平行时空。
笔者将会深入探讨苹果M1的优势、劣势与对业界造成的真正影响,但在一堆人还在一头热的当下,为了避免任何的误解,索性先将「结论」写在前头:
苹果M1 的优异性能的根本基础是台积电5纳米制程与160 亿晶体管,这简单的道理,只要想想还在受困于10 纳米制程良率,和AMDZen 3 依旧停在台积电7 纳米,即可明白。
苹果M1 的优劣势皆来自于其封闭生态体系,苹果过去强行将iOS 和macOS 的应用程序全面64 位元化,就是为了Apple Silicon 的长远布局,让他们可以专心针对64 位元AArch64 最佳化,无须顾虑32 位元昔日包袱的执行效率。
Apple Silicon并非毫无风险,不只转型阵痛期,更赌上了「究竟会有多少「假果粉」Mac用户非要安装原生Windows不可」和「会因为更好的整合性,愿意皈依苹果神教的新兴信众」,哪一边会比较多。
只要苹果没有想不开出售芯片给其他人,或者微软弃x86 转向ARM,就算苹果自研处理器在自己的电脑上跑自家的软件再快,Mac 区区不到7% 的个人电脑市占率和不足2,000 万台的一年出货量,丝毫动摇不了Wintel 和x86 生态系统的基本盘。
在商言商,战略重心早已转向云端的微软,操作系统从x86 全面转移到ARM,或着只弄出个特化版Windows,现阶段对他们根本一点好处也没有,做个M1 原生的Office 就该谢天谢地了。
同理可证,最终目标放在维持自家生态系获利的苹果,自然也没有跨界的必要。自从iPhone 4 开始使用自己的A4 处理器,苹果就从未对外销售芯片,有什么理由相信他们会瞬间策略大转弯?
有鉴于过去Xserve 和Xserve RAID 的惨痛教训,苹果很难有动力重返因出货重心转移到云端巨头自行客制化的数据中心,而导致利润早已大不如前的品牌服务器市场。
苹果M1 对业界真正的影响与对Intel、AMD 最不利的因素,在于这将鼓励云端巨头更积极的打造自用的ARM 服务器处理器,而这也是以ARM 为首的芯片IP 生态圈最重要的价值:用最短的时间和最少的费用,用拼积木的方式,研制出Time To Market 的产品。
AMD 重新启动K12 微架构专案,推出相容ARM 指令集的EPYC,可能性慢慢的上升中,假如成真,「处理器游侠」Jim Keller为此重回AMD(他先前在AMD 时,原本要操刀这个专案),也不会是太令人感到意外的发展。
以电脑工业历史的角度,从A4 到M1 的发展历程,象征着「只要有制程优势和够大的市场基本盘」,RISC 绝对比CISC 更能轻易生出兼具高性能与低功耗的处理器微架构,这是IBM 无缘享有的先天利基。
大概就是这样,但还是强烈建议各位继续硬着头皮看下去,你将会有更多的收获。
M1的天时、地利与人和
苹果M1 的单核跑分一举追上Intel 和AMD 的最新x86 微架构(WillowCove、Zen 3),其实并不会让人感到一丝一毫的意外,毕竟天时、地利、人和,都站在苹果那边。大家还记得电影少林足球的强雄的经典台词吗:「球证、旁证、技术委员、主办、协办、所有单位都是我的人,你们怎么跟我斗!」
天时:台积电和Intel制程技术出现了看似一去不回头的死亡交叉。在过去,x86指令集兼容处理器之所以能够跟「高效能」划上等号,仰仗着领先众多RISC体系的制程技术优势,以及蓬勃发展的个人电脑市场,才有那个资源去支撑动辄3到5年的产品开发周期,现在反倒是苹果占了这些便宜。
地利:靠着1年超过2亿部iPhone和5,000万台iPad的雄厚本钱,苹果率先启用台积电5纳米制程,而Intel却连挤10纳米牙膏都挤不太出来。至于AMD大概都准备把有限的资源,集中在5纳米的Zen 4和3纳米的Zen 5了。
人和:苹果在2017年底的iOS 11完成了iOS App纯64位元化,也在2019年macOS Catalina全面终止32位元App支援,不但让苹果可全心全力发挥64位元ARMv8-A的潜能,也简化了Rosetta 2二进位码动态转译器的复杂度,只要转换x86-64到ARMv8-A,而且也不包含难搞的AVX、AVX2和AVX-512,这对改善效能当然也有立竿见影的效果。
当RISC 处理器享有昔日x86 的制程优势与市场规模
智能手机就像昔日的个人电脑,给了消费型RISC 处理器一块逐渐茁壮成长的沃土。苹果M1 的最大成就,莫过于将IBM Power 等级的超高阶RISC 心脏,以一般人可以接受的成本与价格,搬到了笔记型电脑里面,创造了地球上最强大的移动式运算处理器。
当年曾经参与PowerMac 的IBM 高层与众多RISC 先驱者,看到苹果终于在M1 修成正果,不知是否后悔并未认真替苹果研发适用于笔电的PowerPC 处理器,眼睁睁的看着Power Everywhere 战略大计,失去了最大块的基本盘,使其终究没有实现的可能性。
时过境迁,让人不胜唏嘘,更使人不得不好奇,2 位当代RISC大师David Patterson 和John Hennessy,会如何在未来的新版电脑组织结构教科书中(《计算机体系结构:量化研究方法》),对苹果M1 写下怎样的评语。也许他们的心情也会五味杂陈吧?
抽丝剥茧M1 为何如此强大
看跑分看得很爽是一回事,但要透彻领悟支撑这些数字的技术却非常的困难,笔者就先依据列出几个规格,比较苹果M1(高效能Firestorm、低功耗Icestorm)、 Intel Tiger Lake-U(Willow Cove 微架构)、AMD Ryzen 5000 系列(Zen 3 微架构),让各位瞧瞧台积电5 纳米制程和160 亿晶体管的威力究竟有多么巨大。因GPU 相关资料仍过于有限,本次聚焦在CPU 的部分。
光从这张晶体管数量、芯片面积和整合的功能,就足以见证台积电5 纳米制程有多么的可怕,这才是M1 强大的根基,其他的讲再多都是多余,也让人极度期待AMD Zen 4 的规格与表现。
再来看看决定IPC(Instruction Per Cycle,每个时钟周期的执行指令数)上限的指令解码宽度和乱序指令执行核心(OOOE,Out-Of-OrderExecution)的重新排序缓冲区(ROB, ReOrderBuffer)。乍看之下,M1每个时钟周期最多可解码8 个指令(其实从A11 就差不多是这样了),完全是IBM Power 的等级,似乎很厉害,但这本来就是指令编码格式统一、长度固定的RISC,应当享有的先天优势。更何况,一个「相对简单」的x86 指令,其工作量可能就相当于1.5-2 个ARM 指令,Intel 和AMD 又有微指令Cache加持,换言之,解码器宽度的差异性并没有那么大,唯一可以确定的是复数x86 指令集的解码器,真的非常的难实作。
但乱序指令执行核心的规模差距就让人瞠目结舌了,几乎都是最新型x86微架构的2-3 倍,世上唯一凌驾于苹果的,只有单一核心可同时运行「1,000 个指令(In-Flight )」的IBM Power10 了。同场加映ARM 本家最强的Cortex-X1:ROB 也只有224。此外,藉由4 个128 位元NEON 运算单元,Firestorm 的浮点指令输出吞吐量,为现有新型x86 微架构的2 到3 倍。就算论数据更宽的SIMD 指令集,「极度向量电脑化」的SVE(Scalable Vector Extension),其未来性也远胜于AVX-512,就看苹果想不想用。
苹果历代Ax 处理器一直有一个为人称道之处:规格简单粗暴、但性能表现强大到让人感觉很不真实的存储器子系统,M1 Firestorm 核心「6 倍」于Intel AMD 的L1 指令快取,在前代A13 就有128kB 的等级。Icestorm的L1 指令与数据快取容量分别是128kB和64kB,但也多于现有x86 核心,连4 核共用的L2 快取也有4MB。
当然,x86 因大量指令直接以存储器做为运算目标、使其非常的「Memory Intensive」,以及指令格式混乱,激增了快取存储器的复杂度,但「其他」的ARM 指令集相容处理器至今仍远远不及苹果的成就,却也是不争的事实。
不过,在规格表上看不到的秘密是:iOS 11 全面软件生态系统64 位元化之后,苹果Ax 处理器「很可能」早就放弃32 位元兼容性(或着就算能用也是跑得很慢),这是连IBM 都无福消受的天大优势,毕竟数十年来,还是有一大票老旧的企业服务器应用程序,在今天还在线上服役。也因此,当震惊于M1 的优异表现之余,各位也请冷静的想想,这根本就是一场不公平的竞赛,而苹果M1 与其后代,也注定难以走出自家的封闭花园,有谁会想要一颗跑32 位元应用程序很慢、甚至根本不能用的ARM 系统单芯片?
重回服务器市场的机会还是非常渺茫
这年头只要一提到「高效能」,很多人的身体就会本能性自动反应「进军服务器」,不过「服务器」等级的处理器,并不是空有高效能,即可功德圆满,高可用度、高稳定度、更精细的虚拟化管理机能、更完备的管理机制、与操作系统高度整合的错误回报技术,都是必要的条件。充足的I/O 完整度、供给充沛频宽和容量的存储器子系统、大型化多处理器/ 多核心仰赖的高效率快取数据一致性协定(Cache Coherence)等,更是不可或缺。很明显的,目前这个M1 还是远远不及IBM Intel 和AMD。
某些高人相信苹果可以一步一步慢慢来,先从「边缘计算(Edge Computing,如欧洲电信标准协会定义的5G MEC)」服务器切入,但也得苹果有类似电信营运商的需要。更何况,边缘计算服务器,往往会被布署在环境较为严苛的地点,等于一脚踏入工业电脑厂商的守备范围。除非苹果对「服务器」有着突破性的定义和创新,否则像Google 云端TPU 一样「自研自用」替使用者提供云端服务,是最有可能的方向,但也绝非一蹴而就的。
关于苹果是否将重回品牌服务器的议题,无论如何,机会都非常的渺茫,况且苹果在「企业端软件解决方案」这部份的资产几乎是零,为此开辟一个获利不高的血腥战场,对他们并不划算,没必要重蹈当年Xserve 的覆辙。
延伸到自家数据中心的可能性激增
话说回来,看在苹果的Mac Pro 里面还有一颗「28 核心」Xeon 要用自家芯片取而代之的份上,说没有高端产品的开发计划,绝对是骗人的,这也可能触发苹果连数据中心都逐步转移到自家芯片的可能性。苹果在2015 年在其数据中心将VMware 转向开源的KVM,现在看来,并非区区只为了节省2 年2,000 万美元的软件授权费用,背后隐藏了更巨大的布局。
只不过,到头来,这些目前尚未存在的「服务器等级AppleSilicon」,也是苹果自家限定,外人无缘一亲芳泽。只希望这间公司哪天想开了,愿意站上IEEE、ISSCC 和HotChips 的演讲台,让世人一窥其神秘芯片家族的庐山真面目,但这件好事成真的机会还是很渺茫就是了。
M1 的下一步?
M1 只是苹果小小的第一步,后继将会推出更高端的产品,但对苹果最重要的并非效能,而是设法加速软件生态圈转移到原生版程序的进度,像时下「Rosetta 2 跑得不顺、甚至无法安装应用程序」、「印表机等周边驱动程序无法运作」、「电池续航力远不如官方宣称的持久」等,都是苹果急需迫切解决的难题。
虽然苹果生态圈常见「只要搞定微软Office 和Adobe 就等于解决80% 需求」的论点,但除非你只会用得到Safari 和macOS 内建的应用程序,要不然当下的确不是入手M1 心脏MacBook 的好时机。
从M1 回头检视RISC 与CISC 的战争
人类第一台RISC 电脑IBM 801 计划的主持人John Cocke,假如地下有知,应该会感慨万千吧。长期垄罩在x86 阴影之下的电脑工业,仿佛暗云散去,照出了一道道充满希望的曙光。
「x86 义和团」和「RISC 十字军」的战争,持续了20 几年,随着前者的自灭和M1 的问世,后者近来开始有「蠕动」的迹象。但笔者还是得提醒一个血淋淋的前提:苹果是一个「瓶中生态系」的封闭花园,里面再怎么枝繁叶茂,就像茶壶内的风暴,对外面的世界几乎难以带来直接的冲击。
反过来说,苹果M1 的诞生,对整个电脑工业界并不算坏事,最起码足以让Intel 和AMD 受到更强烈的刺激,促使他们加快研制更性能强悍的处理器,而不是像Intel 的Skylake 微架构一样,一用就是4 年,然后这段「牙膏期」就让ARM 指令集兼容处理器,效能激增到足以挑战高阶x86 微架构的水准。
库克终于实现了乔布斯的未竟之志
将冷冰冰的技术规格束之高阁,来谈点比较感性的东西。
回顾苹果在2008 年并购PA Semi 时,外界普遍不看好乔布斯的大胆决定,也一度无消无息到让人以为苹果早就放弃了,直到iPhone 4 才让大家知道苹果是玩真的。12 年来,在这个研发先进制程高效能处理器动不动就烧掉10 亿美元的年代,苹果持之以恒的将自己的芯片一步一步从手机平板推进到自家的Mac,怎么算都耗费了数十亿甚至上百亿美元都有可能,所以这也是笔者对于那些宣称Apple Silicon 单价只有「几十美元」的产业分析师嗤之以鼻的主因,你们是以为「研发」这件事是不用成本的吗?
苹果熬了这么久,也做了这么多的超前布署(软件生态纯64 位元化、数据中心舍弃VMware),背后一定满满来自乔布斯那未竟的执念,而库克总算实现了他的梦想,这才是M1处理器,真正让笔者有感的地方,也没有任何东西比M1 更能吊祭已不在人世的史蒂夫·乔布斯。