奔跑在“自控芯片”路上 苹果“芯”故事全知道
2017-04-24
2005 年的 WWDC 上,乔布斯(Steve Jobs)公布了一项重要的计划:将 Mac 从IBM的 PowerPC,转移到Intel的 x86 架构。然而在当时,苹果也在私下进行两件大事:开发平板电脑,以及当时仍以 iPod 设计为基础、但加入了通讯功能的原型手机。
苹果移动设备之初:为什么是 ARM?
苹果开发触控式平板电脑的时间点其实比手机还早。乔布斯坦言,他是因为参加微软高端工程师的婚礼,才打听到微软正在设计以触控笔来操作的平板电脑(注 1)。当时苹果对手机的想法还没有完全脱离 iPod 的转盘,直到 Jony Ive 向乔布斯单独简报能用手指卷动页面的多点触控原型,Jobs 才拍板把原本放在平板电脑的多点触控,改到手机。
▲ 苹果 2004 年推出的多点触控专利图。
尽管为了管控风险,iPod 风格的转盘版 iPhone 仍然继续开发,但新的多点触控原型除了同步进行,也执行了从档案系统底层就大改写的移动版 Mac OS X,并去除鼠标游标,改用手指。为了整合 OS X 以及新的多点触控到尺寸小得多的手机,同时保留类似 Mac 的 UI 效果,苹果发现自己需要一组高效省电的 CPU 与 GPU 架构,又必须省空间把它们整合到一枚SoC。
苹果其实已经有过相关经验的合作供应商。当时还占公司 40% 营收的iPod,用的是 PortalPlayer 生产设计的 ARM 架构处理器,直到 2006 年因为出货短缺,才转单给三星。当时,三星几乎是唯一能整合 PowerVR,以及 ARM 架构的 SoC 设计厂,同时还能每年稳定出货数百万枚。一直到 iPhone 3GS,苹果都还在使用三星的 ARM 架构应用处理器。
然而实际上,苹果与 ARM 的关系还比想像中更早。在 1997 年乔布斯回归苹果前,苹果曾在 1994 年推出一台称作“Newton”的掌上型电脑,并为此与 Acorn 参与了 ARM 的创办,来开发 Newton 的处理器底层,直到乔布斯重回苹果停产 Newton 并处分对 ARM 的持股(注 2)。后续,ARM 亦随着 Nokia 的成功,成了几乎是行动领域唯一的应用处理器架构。
Intel Atom、ARM,以及 XScale
在开始开发行动设备时,SoC 设计除了 ARM 与三星,苹果还考虑过另一个选择,那就是 Intel。
2005 年,苹果刚把 Mac 从 PowerPC 转移到 Intel x86,为了节省开发资源,乔布斯其实首先考虑在 iPad 使用 Intel 的 Atom 处理器。虽然 Atom 当时仍在研发,但每季会与 Intel 开会一次的乔布斯却颇信赖 Intel CEO Otellinii 的能力──放眼全球,也没有其他厂商能做出效能比 Intel 更好的产品。乔布斯甚至为此在 2005 年,裁掉苹果早年为了 Mac 筹设的芯片设计部门。
▲ 左二为 Tony Fadell 。(Source:Flickr/Fabio BiniCC BY 2.0)
不过 Tony Fadell 却大力反对使用 Atom。Fadell 因为一手整合了 iPod 的软硬设计,成为苹果的二号人物。在他的坚持下,乔布斯同意改用设计更简单、同时也更省电的 ARM 架构(注 3)。乔布斯后来回忆:
Intel 的确有全世界最好的处理器,但前提是不在乎能耗与价格。此外,他们的芯片也只有处理器,所以还需要其他类型的芯片来配合……但多年来,我们一直告诉 Intel,他们的绘图芯片做得很差。起初,我们合作得很好,Intel 也希望和我们一起研发 iPhone 芯片,但他们动作太慢,应变力也不够,我们无法一直等他们;此外,我们也不打算什么事都教给 Intel,然后让他们把东西卖给竞争者。
尽管 Intel 前 CEO Otellinii 后来表示,双方没有合作行动设备芯片,原因只是 Intel 不满意苹果的报价,同时也判断苹果行动设备最多百来万台出货量,根本不能让 Intel 获利,但无论如何,Intel 的决定最终让苹果转向三星设计的 ARM 架构应用处理器。
有趣的是,Intel 其实也有过自己的 ARM 架构团队,是一间收购得来、称作“XScale”的公司。当时 Intel 对 iPod 以及苹果正在秘密研发的新款行动设备仍保有兴趣,同时希望透过 XScale 打入 PC 以外的市场,不过随着苹果在 2006 年将 iPod 转单给三星 ARM 架构处理器,Intel 也在 2006 年卖掉 XScale,转攻 X86 架构的 Atom。
三星与初代 iPhone
2007 年,苹果发布革命性的第一代 iPhone,使用三星设计的 ARM 架构 SoC,GPU 则是透过 Imagination Technology 的 PowerVR。不过,iPhone 一发布,乔布斯就深知它的隐忧:没有前镜头,只支持 AT&T 的 2G,续航力也很弱。更大的缺陷是:iPhone 虽然设计先进,但只是整合各方资源打造的产品。它使用的芯片(没有特地命名),原始设计甚至是用在三星的 DVD 播放器。
不过三星这款 SoC 确实很不错。当时在 ARM 架构上执行的行动操作系统,像是 Nokia 的 Symbian,微软的 Windows CE,以及黑莓,甚至初版的 Android,都是功能相对简单的轻量系统,不过三星的 SoC 却能帮助苹果,在 ARM 架构执行改写自 Mac OS X 的 Unix 系统,同时还有着完整的 UI 效果。苹果的成功,让这些厂商重新调整了开发计划,其中就包括苹果日后的对手 Google Android。
乔布斯注意到潜在的竞争对手。为了加速开发效率,同时维持 iOS 的独特性与先发优势,苹果需要一款能 100% 自控的芯片,来作为 iPhone 的底层。然而,2005 年才裁掉芯片研发团队的苹果,不仅没有足够能力的工程师来与三星交涉想要的 SoC,第一代 iPhone 使用的 SoC 尽管不错,也不是苹果完全认同的设计。
于是在初代 iPhone 发布后不到一年,苹果便秘密与 Imagination Technology、三星,签署了 GPU 以及 SoC 开发的协定,同时也开始招募员工,重建自己的芯片团队。
A4:苹果第一款自行设计的 SoC
2008 年,苹果从 IBM 挖角了 Johny Srouji。他后来一直是苹果芯片部门的副总裁,主管每一代苹果 SoC 的设计。Srouji 加入不久,苹果在 2008 年 4 月又以 2.78 亿美元,秘密收购了硅谷新创公司 P.A Semi。这间公司的专利与团队,也成为苹果日后设计 SoC 的核心,同时让苹果的芯片团队从 40 人增加到 150 人。到了乔布斯离世的 2011 年,苹果的芯片工程师更超过了 1,000 人。这成了乔布斯晚年对苹果影响最深远的决策。
2009 年乔布斯接受《时代杂志》专访时,还曾经简短谈到一年前买下 P.A Semi 的理由:
P.A Semi 将会专门为 iPhone 与 iPod 设计 SoC。
不过当时乔布斯还少谈了两件事。首先,苹果买下 P.A Semi 不只是为 iPhone 与 iPod 设计 SoC。它独立设计的第一款 SoC,其实最初是用在苹果 2010 年的新产品 iPad,而不是 iPhone 与 iPod。此外,当时苹果也已经与 Imagination Technology、三星签订合作 SoC 的协定,因此,苹果最初并不完全是独立开发自己的芯片。
▲ 初代 iPad。(Source:Flickr / Lisa GilesCC BY 2.0)
2010 年随着第一代 iPad 亮相,乔布斯简报了苹果设计的首枚 SoC“A4”。A4 使用 ARM 的 Cortex-A8 为 CPU 核心,以及 Imagination Technology 的 PowerVR SGX 535 当作 GPU。尽管用的是 ARM 的 Cortex-A8,但苹果经由与三星、以及一间美国公司 Intrinsity 的合作最佳化了 CPU 架构,让 A4 的 Cortex-A8 时脉能高过其他同样采用 Cortex-A8 的处理器,但又能完全相容 ARM 架构。
苹果与三星的合作也首次付出代价。不清楚是经由与 Intrinsity 的合作关系,还是与苹果之间的三方协定,三星后来把这个改版的 Cortex-A8 CPU 核心称作 Hummingbird,并用在自家的 SoC“S5PC110”。后续三星又在 2011 年把 S5PC110 改称为 Exynos 3,成了三星最早以“Exynos”命名的自家 SoC,并搭载在第一代 Galaxy S、Galaxy Tab,以及 Google 的二代 Nexus S。而早在 iPad 发布前,三星就已经把 Hummingbird,用在自家两款手机的 SoC。
于是,或许是为了提防与三星间的竞争,苹果在第一代 iPad 发布后 3 个月,便紧急收购了 Intrinsity。
而事实上,Exynos 3 的设计也几乎与 A4 相同,只是两者的电路设计稍有区别。这起事件或许也标示了库克(Tim Cook)接手苹果 CEO 后,与三星的一系列侵权诉讼的前奏。实际上,使用 Exynos 3 的 Galaxy S,后来也被苹果控告抄袭 iPhone 3GS。
A5 到 A10:更进一步
之后的几年间,苹果逐步加大芯片研发的力度。2011 年以后,苹果每年的研发经费投入都在增加,2014 年起,更是以每年 20 亿美元的幅度成长,最终在 2016 年突破 100 亿美元。其中,芯片、电动车,以及穿戴设备,被认为是苹果研发投入的三项重心;苹果的 CFO Luca Maestri 也曾表示,这些投入多数都集中在芯片。
A5
苹果的第二代 SoC 是“A5”。与前代 A4 一样,最初是用在新的 iPad 2,随后又很快地配给 iPhone 4s。A5 是苹果的第一款双核心 CPU、GPU 的 SoC,这项策略一直延续至今日的 iPhone 7。A5 的体积比 A4 大了一些,也首次整合了新的 ISP 来优化白平衡。在日后很长一段时间里,成像的白平衡一直是 iPhone 相机的强项。
为了因应 Siri,A5 也增设了一个称作“earSmart”的区域,可能是专门用来执行语音辨识的演算法,这导致没有 earSmart 的 A4 产品,像是 iPhone 4,就没办法使用 Siri。苹果也宣称 A5 的 GPU 效能是 A4 的 9 倍,并且在之后将 A5 的 GPU 架构升级到 4 核心,并改称 A5X,搭载于首款支持 Retina Display 的 iPad 3。然而 iPad 3 因为效能不振,上市仅 7 个月就停产,成为最短命的 iPad。
▲ A10 Fusion 其实是苹果的第一款 4 核心 SoC。不过它的设计是两大核 + 两小核,运作起来还是很类似双核心。(Source:苹果)
A6
第三代 SoC“A6”对苹果来说则是一个新开始。从 A6 起,苹果不再使用 ARM 的公版设计方案,例如先前 A4、A5 采用的 Cotex-A 系列,而是改与 ARM 签订指令集授权,以 ARMv7-A为基础开发一个自己的 CPU 架构“Swift”──和苹果后来的程序语言刚好同名。这个举动,让苹果成为高通以外,第二个以 ARM 指令集为基础开发 SoC 的公司。
A6 也从前一代 A5 的 512MB 的 LPDDR2-800 存储器倍增到 1GB LPDDR2-1066,同时在相比 A5 小了 22% 的体积下,完成快上两倍的 CPU、GPU 性能,还能比 A5 省电。这让后续的 iPhone 5、iPhone 5c 相比 iPhone 4s,在升级 iOS 时有更多优势。
A7
2013 年搭载在 iPhone 5s 的 A7 可能是苹果对移动产业影响最深远的一枚 SoC。苹果当时以近乎突袭的方式,将移动业界主流的 32 位架构升级到 64 位,成为现代智能手机与平板电脑中,第一款 64 位 CPU 的 SoC,逼得高通宣布放弃所有 32 位产品的研发投入,全面跟进苹果。它搭载的 GPU 架构PowerVR G6430,也让 A7 成为绘图性能接近 Xbox 360 以及 PS3 的产品。
A7 的另外一个特点是以 ARM 的 TrustZone方案为基础,打造一块称作“Secure Enclave”的区域,来专门储存 Touch ID 指纹资讯。至今,这个方案仍未从硬件上被破解,为日后的 Apple Pay 打下基础。此外,为了处理升级 64 位产生的能耗,A7 也把加速度感应器、电子罗盘和陀螺仪移除,整合到一个新的协同处理器“M7”。M7 后来也一路升级到 M10。
这之后的 A8 到 A10,苹果则透过不断更新,将自家 SoC 提升到 ARM 架构下,业界效能最顶级的芯片。从 A8 开始,台积电也开始取代三星,成为代工苹果 SoC 的厂商。尽管在一些关键技术,苹果还是不如三星,例如在 CPU 塞入调节器,但这项技术看来已在 A10 Fusion 得到一定解决。
无论如何,苹果从 2006 年起对三星、ARM,甚至 Intel 的依赖,到开始自主设计架构,成为高通等级的 IC 设计公司,如今看来已走进下一个阶段。苹果甚至准备好自己研发 GPU,同时传出不再采用戴乐格开云棋牌官网在线客服的省电芯片。
日后:GPU 自己做?
2017 年 4 月,早从 2007、2008 年,就与苹果签订 GPU 授权协定的 Imagination Technology,在官网发声明,证实苹果将在 15 个月至 2 年内,终止与 Imagination Tech 的协定,转而自行研发 GPU。在 2008 年时,苹果还曾经与 Intel 展开几轮持股竞争,最终让苹果持有 Imagination Tech 约 10% 股份,是第四大股东,并拥有 30% 营收分配。苹果的订单,也占了 Imagination Tech 超过 50% 营收。
从第一代 iPhone 起就一直专注使用 Imagination Tech 的 PowerVR,是苹果的一项策略,因为这可以减轻开发者的困扰,从而在底层专注针对 iOS 优化的 API,例如 iOS 8 的 Metal API 就是个例子。这种软硬整合也让 iOS 成为手游运作较流畅的平台。
相比之下,三星 SoC 的 GPU 选择就比较混乱,经常在 ARM 的 Mali、PowerVR 之间游走,早年甚至还用过 VideoCore 的 GPU。高通尽管一直使用自家 Adreno,但由于操作系统在 Google 与各厂手上,比较没有能力打造一致性够强的体系。
其实苹果想换掉 PowerVR 改用自己架构的 GPU 已经不是新闻。从 iPhone 6 使用的 A8 SoC 开始,苹果就已使用自己的技术来客制一部分 GPU 的核心组成,比如 GPU 的“心脏”着色器内核。苹果也订制了 CPU 上的 Compiler,以及 GPU 的图像驱动程序,来进一步优化 iOS 10 上首次大改的 Metal API。
尽管 Imagination Tech 扬言要用诉讼来阻止苹果,导致苹果收购 Imagination Tech 的传言又再度开始,甚至传出这纸声明只是苹果压低 PowerVR 报价的手段,但无论如何,在技术上,苹果确实已经开始累积自制 GPU 的能力。这将会让苹果成为高通后,第二间拥有自己 GPU 架构的公司。
有趣的是,苹果预告会终止 PowerVR 协定的同时,刚好也是苹果与戴乐格开云棋牌官网在线客服的能耗管理芯片的契约到期日。对于想让行动设备拥有 AR 能力、同时推展 Apple Watch 等穿戴设备的苹果,“省电”与“GPU”都是关键技术,这可能会让苹果尝试在“自控芯片”的道路上走得更远,尽管在那之前,用户可能会先见到 iPhone 10。
注 1:Bill Gates 也有参加那场婚礼,并对大嘴巴员工非常不满。事实上,那名向乔布斯爆料的员工,正是过 High 的新郎本人。 注 2:乔布斯处分对 ARM 的持股,是为了变现。据他所述,苹果当时已经快破产。 注 3:Tony Fadell 为了说服乔布斯放弃 Intel Atom,还不惜扬言要辞职。多年之后他也因 内部斗争离职,并且在 2010 年创办 Nest,Nest 后来又为 Google 所并购。