前文已经提到,PowerPC G4 的出现让苹果在与英特尔的多媒体战争中赢得了胜利,但随着 IBM 的淡出,PowerPC 的颓势已经开始显现,而「G4 Speed Dump」事件更是将 AIM 内部的危机暴露无遗。作为这款芯片最大客户的苹果,现在也是时候「未雨绸缪」了。

新希望

当 Motorola 正与 IBM 在萨默塞特闹分家时,苹果那边,全新一代操作系统 Mac OS X 也在紧锣密鼓地开发中。之前从乔布斯手中买来的 NeXTSTEP 自然成了参考的对象,可 NeXTSTEP 本身也有问题亟待解决:能在 x86、68k 等芯片上完美运行,偏偏不支持 PowerPC 架构。

为了支持 PowerPC 芯片,员工们夜以继日,而万幸的是,苹果在购买 NeXTSTEP 之前有过在其 Mach 内核上开发的经验。那是 1996 年 2 月,为了让 Linux 能在 PowerPC 上运行,以布雷特·哈雷为首的工程师们与开放软件基金会(OSF)合作,将 Mach 内核移植到 PowerPC,并将 Linux 作为服务运行在这个内核上。MkLinux 系统就此诞生。

尽管往后的岁月里 MkLinux 并不成功,于 2002 年彻底结束了开发,但却让 Mac OS X 的出现成为可能

这一操作系统的出现意义非凡,不仅为 Linux 支持 PowerPC 做出了巨大贡献,也为苹果在 PowerPC 上使用 NeXTSTEP 扫清了最大的障碍。事实上,未来的 Mac OS X 中,大量有关 Mach 内核的代码均来自于 MkLinux1

除了 Mach 内核,其他组件的迁移工作也同步开展。好消息是,NeXTSTEP 源自 Unix,天生就有良好的可移植性2;这也是当时 Solaris、AIX 等其他有 Unix 渊源的系统能那么迅速适配 PowerPC 的原因。

类 Unix 系统的演进图,可见 Mac OS X、NeXTSTEP、Solaris、AIX 等系统均源自 Unix

解决了 NeXTSTEP 在 PowerPC 上运行的问题后,此时的乔布斯还面临一个难题:是否需要再开发一个英特尔版本以备不时之需?

早在 1997 年末乔布斯与 Motorola CEO 高尔文吵架时,这个担忧的种子就已埋下,之后董事会内部也就是否应转移至英特尔平台之事讨论许久,但短期内各成员意见并未达成一致。

另一方面,乔布斯和英特尔创始人安迪·格鲁夫可谓是老相识。早在 1978 年苹果公司创立不久,安迪·格鲁夫就被邀请加入董事会。尽管后来这事并未促成,但乔布斯一直视安迪·格鲁夫为自己的导师,甚至在自己的各种重大决策中都会请他帮忙把把关——包括重返苹果的决定。

在 NeXT world 上的 Andy Grove「左」与 Steve Jobs「右」

无论最终契机如何,乔布斯终于在这一关键时刻做出了选择,逐渐将开发英特尔版操作系统的计划提上日程。

绝密的迁移计划

1999 年的夏天,正当 Motorola 尽全力生产 G4 芯片时,MkLinux 的开发者布雷特·哈雷及其团队被赋予了一项秘密任务:将大幅改进后的 Rhapsody(即 Mac OS X 的前身)移植到英特尔平台上。时隔 6 年,苹果再度试图靠近英特尔阵营。

Brett Halle,曾任苹果软件部高级经理

这个计划的保密程度有多高?除了六位核心成员知晓此事,其余参与的员工都认为只是在做普通的系统维护工作。甚至乔布斯都会四处放烟雾弹来打掩护。据一位员工回忆,在 Infinite Loop 自助餐厅排队结账时,凑巧乔布斯和他只相隔两人,正在前面与他人大声说着话。

那些人怎么就没明白我们压根就不会转投到英特尔阵营,他们应该放弃这个执念才对!

移植并非易事。尽管 NeXTSTEP 系统具有较好的可移植性,但 Mac OS X 则不然。许多源自 Mac OS 9 的代码,例如 Carbon、QuickTime、Quartz 等,均存在一定的 PowerPC 依赖性;而随着 Velocity Engine 的普及,大量能利用该单元的代码都要改写成英特尔平台的 SSE,移植仍颇具难度。

Mac OS X 架构图

此外,整个苹果公司为了开发 PowerPC 版 Mac OS X 已经心力交瘁,公司上下都只把英特尔版本视为重大变故时的备用方案。因此布雷特·哈雷手上的资源少得可怜,加上被告知不能透露真正细节,他也难以向外界寻求太多帮助。

团队只好自己出资,在 Fry’s 商店买了台含有四颗英特尔芯片的服务器,来执行这项艰巨任务。六个月后,项目艰难进展到了万里长征的第一步:能启动 shell、运行大多数不基于 UI 的服务、用鼠标打开窗口服务器。

折戟沉沙

时间来到 1999 年末。千禧年之际,各大芯片厂商都卯足了劲,其中最为耀眼的当属 x86 阵营的 AMD 与英特尔:短短几个月内,这对红蓝冤家就将芯片频率一路提升到惊人的 1 GHz。而作为苹果电脑御用的最强处理器,PowerPC G4 却在这场频率之战中败下阵来,从此再难以与英特尔、AMD 正面对抗。

工艺之争

在铜互联技术已成为当时行业潮流之际,相比 IBM 和 Motorola 激进采用,英特尔并没有立即跟风效仿,相反和东芝等厂商坚称,在 180nm 节点采用该技术「既不必须,也不可取」,并继续固守铝互联技术加以改进。

P858 工艺的出现,证明了这些才华横溢的工程师们的选择不无道理。尽管没有采用铜互联技术,通过大幅增加厚度来维持横截面积,P858 工艺的铝互联层依旧设法遏制住了电阻骤升的趋势,甚至能与采用铜互联技术的 IBM 全新 CMOS-8S 工艺相媲美。

英特尔 P856.5、P858 和 IBM CMOS-8S 工艺金属互联层的大小、相对电阻对比,可见 P856 最「瘦高」

至于应对厚度提升所带来的电容效应,英特尔也有了新突破:首次在绝缘材料上加入了 SiOF,相比传统的纯 SiO2,掺有 5.5% 氟的 SiOF 介电常数更低3,能有效降低金属层之间的电容效应。英特尔在实验中发现:光是这一技术就能让芯片频率提升 16%。于是,P858 依旧沿着摩尔定律稳步前进:不仅密度相比上代提升近一倍,还能在功耗不升反降的情况下速度快上 50%。

P858 六层铝互连层的横截面,可见其间由低介电常数物质所填充

而在生产方面,不用引入新制造设备的 P858 工艺也颇具优势,良率节节攀升、再创新高:从 P854 的 60%、P856 的 63% 来到 65% 以上。这让英特尔在与 AMD、PowerPC 竞争中占据主动。

英特尔 P858 与其前代以及 Motorola、IBM 的工艺参数对比

在这一先进工艺的光辉下,首次将 L2 缓存集成进 Die 内部的新奔腾 III「Coppermine」于 1999 年 10 月横空出世,成为了名副其实的 G4 杀手。新奔腾 III 的晶体管比前代多了三倍,Die 面积却缩小 17%,生产成本也从 65 美元降至不到 40 美元。

新 Pentium III「左」及其 Dieshot「右」,可见近 1/3 的面积均由其 L2 缓存占据

在性能层面新奔腾 III 则继续大幅跃进,核心频率涨至 733MHz(在 2000 年中一路飙到 1GHz 以上),加之片上 L2 缓存带来的增益,彻底超越了 G4,功耗却大幅下降:相比上代能在同频率下低 43%,甚至能放入笔记本中4

面对频率高两倍的英特尔,就算乔布斯所谓「同频率快两倍」定律是真的,现在的 G4 恐怕也不是英特尔的对手了。

G4 与新 Pentium III 在 SPEC95 测试中的整数「左」与浮点「右」成绩对比

停滞不前

而于此同期,PowerPC 干了什么?

什么事都没发生,一片死寂:G4 依旧在 500MHz 徘徊,新芯片遥遥无期。

由于 IBM 已经淡出 G4 及后续的研发,Motorola 成了新芯片的唯一推动者。但它们只是在 1999 年 10 月发了篇预告文章。此言一出,立即吸引了大众的目光,《微处理器报告》等杂志纷纷引用「消息人士」的话,宣称两个月前新 G4 就已经流片,将于 2000 年中开始大规模生产。

但谣言终归是谣言。到了 2000 年,Motorola 提到的 180nm 新工艺、新 G4 双双搁浅。雪上加霜的是,在当年的 3 月,一场席卷硅谷的危机正悄然而至。

再遭重创

从 90 年代末开始,「互联网」几乎成了所有科技公司追逐的热点,以至于像英特尔这类芯片厂商,在宣传奔腾 III 上的 SSE 时都会改成「Internet SSE」,奔腾 IV 的架构名称也成了「NetBurst」。

在美国政府降息、减税的大背景下,2000 年初,大众对这一科技爆点的狂热来到了顶点:一时间大量资金涌入各大科技公司,纳斯达克指数也一路飙升,在 3 月 10 日达到了创纪录的 5048。但正所谓「爬得越高、摔得越惨」,那些初创的互联网公司在将钱挥霍一空后,崩溃开始了:一个月内纳斯达克指数跌幅就超过了 25%,几年间整个股市市值蒸发了近三分之二。

1994-2004 的纳斯达克综合指数趋势图,互联网崩溃的尖峰清晰可见

「互联网崩溃」事件对正在重组的 Motorola 而言简直是飞来横祸。受互联网崩溃的影响,这家刚刚才重新盈利的公司股价也一路走低,到 2000 年末已经跌了近 70%。在这种大背景下,Motorola 新工艺和新芯片的推迟也就不足为奇了。纵观整个 2000 年,Motorola 没拿出哪怕一颗像样的新芯片给苹果。这无疑让乔布斯失望透顶,对英特尔是愈加地向往。

Motorola 2000、2001、2002 年的股价,可见从 4 月开始就一路走低,并持续低迷了 3 年之久

雷声大雨点小

而另一边,IBM 在 1999 年末制造了一颗 64bit 且能运行在 1GHz 频率下的 PowerPC 芯片,但这也不是苹果需要的。

似乎是为了回应那些认为短流水线 G4 难以提高频率的质疑,这颗芯片仅有六级流水线,且和当年的 X704 一样:为了冲击高频,其架构设计十分简陋,功耗也达到离谱的 112W,几乎不可能塞进 Mac 中。且在上代 CMOS-7S 工艺下,1900 万个晶体管所需的 Die 面积猛增至 150mm²,若要量产成本将居高不下。

尽管只具有实验性质,但严格来讲这仍是第一颗突破 1GHz 的 PowerPC 芯片

随着时间推移,形势对苹果而言愈发严峻:在桌面市场,G4 已经被英特尔、AMD 等厂商全面超越;而在笔记本市场,由于 G4 较高的生产成本以及难以驾驭的十几瓦功耗,iBook、PowerBook 系列仍旧用着 G3,面临着产品线停滞的风险。

在这关键时刻,IBM 挺身而出,填补了低端产品线的空缺:2000 年 9 月,在落后英特尔近一年后,将 L2 缓存集成进 Die 内的 PowerPC 750CXE 被放入了 iBook 中,成了 2000 年 PowerPC 阵营在个人电脑市场上的唯一突破5

750CXE「左」及其 Die shot「右」

因为 IBM 只在 G3 基础上改进,所以该芯片在微架构层面相比上代改动十分有限。但 IBM 有着能与英特尔 P858 相媲美的 CMOS-8S 工艺,让 G3 的晶体管数量突破 2000 万大关,达 2150 万之巨,同时 42.7mm² 的 Die 面积与前代几乎相同。而在新工艺和片上 L2 缓存共同作用下,这枚 G3 的功耗再创新低:相比前代 400MHz 下 5.7W,其在 550MHz 运行时仅为 4.6W,而在后续频率提高至 700MHz 后功耗也只有个位数。

但一心想降低制造成本的 IBM 仍不满足于此,抛弃了自身沿用多年、快成为行业主流的「倒装芯片」封装,转而使用「引线键合」这一奔腾芯片都快抛弃的老技术,最终如愿以偿,每颗芯片标价仅 77 美元。

PowerPC 750CXE 的封装示意图,号称采用了新型有机层压 BGA 封装技术,实则处处透着拮据
最后一代 iMac G3,似乎也象征着 PowerPC 全盛时代的终结

尽管 750CXE 一经发布,就成了嵌入式领域的新宠,被称为当时性能最强的嵌入式芯片,显然 G3 微架构的性能潜力已被挖掘殆尽,更新工艺也只是权宜之计。现如今,只有等 Motorola 在新芯片上的研发取得突破,才能助苹果在桌面市场上击败英特尔。

巧妇难为无米炊

面对如此不利形势,好强的乔布斯并未退缩。既然 G4 的传统性能已经难以匹敌新奔腾 III,唯一还占优势的就是 Velocity Engine,那就让能利用该单元进行硬件加速的 Photoshop、QuickTime 等软件多多出镜,在发布会上一次次击溃英特尔,以提振大众信心。