当前,苹果用于iPhone、iPad、Mac的自研SoC芯片,是这家库比蒂诺科技巨头竞争优势的关键。
这些SoC中使用的处理器与 Arm 指令集兼容,但由 Apple 设计,其性能始终优于竞争对手的设计。
苹果是 Acorn 创始人赫尔曼·豪瑟 (Herman Hauser) 格言的现代典范,Acorn 是苹果在最初的Arm合资企业中的合作伙伴,“未来将有两种类型的计算机公司,一种是具有芯片设计能力的公司,另一种是已经死亡的公司”。
翻看历史,苹果的造芯之路并非一帆风顺,有大大小小的波折,也有力挽狂澜的正确举措。本文就来看看苹果公司首次尝试设计自己的处理器的故事和经历。
01 苹果决定开始自研芯片
这已经是在第一代 iPhone 出现之前二十多年的故事了。
随着20世纪80年代的进展,几乎每个半导体制造商和计算机制造商都感到需要拥有自己的处理器设计。
那是1982年,David Patterson 和加州大学伯克利分校的同事构建了两种可用的 RISC 微处理器:RISC-I 和 RISC-II。那时,他们发表的论文表明,这些设计的性能超过了一些领先的复杂指令集计算机 (CISC) 设计,包括 VAX 11/780 小型计算机。
伯克利的这项工作得到了国防高级研究计划局 (DARPA) 的支持,作为其超大规模集成 (VLSI) 计划的一部分。这种支持包括资助构建设计工具和支持 VLSI 制造服务 MOSIS 的工作。
DARPA还资助了斯坦福大学的RISC设计工作。与伯克利RISC项目的情况一样,斯坦福大学的团队发表了大量论文。这些再次表明 RISC 可以胜过当时领先的CISC微处理器,例如Motorola 68000。
伯克利分校和斯坦福大学的论文公开了RISC背后的想法,并揭示了 RISC 设计可以实现的性能。人们自然对RISC的兴趣开始迅速增长。
伯克利和斯坦福故事的另一个特点是,他们仅使用一班研究生一年的时间就成功地生产出了具有相当竞争力的微处理器。
但很快,RISC迎来寒武纪大爆发。IBM、伯克利、斯坦福MIPS、惠普、AMD、摩托罗拉、德州仪器等几乎每个对半导体制造感兴趣的人都开始研发并拥有了自己的RISC设计。
但这些简单的设计可以胜过大公司复杂而昂贵的计算机的想法并不总是受欢迎。为此业界展开了一场长达数十年、有时甚至是激烈的关于 RISC 与 CISC 优劣争论的开始,这一争论一直持续到今天。
Mac 于 1984 年推出,采用 Motorola 68000 处理器。到 1986 年,Apple 以及其他制造 MC68000机器的公司已经看到了使用一种新型 RISC 处理器设计的性能优势。
摩托罗拉 68000 处理器
1986年,采用MC68000 处理器的Mac乍看依然强势,但 RISC风潮兴起后(MIPS R2000 登场于1985年),以及行业巨头英特尔的步步紧逼,摩托罗拉的芯片开发进度逐渐落后竞争对手,这直接拖累了苹果的产品竞争力。
在这个背景下,苹果也不例外的加入到自研芯片的队伍当中。
史蒂夫·乔布斯 (Steve Jobs) 于 1985 年离开苹果公司,苹果公司当时由首席执行官约翰·斯卡利 (John Sculley) 管理。Mac部门的负责人 John-Louis Gassée 和 Sculley 被说服,苹果应该通过自研处理器来控制自己的命运。
根据Gassée的说法:“Apple 工程师 Sam Holland 提出了另一个更长远的想法:让我们为未来的 Apple 个人电脑开发一款我们自己的四处理器,该处理器将大大超过英特尔和摩托罗拉芯片开发的发展速度,从而保证 Mac 处于行业顶峰的地位。”
Holland被任命负责苹果先进技术小组内的这个项目,即“水瓶座计划(Project Aquarius)”。该处理器的架构被称为天蝎座(Scorpius Architecture)(靠近银河系中心的星座),最初的实现被称为心宿二(这是天蝎座中最亮的恒星)。
02 使用Purple Cray进行设计
Cray对Apple使用Cray X-MP感到非常兴奋。
在John Sculley的支持下,水瓶座项目获得了广泛的资源。
一度有超过50名员工参与设计。为了进行模拟和其他设计任务,Sculley允许该项目购买一台Cray“超级计算机”。事实上,据传说,Sculley本人第一个给Cray销售团队打电话。
据报道,Cray X-MP/48Cray X-MP/48耗资 1500 万美元,安装在其自己的专用大楼内,并在创纪录的时间内完成了准备工作:“对于熟悉这个通常漫长过程的人来说,苹果公司迅速获得一台超级计算机似乎是一个奇迹。但我们对超级计算机能力的需求是明确的,而且公司内部缺乏官僚障碍,大大加快了这一进程。因此,Apple拥有迄今为止最快的Cray系统安装之一,仅用了六周时间就准备好了安装地点。”
在这六周的大部分时间里,工作人员三班倒、每周7天、每天24小时工作,为系统准备机房。工作人员对建筑物进行了内部清理,安装了冷却塔、冷冻水和高压氟利昂管道、电线、空调、墙壁和假地板。
Aquarius项目本来应该是秘密的,但对于包含Cray这样昂贵的计算机的专用建筑来说,保密很难维持。好像新的Cray还不够显眼,它甚至还有自己独特的颜色——紫色。为了维持这种诡计,苹果公司的管理层编造了一个幌子,称该机器被用来为下一代Mac电脑开发“可视化界面”。
一个叙述让我们感受到了涉及Mac、Sun工作站、VAX小型机以及Cray的设置的复杂性:“Hyperchannel通过VAX-11/785、VAX-11/780和Sun/2将Cray连接到Apple Macintoshes的多个网络。Mac通过AppleTalk与以太网串联连接到VAX和Sun。以太网和AppleTalk通过Kinetics Inc的转换器系统桥接。”
从纸面上看,Cray在那个时代看起来非常强大:高端系统是X-MP/48,它包含四个CPU,理论峰值系统性能超过800 MFLOPS和800万字内存。
但存在多个问题。首先,设计Aquarius芯片所需的软件在Unix下运行。因此,Apple机器成为世界上第一台运行Unix的Cray安装,特别是来自AT&T的Unix System V,Apple与AT&T合作设计了新处理器。
其次,Cray是一台“向量机”,旨在快速运行某一类程序:那些可以分解为更小的任务并并行运行的程序。这不是一种可以轻松应用于水瓶座团队所需任务的方法。在适当的时候,该团队发现他们连接到超级计算机的Sun工作站可以像Cray本身一样快速地运行他们的软件。
03 天蝎座架构(Scorpius Architecture)
当其他公司效仿伯克利分校和斯坦福大学的开创性RISC设计时,苹果公司却走了一条不同的路线。
Aquarius的第一个版本根本不是RISC,而是堆栈架构设计。该设计没有使用传统的缓存,而是严重依赖软件和编译器来管理在需要时进出处理器的内存传输。当编译器团队表示不可能通过构建软件来完成此任务时,设计改为更传统的RISC设计。
但即使在这些变化之后,Aquarius的设计仍然新颖且雄心勃勃。来自Scorpius规范的最新版本:“Scorpius是一种紧耦合的多处理器CPU,对细粒度并行性提供高效支持;该架构的开发是为了利用单芯片VLSI实现的互连性。Scorpius旨在成为用最少数量的组件构建的高性能个人计算机系统的处理元件。Scorpius CPU包含四个独立处理单元 (IPU),它们共享对单独指令和数据缓存的访问、一个内存管理单元和一个内存/总线接口。”
独立处理单元(IPU 或 PU)是现代意义上的处理器核心:IPU 有一个小型的面向寄存器的指令集,其中对内存的所有数据访问都是通过寄存器加载和存储指令完成的。(寄存器和字大小为 32 位。)每个 PU 有 16 个通用寄存器(CPU 总共有 64 个)和 7 个本地寄存器。本地寄存器包括乘积、余数、前缀和各种状态保存寄存器。此外,4个PU共享8个全局寄存器。包括中断、事件计数器和全局状态寄存器。
Holland的背景是超级计算机,这或许影响了他购买Cray的决定。它可能也影响了Aquarius的设计,它就像超级计算机一样,专注于具有多种并行执行模式的并行计算。例如,它具有单指令多数据(SIMD)模式:这种模式对应于通常的并行处理视图:每个PU对不同的数据流执行相同的操作。
这一切看起来都非常具有前瞻性,但苹果能打造出Aquarius吗?
04 Aquarius Sinks
Scorpius设计中包含的所有新功能意味着它们失去了RISC方法的关键优势之一:简单性。加州大学伯克利分校和斯坦福大学以及英国Acorn的小团队在一年多的时间里成功设计和构建了可用的RISC处理器。在苹果公司,即使拥有五十人的团队,设计也难以取得进展。
尽管有CEO Sculley和Gassée 强力支持,Aquarius计划也理所当然引起争议,不仅需大量投资研发,更有不少员工不相信苹果有足够技术能力做出如假包换的产品,意思就是「苹果再有钱也做不出来」。Holland 制定的「Scorpius」处理器架构,就如英特尔「单芯片大型主机」iAPX 432,更造成当时经验最丰富的大型芯片设计公司也难以克服(就算今天大概也解决不了)的诸多技术难题。
到了1988 年,Aquarius计划依旧停在纸上谈兵的「简报王」阶段,失去耐心的CEO Sculley 撤换Holland,取而代之的是雅达利 (Atari) 视频游戏“乒乓球”(Pong) 的创造者、现在是苹果公司研究员的阿尔·奥尔康 (Al Alcorn),他是苹果公司最高级的工程职位。
根据Alcorn的说法:Scorpius变得越来越难看,毫无缓慢。还有人问我,我会接手这个项目吗?这被认为是职业自杀。这太糟糕了,他们意识到,作为一名苹果研究员,我没有什么可以证明的,所以我可以接手这样的案子。我对非常聪明的人很感兴趣,并试图挽救这个项目。
Alcorn又从Ridge计算机公司招募了Hugh Martin,后者是早期32位RISC处理器设计的创造者。据报道,Martin称Scorpius的设计对于Alcorn和Sculley来说都是“荒谬的”。苹果最好专注于自己的优势,而不是试图与英特尔和摩托罗拉等行业巨头竞争。
如今回头去看,据1989年公布的文档披露,Aquarius计划这颗名为Scorpius的CPU在规划上比较独特和激进,包括4核心、SIMD支持,还有多处理器互联通讯特性等,种种设计无不是超越当时时代十年以上的先进思路,但毕竟Aquarius计划是1980 年代产物,也势必受那时某些观念包袱拘束。
最终,Alcorn意识到这是毫无希望的,尽管“那里有非常非常聪明的人”。他于1989年结束了Aquarius项目。
此后,Sculley 聘请Martin 设计采用现有RISC 处理器的全新Mac 产品线,领导的“捷豹”(Jaguar)计划和另一位资深工程师Jack McHenry 的“干邑”(Cognac)计划,成果是改用Motorola MC88100 处理器的试作型Mac,操作系统也是基于Mach 微核心的Unix。类似MotorolaMC88000与MC68000的政治斗争,RISC 化的Mac 也不见容既有MC68000 体系Mac 的工程团队,对苹果来说,不幸的是Sculley 没有能力解决组织争斗,让此案功败垂成,却也奠定日后Power Mac 的基础,包含PowerPC 处理器执行的MC68000 模拟器。
而至于现在闲置于苹果旧总部绿谷的Cray超级电脑,拿去做知名《Pensil Test》动画后,就如苹果最初搪塞投资人的借口,挪去给工业设计团队做机构建模。
对于如此强大的机器来说,这很难不说是一个“可惜”的结局。
历史并没有记录该项目是否真的制造出了任何实际的硅。缺乏任何记录或提及原型表明他们从未构建过一个可用的系统。
05 Aquarius失落的时代?
站在2020年代的角度来看,这似乎是一个失去的机会。如果一家小公司Acorn能够在1985年设计自己的RISC处理器,那么苹果公司如果构建更简单的RISC设计也能做到。或许,我们现在使用的Mac电脑采用的是Apple已连续使用超过35年的最新版本架构。这些处理器甚至可能让苹果在20世纪90年代最困难的岁月中更具竞争力。
也许,试图改写历史总是危险的。苹果此时不需要自己的CPU设计。68000将被PowerPC RISC架构取代,苹果将获得IBM和摩托罗拉的资源,这可能是比Aquarius更好的结果。
不过引用Gassée的话:尽管处理器开发工作没有产生直接成果,但Aquarius项目是苹果始终渴望控制其硬件未来的早期例子...
正是这种持久的愿望为我们带来了2020年代的Apple Silicon。
另一方面,苹果也从一连串“伟大的实验”中得到了惨痛教训,莫过于——自己做不出来还不如找人一起合作。这一理念不知不觉推动了历史巨轮,环环相扣,与Apple Silicon 的起源有千丝万缕渊源。
1990年11月,苹果、Acorn RISC Machine(最初的ARM 全名)和VLSI 共同组建Advanced RISC Machines(现在的ARM,1998 年IPO 后改名ARM Ltd.)公司,苹果拥有高达43% 股份。1993 年著名的失败作Newton MessagePad 是苹果第一个使用ARM 处理器的产品。
彼时,ARM 改变业务策略,转做技术授权,带头逐步建立无晶圆厂芯片设计公司、晶圆代工厂和电子辅助设计(EDA)工具「三位一体」,也是现在我们熟悉的半导体产业样貌。但由于苹果1990 年代财务不佳,陆陆续续出脱ARM 股票。
时间来到1990年,苹果眼见自己做处理器毫无指望,老伙伴Motorola 的RISC大冒险之路又走得险象环生,一度对充满传奇色彩的效能王者DEC Alpha 处理器深感兴趣。但苹果被DEC 拒绝是一回事,看到Apple Newton 进入市场,让DEC 产生进军低功耗处理器的念头,那又是另一回事。
DEC主动接洽苹果,询问是否对高效能ARM 处理器感兴趣,只得到“你们做不到,但如果你们能做,我们可能会用”的暧昧回覆,于是DEC 跟ARM 一拍既合,“最强ARM处理器”StrongARM就这样诞生了,并成为了后来英特尔的XScale。2006年,XScale被Marvell接手就是后话了。
能看到,苹果第一颗芯片的故事,最终以失败收场。胎死腹中的自研处理器计划,也成为了那个时代苹果的缩影。
从第一款失败作“水瓶座(Aquarius)”算起,苹果用30多年时间,经过PowerPC架构、A系列,再到M1,打造了从移动端到PC的完整产品线,也事实上成为了一个强大的“芯片帝国”,而它的成长曲线和策略,可能是值得业内公司学习的。