简单的说一下苹果处理器(苹果处理器之前世)
也许这次了无新意的iPhone 14 发布会,并没有替果粉「充值信仰」,但2019 年4 月30 日,一份出现在网络的网络档案馆(Internet Archive)、1989 年发布、内容多达220 页的苹果机密文件(或许能当成一本书),披露的「水瓶座」(Aquarius)计划、「天蝎座」(Scorpius)处理器架构规格、预定实作的「心宿二」(Antares)处理器,精彩桥段与后继影响,可能远比历史任何iPhone 更有「激励士气」效果──即使当时就是根本不可能成真的天方夜谭。
▲ 苹果1986年启动的「水瓶座」计划堪称多核心、多线程先驱,但如英特尔「单芯片超级电脑」iAPX432,太多概念都不是那时代的技术能消受。
了解苹果历史的人应当都记得乔布斯(Steve Jobs)这联合创始人,1985 年与董事会和CEO史考利(John Sculley)权力斗争而离开公司,带着几名员工创立NeXT,1997 年随苹果并购NeXT重返旧地担任CEO,重振濒临破产的苹果,并让基于NeXTSTEP操作系统(Mach 微核心)的Mac OS X(现称macOS)取代最初Mac OS。
水瓶座:对续影响引发连锁反应的低调计划
一长串故事背后,却是由苹果如何取得「Motorola MC68000 处理器的RISC 继承者」驱动,经历苹果启动「水瓶座」计划展开自研处理器专案、「捷豹」(Jaguar)计划试图使用现成RISC 处理器Motorola MC88110 打造执行全新Unix 操作系统「Mach」的Mac 产品线、NeXT 追随苹果脚步从MC88110 转向PowerPC 等。更重要的是,这直接促成ARM 成立,很少人记得苹果曾是ARM 最大股东。
1986 年,采用MC68000 处理器的Mac 乍看依然强势,但 RISC 风潮兴起后(MIPS R2000 登场于1985 年),逐渐失去竞争优势。继乔布斯被赶出苹果时接管Mac 产品线的部门负责人Jean-Louis Gassée(这位法国巴黎人后来成立Be 公司开发出BeOS 并笔耕不辍,在吐纳商业评论持续有授权连载翻译)和部门首席工程师Sam Holland,成功说服CEO John Sculley「应当使用自研处理器,以牢牢掌握自己的命运」(嗯,有股熟悉的感觉),启动Holland 负责的「水瓶座」计划,筹组50 名员工团队,并购买一台价格1,500 万美元(等于2019 年的3,500万元)Cray 超级电脑。因巨额开销必须提列财报,无法隐瞒,所以苹果给投资人的说法是「用来做机构建模」。
尽管有CEO Sculley和法国人Gassée 强力支持,水瓶座计划也理所当然引起争议,不仅需大量投资研发,更有不少员工不相信苹果有足够技术能力做出如假包换的产品,意思就是「苹果再有钱也做不出来」。Holland 制定的「天蝎座」处理器架构,就如英特尔「单芯片大型主机」iAPX 432,更造成当时经验最丰富的大型芯片设计公司也难以克服(就算今天大概也解决不了)的诸多技术难题。
到了1988 年,水瓶座计划依旧停在纸上谈兵的「简报王」阶段,失去耐心的CEO Sculley 撤换Holland,由传奇人物Allan Alcorn(以在Atari 创作第一个电子游戏《Pong》闻名)取代。他向微处理器专家Hugh Martin 咨询水瓶座计划的可行性,后者读完整个天蝎座处理器架构规格后,给了Sculley 和Alcorn「荒谬」(ridiculous)的结论。
因此1989 年,Sculley 中止水瓶座计划,并聘请Martin 设计采用现有RISC 处理器的全新Mac 产品线,领导的「捷豹」(Jaguar)计划和另一位资深工程师Jack McHenry 的「干邑」(Cognac)计划,成果是改用Motorola MC88100 处理器的试作型Mac,操作系统也是基于Mach 微核心的Unix。类似MotorolaMC88000与MC68000的政治斗争,RISC 化的Mac 也不见容既有MC68000 体系Mac 的工程团队,对苹果来说,不幸的是Sculley 没有能力解决组织争斗,让此案功败垂成,却也奠定日后Power Mac 的基础,包含PowerPC 处理器执行的MC68000 模拟器。
至于现在闲置于苹果旧总部绿谷(Green Valley)3 号大楼的Cray超级电脑,拿去做知名《Pensil Test》动画后,就如苹果最初搪塞投资人的借口,挪去给工业设计团队做机构建模。
既然苹果自己想做处理器做不出来,「砍掉重练」操作系统也五五六六,为何不直接「站在巨人的肩膀上」,与「软硬兼备」的大厂「送作堆」?身为捷豹计划核心人物的Hugh Martin 就支持苹果与Sun 合并,提供客户更全面的电脑平台,从文书处理一路到工程师专用高端工作站,这事当然没有成真,虽然从Solaris 衍生的Mac OS 好像真的很酷。
值得一提的是,福特汽车之所以胆敢承诺Motorola 以「10 亿美元」购买基于MC88000 的微控制器(无疾而终的MC88300),原因明显来自苹果的刚性需求,支撑这系列处理器研发。当苹果与IBM 和Motorola 组成AIM 联盟后,福特汽车也自然转向PowerPC,影响开发下一代工作站的NeXT,确立未来Unix 化的Mac OS X。
总而言之,Apple Music 里的Aquarius Project 并不是苹果史上第一个「Aquarius Project」,Mac OS X 10.2(代号Jaguar)并不是苹果史上第一个「Jaguar」,Mac OS X 更不是苹果史上第一个采用Mach 微核心的操作系统。
▲「水瓶座」计划目标可实作多达16 颗处理器的NUMA(Non-Uniform Memory Access)平台,每颗处理器都有专用主存储器,但如何实做快取数据一致性就是天大的难题。
不可能达成的规格终究是不可能
前面讲了这么多故事,差不多该进入本文主角:水瓶座计划。由大到小,规格简述如下:
- 三个代号:「水瓶座」(计划名称)、「天蝎座」(技术规格)、「心宿二」(产品实作)。坦白讲,一次用三个名字实在有点多余。
- 支持16 处理器与分散式实体存储器(Non-Uniform Memory Access,NUMA)环境。
- 32 位元RISC 处理器。
- 4GB 可定址存储器空间。
- 看起来很像「四核心」的4 个功能相同处理单元(Processing Unit,PU),透过5×4 Crossbar 互通有无,共享指令快取存储器、数据快取存储器、与存储器管理单元。因为所有核心实际上必须在相同存储器定址空间执行,单核心概念近似「硬件线程」,如我们熟知的同时多线程(SMT)。
- 每个处理单元各有16 个32 位元通用数据暂存器(GPR)和7 个区域特殊用途暂存器(Local SPR),所有处理单元再共用2 个程序计数器(PC,分别标定「目前」和「下一个」指令所在存储器位址)和8 个全域特殊用途暂存器(Global SPR)。
- 4 个处理单元可弹性执行SIMD(单指令处理多笔数据)、MISD(多指令处理单一数据)和MIMD(多指令处理多笔数据)三种平行运算模式,让人眼睛一亮。
▲ 水瓶座四个处理单元可任意组合成SIMD、MISD 或MIMD 运算型态,非常有创意。
- 单一处理单元可在「某些场合」达成「某种程度」超标量流水线,也就是同时执行两个指令。
- 有一系列快取存储器控制指令,很可能借鉴 HP 的PA-RISC。
以上种种,无不是超越时代十年以上的先进思路,但毕竟水瓶座计划是1980 年代产物,也势必受那时某些「观念包袱」拘束,如:
- 指令编码长度仅16 位元,意味苹果极度重视指令码密度,这点很「嵌入式」风格,也严重限制运算元和暂存器数量。
▲ 16 位元指令编码长度严重局限指令集功能与扩充性,导致低效率双运算元指令格式与数量不足的16 个通用数据暂存器。
- 运算元格式仍是A = A B(双运算元),而不是有更佳暂存器利用效率的A = B C(三运算元)。
- 保有古老RISC 常见的分支延迟槽(Branch Delay Slot),始终执行分支后的指令。这对单一指令流水线不会造成麻烦,但当要加深流水线并实做超标量时,要填充的「槽」将不只一个,造成提高指令调度的困难度。
- 缺少浮点运算单元,在1986 年不是主要问题(反正大多数人也没有),但缺乏前瞻性。当PowerPC 601 问世,内建浮点运算早是标准配备。
- 最后也是笔者对天蝎座技术规格最大的质疑点:苹果企图创造具多处理弃延展性的平台,对重中之重的快取数据一致性(Cache Coherence),却没有相关协定(Protocol)的描述,似乎想借用大量快取存储器控制指令的软件手段达成。若苹果的确这么想,真实世界效率想必惨不忍睹。光凭这点,就足以证明「荒谬」的程度。
一家不成,就多找几家
苹果从一连串「伟大的实验」得到的惨痛教训,莫过于「自己做不出来还不如找人一起合作」,接着就不知不觉推动了历史巨轮,环环相扣,与Apple Silicon 的起源有千丝万缕渊源。
1990 年11 月27 日,苹果、Acorn RISC Machine(最初的ARM 全名)和VLSI 共同组建Advanced RISC Machines(现在的ARM,1998 年IPO 后改名ARM Ltd.)公司,苹果拥有高达43% 股份。1993 年著名的失败作Newton MessagePad 是苹果第一个使用ARM 处理器的产品。
▲ 1993 年Newton MessagePad 是苹果第一个使用ARM 指令集兼容处理器(ARM 610)的产品,也刺激DEC 发展高效能ARM 处理器的动力,促使StrongARM 和XScale 诞生。
刚好这年ARM 改变业务策略,转做技术授权,带头逐步建立无晶圆厂芯片设计公司、晶圆代工业者和电子辅助设计(EDA)工具「三位一体」,也是现在我们熟悉的半导体产业样貌。但由于苹果1990 年代财务不佳,陆陆续续出脱ARM 股票。假如苹果一直握有43% 股份,时下世界线绝对大不相同。
苹果也跟「其他人」的ARM 有某种奇特关联。1990 年苹果眼见自己做处理器毫无指望,老伙伴Motorola 的RISC 大冒险之路又走得险象环生,一度对充满传奇色彩的效能王者DEC Alpha 处理器深感兴趣。但苹果被DEC 拒绝是一回事,看到Apple Newton 进入市场,让DEC 产生进军低功耗处理器的念头,那又是另一回事。
DEC 主动接洽苹果,询问是否对高效能ARM 处理器感兴趣,只得到「你们做不到,但如果你们能做,我们可能会用。」(You can′t do it, but, yeah, if you could we′d use it.)的暧昧回覆,于是DEC 跟ARM 一拍既合,「最强ARM 处理器」StrongARM就这样诞生了,并成为英特尔的XScale。
换言之,处理器业界追求「能耗比」1990 年代初期就开始了,才不是最近几年的新鲜事。乔布斯会在2005 年邀请英特尔CEO Paul Otellini 设计第一代iPhone 的移动处理器,理由确实显而易见(打从一开始,DEC 本来就要为苹果做StrongARM),绝非某些网络「高见」声称苹果要找英特尔研制「可满足iPhone 需求的x86 处理器」(有点常识也知道这完全不可能,更何况Atom在2008 年才面世)。初代StrongARM 处理器SA-110 主要设计者之一芯片设计大师Daniel W. Dobberpuhl,2003 年成立 PA Semi,后变成Apple Silicon 研发团队的骨干。
行文至此,请问各位──尤其是「果粉」──有没有茅塞顿开、恍然大悟之感慨?看似天马行空、不着边际的「水瓶座」计划,竟然引爆如此连锁反应,进而塑造我们认知的计算机产业和封闭苹果园。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com