Apple Silicon能有今天这样令人瞩目的成绩,与其过往几十年与芯片的不解之缘和历史有很大的关系。有关苹果与芯片的历史,此前我们就已经写过好几篇文章。不过其中可讨论的历史和八卦其实还非常多。
这段时间讨论度异常集中的苹果M1 Ultra,乃是一颗应用于Mac Studio的工作站级大芯片。在Mac电脑用的芯片还没有转向Arm指令集与自家微架构的时候,我们就写过一篇文章细谈了苹果Mac设备历史上的两次指令集转舵。在2005年史蒂夫乔布斯宣布与Intel正式合作以前,苹果一直在用一种PowerPC指令集的处理器。
PowerPC与苹果有过一段甜蜜岁月。1997年,乔布斯还曾经说PowerPC G3比奔腾II要快2倍,跟现如今M1 Ultra比酷睿i9快3.5倍是否感觉还似曾相识?本文作为历史课系列,就来回顾一下苹果为什么在2005年抛弃了IBM/摩托罗拉,转向了Intel。对于这个问题的理解,其实也更能帮助我们发现苹果这一路以来,在个人设备及芯片需求上的延续思路。
台灯般的iMac G4
掌握芯片的初衷,与AIM联盟的建立
《iPhone芯片前传》一文提到过苹果早在1986年就想过要自己组建芯片团队,将CPU掌握在自己手里;花了2年时间做一颗多核处理器Scorpius......的一份文档。从公开的这份文档来看,苹果的芯片设计思路虽然新潮大胆,但不管是当时的苹果,还是半导体业界的实际发展水平,都不可能将Scorpius真正造出来。
而Scorpius计划诞生的背景是,苹果电脑过去一直在用摩托罗拉68k系列处理器。苹果对于摩托罗拉多有不满,单CPU供应商这种模式也不是苹果想看到的。Scorpius芯片计划搁浅后的1990年,IBM发布了RISC System/6000处理器,应该是首颗采用POWER指令集的处理器。有关Power ISA本身,又是个长达30年的故事,这就不是本文要谈的重点了。总之当年的IBM期望打造市场上基于RISC的最快处理器,就有了POWER指令集。
首颗POWER处理器,也是最早的一批超标量RISC实践;不过这是个多芯片设计(multi-chip)的高性能产品。IBM认为,有必要去造个单芯版本来覆盖更大的市场,与此同时IBM也意识到这样的芯片有机会成为大规模量产应用于整个行业的产品。于是IBM联系了苹果,表示期望共同开发基于POWER指令集的单芯片微处理器。苹果自然非常感兴趣,很快还拉来了摩托罗拉一起准备搞个三方合作,毕竟摩托罗拉在量产微处理器方面的经验其实比IBM更丰富。AIM联盟也就自此形成了。
当时的PC个人计算机市场,正是Intel 80386/80486风生水起的时候。AIM联盟在属性上也有与成长中的Wintel联盟正面硬刚的意思。
AIM联盟对三家公司来说都是相当符合其发展利益的存在。IBM想扩张POWER覆盖的产品范围。而苹果要更牢固地掌控CPU产品及供应链的想法得到满足——虽说对这一时期的“苹果芯片”而言,苹果的角色充其量也就是出点钱,并买买奶茶。
对摩托罗拉而言,只需要低很多的设计成本就能广泛出售CPU产品,紧密了和苹果之间的关系;IBM也能发展成不错的客户。另外,当时摩托罗拉有自己的88k处理器,但对该系列可投入的资源相当匮乏,从开发进度来看自己都深陷泥潭。苹果其实已经做了88k的原型机,88k在通信应用领域也有了一些嵌入式设计的design-in。
摩托罗拉当时想的是,如果说POWER单芯片版能够在硬件级实现和88k的总线可兼容性,那么苹果和摩托罗拉就都能更快地让产品上市。1991年,各方面的需求最终造就了PowerPC。PowerPC指令集脱胎于POWER指令集。从维基百科的资料介绍来看,PowerPC实际上杂糅了88k的一些特性。与此同时摩托罗拉也在这一年停止了88k的研发。
在用摩托罗拉68k处理器的Macintosh
乔布斯的不满,与联盟的破裂
PowerPC指令的处理器,自然而然地应用到了苹果的Power Macintosh、PowerBook、iMac、iBook、Xserve等产品线上,而且延续了从1994年到2006年12个年头,称得上是比较长期的合作了。
合作中的甜蜜期就不多做阐述了,尤其1994年Mac之上的PowerPC多少也是让Mac用户感到了惊艳的,毕竟相比摩托罗拉原本的68k要彪悍太多了。当时的Computer Chronicles节目评价PowerPC,谈到Macintosh Quadra 950(1992年)预览一个复杂的图形需要1分钟,而新发布的PowerPC只需要10秒。
PowerPC于苹果Mac发挥的最高潮在2003年乔布斯的一段发言中。当时乔布斯说:“PowerPC G5改变了一切规则。这颗64-bit的处理器是我们全新Power Mac G5的心脏,全球最快的桌面计算机。IBM拿出了地球上最先进的处理器设计和制造专业技能。而这还只是漫长、高效合作关系的开端。”
有没有感觉到苹果现在的市场发言风格完全继承自乔布斯?无论是现在的苹果芯片还是iPhone、Mac设备的介绍。从这段话来看,2003年的AIM联盟似乎还相当有发展前景才对。单纯从性能来说,POWER指令集处理器在历史上也是多有高光时刻的。比如说面向服务器的IBM POWER4微处理器,成为首个商用的多核处理器,而且似乎也是最早一批突破1GHz频率的处理器产品。
当然POWER4并不是面向PC的,2年之后其单核版本以PowerPC G5的姿态问世——也就是乔布斯在发言中提到的那个。那个时候Intel x86处理器都还停留在32位时代。但也是这颗G5,成为后来苹果和IBM分道扬镳的直接原因。
2003年,G5还没有正式问世,乔布斯就对外宣传说很快要发布的Mac设备,处理器主频可以达到3GHz。“3GHz”成为彼时众所期待的一个值,虽然不知道乔布斯是被IBM骗了,还是自己信心太足。最终的PowerPC G5(PowerPC 970)跑在了2.5GHz频率上(后续似乎有2.7GHz版本)。
2004年的WWDC苹果开发者大会上,乔布斯说了这样一段话:“我想谈谈2.5GHz的话题,因为1年以前我站在这儿说,1年内我们要达到3GHz了。究竟发生了什么?事实就是,G5,如诸位所知是一颗很复杂的芯片。半导体行业要让速度变快,一般他们就是要缩减器件尺寸,PowerPC以前是基于130nm的尺寸来造的。去年半导体行业从130nm发展到了90nm,速度理论上应该会变得更快了。但实际上却遭遇了瓶颈(hit the wall)。整个行业在90nm遭遇了瓶颈,比人们原本预期得更有难度。所以速度提升比我们过去5年看到的都要缓慢。”
虽说这一年乔布斯并没有大说IBM(和摩托罗拉/Freescale)和PowerPC的坏话,还给出了90nm遇上瓶颈的说辞,但2005年苹果立马宣布抛弃PowerPC,并和Intel展开合作就知道事情发展到了怎样的程度。
从OEM厂商的角度来看,后续Power Mac G5电脑对于PowerPC G5芯片的实施,可能比乔布斯预想得还要糟糕。G5芯片极高的功耗和发热,让苹果必须重新设计G5电脑的结构。甚至在高配版本上(双CPU),苹果为了处理器的散热还特别设计了一套水冷系统——这在苹果历史上都是绝无仅有的。
随之而来的另一个问题是,PowerPC G5的这种“火热”表现,令其几乎无望应用于当时的苹果笔记本PowerBook。所以PowerBook从2004年以后的连续多次升级都全部停留在“G4”这个代号上。苹果此时的转向显得非常顺其自然。
另外,同期还有很多小插曲发生。比如说2000-2001年摩托罗拉G5项目预备推64bit的PowerPC处理器(PowerPC 7500),是继PowerPC G4(PowerPC 7400)之后的迭代,但摩托罗拉在这个项目上失败了(听说是在大规模量产早期阶段fail),所以最终的G5就主要来自于IBM(PowerPC 970,也就是前文提到的POWER4的下放)。再比如说2004年,Freescale从摩托罗拉分拆出来...
在此期间,AIM的三个参与者都有了各自的心思和问题。比如摩托罗拉频繁遭遇生产制造方面的问题。IBM则退出了32位嵌入式处理器市场,把对应的PowerPC产品线卖给了AMCC,仅专注到64位芯片设计上,只在意自己POWER指令集的服务器和嵌入式应用市场。苹果对于需要长时间等待合作伙伴更新处理器也感到了厌倦,还有下文将会提到的IBM芯片价格还非常昂贵。
2005年WWDC之上,Intel与苹果的世纪大合作基本宣告了AIM联盟的土崩瓦解。后续IBM和Freescale的联盟则被Power.org开放标准主体所替代,IEEE管理运营。目前Power.org的成员有IBM、Freescale、AMCC。现在的Power ISA指令集已经做了融合,早前的POWER和PowerPC合并到了一起。
芯片设计思路上的差异
淘汰PowerPC是很好理解的,苹果自己也谈到了PowerPC在发热、能耗方面的问题,限制了芯片的性能发挥。苹果2006年发布的13寸MacBook和15/17寸MacBook Pro采用Intel的双核酷睿处理器,宣传中提到性能相比iBook G4和PowerBook G4分别快了5倍,与此同时续航还提升了2个小时。(好像每次苹果一换处理器,性能都有几倍提升,视行业每年百分之十几二十的提升为无物...... )
另外值得一提的是,PowerPC的生态并不单是前文提到的这些。Windows操作系统甚至都还有过支持PowerPC指令集的版本,当今苹果芯片梦之队原始储备(后来被苹果收购的)P.A. Semi最早就在做Power指令集处理器。另外,现在的游戏主机生态虽然已经普遍转往x86,但游戏机市场PowerPC也是有辉煌期的。任天堂GameCube、Wii、Wii U,索尼PS3和微软Xbox 360的CPU都基于PowerPC指令集。
这其中尤为值得一提的是索尼PS3游戏机内部的Cell处理器,这是另一个值得大书特书的话题。Cell是由索尼、东芝、IBM共同开发(又是个联盟)的处理器,当年的名噪一时也源于索尼在PS3宣发前期做了大量不靠谱的宣传(虽然很可能也是被IBM给骗了)。就市场而言,Cell和PS3整体都可以认为是失败的产品。但这其中比较值得一提的是PS3因为用了Cell处理器,所以多台联合可以构建超级计算机。
有关PS3超级计算机的传说很多。比如2010年美国空军研究实验室(Air Force Research Laboratory)用1760台PS3打造了一台超级计算机,达成500 TFLOPS算力......当然Cell架构后来在游戏机之外,还发挥了不同的价值:比如Cell后续还曾应用于医疗成像、工业检测、通信等嵌入式应用和服务器、加速卡之类的产品。
聊到这儿,不知各位是否还记得前文提到的,PowerPC G5是脱胎自IBM POWER4服务器处理器。虽然我们没有细致研究当服务器处理器的核心微架构下放到PC平台时,IBM在设计上做了多少改进工作,但基本可以明确的一点是:IBM彼时的市场,其芯片始终是以大算力为基础,来逐渐通过缩减规模来下放给民用领域。
其设计之初就并不刻意偏向算力需求没那么高的市场,或者不怎么在意效率和功耗。所以G5的高配版,在PC平台得上水冷才压得住,至于笔记本这种功耗发热敏感型设备,更是想都不用想。
这和如今苹果芯片以手机为切入点,基于功耗敏感型设备来设计核心微架构,并以此为基础进行规模化扩展覆盖到了工作站级别的算力,是完全背道而驰的。M1 Ultra的规模虽然很大,但其CPU核心Firestorm实际上和iPhone 12上的A14芯片并没有太大差别。IBM后期专注的市场基本都在工作站、服务器,那时候这些东西还不怎么需要在意功耗和发热。
这种思路上的显著差异,大概是导致苹果抛弃PowerPC的必然和根本原因。或许AIM联盟缔造之初,就有彼此方向上的巨大差异造成的隐患是不被当时的AIM所感知的。索尼PS3和Cell的失败或许也与此有关。
PowerBook G4
还有个现实因素:成本
其实Intel也不是从低功耗领域起家的,不过Intel的发力点最初和IBM又不同。Intel最早的4004是计算机实现小型化非常重要的一步;而且Intel还打造了第一台“微计算机(microcomputer)”。从这个层面来看,至少在2005年之后的十多年时间里,Intel会是更适合苹果的。而Mac设备上的Intel处理器被苹果换掉的根因,或许和当年苹果换掉PowerPC也大同小异,这就是后话了。
不过除了功耗、效率以外,当年的Intel在个人计算机处理器市场还占据一大优势:成本。CNET十多年前写过一篇文章,谈到他们联系到一名原IBM高层,他透露了当年苹果抛弃PowerPC的一个重要原因:“苹果想要更好的价格。”
据说此前苹果给IBM芯片付出的价格是相当高昂的。不过当时PowerPC处理器的价格高也是很好理解的。我们认为,成本问题大致上有几个关键点:
第一,苹果Mac设备在整个PC市场上都是小众的,市占率不高,导致其芯片需求量也高不到哪里去。我们知道,民用电子设备的处理器——尤其是采用尖端制造工艺的CPU,是需要靠走量来摊薄CapEx成本的。在量越大的情况下,成本也就对应得越低。在半导体制造全面进入130nm节点以后,迭代成本之高开始显现出威力;没有量更是死路一条。
随之而来的第二点,对IBM而言,苹果Mac的量也实质上成为其成本负担。IBM需要花大量的精力在其芯片组、compiler和各种配套技术的支持上,最终能赚钱都很成问题。似乎PowerPC的诞生还一度影响到了IBM自家POWER指令集处理器的开发。
IBM的这位线人就提到,苹果的生意后期对IBM来说,就是巨大的经济负担。苹果拿到IBM芯片的价格自然就非常高。据说当时IBM甚至想过,把苹果的成本转嫁到Cell架构上,然后实现芯片设计和制造的规模化效益。这样芯片价格更低,也能赚更多的钱。
第三,IBM的产品似乎一直以来就有着价格高昂的传统,原POWER生态就十分高冷,开发者数量寥寥——当然这也是其产品面向的企业市场决定的。苹果在PowerPC上基本属于在消费电子领域的IBM翻版,苹果的PowerPC生态对很多开发者而言是相当不友好的。这就导致了恶性循环,生态不怎么样,量就上不去;量上不去,价格就下不来;价格下不来,赚钱少、买的人又少,缺乏竞争力,又影响到生态和量。
另外多插一嘴:当今Power的市场,决定了其产品迭代周期将远久于活跃的市场参与者。Power最近4代产品的发布时间分别在2010年、2013年、2017年、2020年。2013年成立OpenPOWER基金会,到2019年Power ISA开源,Power市场在各个领域的小众化(包括超算)都是不可逆的。
而当年的Intel显然摒弃了上述所有缺陷,包括其庞大的PC市场、海量的PC处理器出货量,令其成本低很多,迭代周期又明显更短——极易在生态进入良性循环以后,在性能方面轻而易举地超越PowerPC。而且自小型机起家的传统,又令Intel处理器有着兼顾功耗的优势,这都是当时的苹果迫切需要的。
苹果最终转向自家的Apple Silicon,似乎也只是这个故事的进一步续写。
- mark