预计下周,苹果公司 2020 年全球开发者大会将披露苹果从英特尔 x86 芯片转移到苹果自己设计的新处理器的具体细节,这可能会严重影响到下一个十年的计算机技术。

一文读懂苹果与英特尔的“爱恨情仇”-编程之家

  英特尔怎么了?

  2005 年,史蒂夫·乔布斯(Steve Jobs)发布声明称苹果公司的 Mac 将采用英特尔处理器。该声明指出,新的 iMac 和笔记本电脑将从 2006 年初开始使用英特尔新发布的 x86 内核处理器。05 年的 WWDC 帮助开发人员做好了准备,以确保购买者所购买的新英特尔 Mac 可以继续使用其 Mac 软件。

  这一举动让苹果及其 Mac 用户以多种方式从英特尔受益。新的英特尔 Macs 可以利用 x86 芯片的规模效应,以可承受的价格对其处理能力进行改进,这是苹果之前的 PowerPC 芯片提供商无法提供的。

  这也意味着新的 x86 Macs 在用 Microsoft Windows 启用自己的软件时,在硬件上兼容。除了能够启动 Windows,英特尔 Macs 还可以在 Mac 桌面上本地托管 Windows 应用程序或虚拟化整个 Windows 系统。

  此外,为 x86 PC 编写的视频游戏可以更轻松地移植运行为 Mac 应用程序。

  那么,过去 15 年中,究竟是什么变化让苹果决定现在放弃英特尔 x86 芯片?重要因素有很多,其中之一便是随着大部分消费者的支出和技术投资已从 PC 设备转移到移动设备,Microsoft Windows 及其 Windows 软件的重要性已大大降低。

  如今,Windows 和 x86 的兼容性对于某些用户仍然很重要,但是对大多数用户而言,这两个功能就没有那么重要了。另外,大多数对 x86 软件有特定需要的用户通常最不可能从所有其他可选的 PC 设备中考虑 Mac。

  相反,绝大多数 Mac 用户不需要托管 x86 或 Windows 代码。

  根据 AppleInsider 过去十年的历史服务数据记录显示,虽然 2010 年间,大约 15% 的 Mac 用户安装了 Boot Camp,但如今却只有大约2% 的计算机设置为双启动到 Windows。

  视频游戏是一个有望对英特尔 Mac 产生重大影响的特定领域。然而,PC 游戏仍然扎根于 Windows PC 上,而 Mac 并没有因为 Windows 游戏的大量迁移涌入而发生实质性变化。

  另一方面,苹果还创造了前所未有的东西:它自己的移动平台所占市场份额远远大于 Windows 平台且与 x86 无关。在过去的十年中,Apple 不仅在英特尔 x86 相关平台上进行了投资,而且还在持续增加对独立工具和基础架构的投资。

  这包括苹果自己的定制 ARM 芯片及其 LLVM 软件编译器,Swift 语言,Xcode 开发工具,App Store 平台,Apple Arcade 等新服务。所有这些相关的工具和平台已建立起 iOS 系统及其类似物作为领先平台,为精英用户提供高端的智能手机,为企业用户提供平板电脑,以及应用在新的计算领域,包括 Apple Watch 和 AirPods 等可穿戴装置。

  苹果与英特尔的“爱恨情仇”

  苹果上一次面临是否在其 Mac 计算机中使用英特尔芯片的选择时,这些都不存在。

  早在 1990 年代初期,苹果公司就在 Star Trek 项目中讨论了将 Mac 从其最初的 Motorola 68K 处理器迁移到 Intel x86 芯片的想法,但很快就得出结论,将 Mac 现有的第三方库 68k 软件迁移到英特尔 x86 芯片十分困难,此举无济于事。

  相反地,苹果寻求与 IBM 和摩托罗拉建立新的合作伙伴关系时,基于 IBM 的 POWER 架构为台式 PC 开发全新的芯片平台。最终开发出的 PowerPC 是一种全新的设计,与 20 世纪 80 年代留下来的且有 10 年历史的 Intel x86 有很大的差异。

  全新的 PowerPC 芯片最初帮助苹果的 PowerMacs 保持了与基于 Intel 的 Windows PC 的竞争力,同时苹果也支持在更快的新 PowerPC 芯片上模拟旧软件。

  但是,PowerPC 的新颖性也使该项目的许多其他最初合作伙伴无法像苹果那样完全采用它。到 21 世纪初,无论是从哪种数量来看,苹果都是使用 PowerPC 数量最多的用户。

  但是苹果既不拥有也不控制 PowerPC 的发展方向。IBM 和摩托罗拉的飞思卡尔在将一部分设计精力转向制造汽车或视频游戏机的嵌入式 PowerPC 芯片,而不是只专注于满足苹果 Mac 的需求。

  上述情况足以证明,苹果公司大约在 1993 年拒绝使用英特尔 x86,直到 2005 年,苹果才准备同意将其 Mac 平台转移到英特尔的 x86。然而,在公开庆祝这一决定的同时,苹果公司也在内部制定其他不涉及英特尔的计划。

  苹果最初希望使用 Intel 内置的 XScale 芯片为 iPhone 提供算力。英特尔当时的首席执行官保罗·欧德宁起初拒绝了苹果,担心其手机项目不能取得足够的成功以回报英特尔的投资。

  事实证明,英特尔当时的判断是错误的。在短短的几年内,苹果在 iPhone 上的成功显而易见,以至于英特尔迫切希望与苹果合作开发未来的移动产品,特别是对于即将推出的平板电脑,英特尔希望苹果选择即将面世的 x86 Silverthorne 移动芯片(后来更名为 Atom)。

一文读懂苹果与英特尔的“爱恨情仇”-编程之家

  但是这次苹果公司却拒绝了英特尔,而是启动开发了一个新的定制 ARM“片上系统”项目,该项目可以为即将上市的 iPad 和随后的 iPhone 4 提供算力,并于 2010 年交付 A4 系列芯片。

  苹果公司的拒绝还包括在另一款已经使用英特尔 x86 芯片产品中使用 A4:Apple TV。Apple TV 的最初版本实际上是缩小版的 x86 Mac,但在 2010 年,该产品成为另一种运行苹果的 ARM SoC 并基于 iOS 的设备。

  与 Macs 不同,Apple TV 使用 x86 芯片不能获得任何裨益。Apple TV 无法运行 Windows 软件,也没有英特尔领先的性能。然而,使用苹果 A4 芯片却能使苹果能够以更低的价格出售其电视设备,价格从 229 美元降至 99 美元。

  从英特尔转变到 A4 并不是价格下降的全部原因,但是苹果芯片使得产品更加便宜,从而让受众更加广泛。

  在接下来的十年里,苹果公司积极投资自己A系列芯片的开发,与此同时计划摆脱对 Mac 中英特尔芯片持续使用的依赖。苹果公司对自己的移动芯片的竞争性投资效果明显,以至于它使英特尔在移动芯片领域占据次要位置,Atom 就是在这十年的时间里被替换了。

  从 WinTel 到 ARM 上的 Android 和 iOS

  苹果对定制芯片的持续投资不仅阻止了英特尔在移动领域建立任何真正的市场力量,它还帮助苹果建立了必不可少的软件平台。尽管大多数科技媒体都预测 Android 将成为具有类似微软对消费科技行业控制权的“新 Windows”,但事实上,苹果同时成为了英特尔和移动设备的 Windows。

  Android 最终没有扮演新版 Windows 的角色,而是扮演了 Windows 盗版的角色:一个有力的竞争对手且有效地阻止了其他任何真正的竞争者的吸引力,讽刺的是,这其中包括微软自己为进入移动领域所做的努力。

  谷歌为了给所有硬件制造商打造并维护一个广泛许可的平台,做了几乎所有艰难又失败的工作,最终一无所获,而苹果却从 iOS 中获得了所有近乎可得的利润。

  在 Android 和 iOS 都在投资 ARM 的同时,只有苹果在投资自己的定制芯片,优化开发。苹果在过去十年中开发的移动平台,在硬件销售方面产生了数千亿美元的收入,在 App Store 和订阅收入方面又创造了数十亿美元的收入,远远超过了 Google 的 Android。

  它们的价值巨大,以至于 Google 向苹果支付了数十亿美元请求访问其用户群,以便在 iOS 上提供搜索和广告服务。

  苹果移动平台的规模之大及其重要性使其大大掩盖了本身的 PC 业务,苹果从移动平台上赚的钱远远超过从 Mac 上赚的钱。如今,同 WinTel 平台相比,Apple 的移动平台对 Mac 的贡献更大。

  苹果公司最近使用 Project Catalyst 将现有的 iPad 软件迁移到 Mac 的策略证明了这一点。将现代 iPad 代码移植到 Mac 上的潜力远远大于在 Intel Macs 上支持旧版 x86 Windows 软件的潜力。

  值得注意的是,苹果公司开发的 ARM SoC 的性能可以与英特尔的 x86 笔记本芯片相媲美,尽管这只是为低功耗移动设备开发的芯片。事实上,苹果有可能使用设备中的多个芯片,为 Mac 开发进行优化的新定制芯片。

  这也将使 iPad 和 iOS 开发人员将现有代码迁移到 Mac 上更加容易,即使是难以迁移到新 Mac 的 x86 代码上也是如此。

  与将现有平台迁移到新处理器体系结构相关的最大问题之一是如何迁移现有软件库。苹果再一次提供了前所未有的新的解决方案。

  通过 App Store 出售软件的开发人员可以上传可为不同平台编译的代码,并以正确的形式自动将代码交付给买方。虽然这并不能解决所有问题,但确实比以往更容易迁移到新的硬件中。

  在 A7 发布之后,苹果本身就依靠这种机制来帮助推出新的 64 位 iOS 平台。在 Mac 上,类似向新硬件体系结构的迁移可以推动 Mac App Store 和 ARM Mac 的串联使用。

  苹果超越 ARM 的野心

  苹果在移动芯片方面的成功不仅仅归功于 ARM 内核。谷歌和微软都在努力开发基于 ARM 的手机、平板电脑,甚至更传统的笔记本式设备,但都未取得成功。

  所有的 Android 硬件制造商,包括三星和华为,都使用 ARM 芯片,但却没有取得 iPhone 和 iPad 对苹果的成功水平。

  在过去的十年中,苹果公司以惊人的规模大量交付了许多基于 ARM 的设备,这使其他公司很难与之抗衡。但是,苹果公司在定制芯片上的成功绝不只是因为对 ARM 的投资超过从英特尔购买芯片。

  苹果定制芯片的成功,一个更大因素是它允许的垂直集成,包括能够满足操作系统的需求并提供能够满足不同需求的可实现差异化功能的芯片优化。ARM 的存在为此提供帮助,但是苹果定制芯片的价值已经超出了简单地使用 ARM 兼容 CPU 内核的范围。

  实际上,苹果使用的 ARM 内核在其自定义 SoC 上占基板面的一小部分,还有很大一部分是专用于非 ARM 的 GPU 内核。苹果最初从 Imagination Technologies 获得了 GPU 内核设计的许可,但此后便开始开发自己的自定义 GPU 内核。

  苹果还开发了自己的音频处理、加密、视频编解码器、存储控制器、人工智能以及其他独特的逻辑内核,这些内核都被集成在同一组件中,通过规模生产节省了大量成本。

  苹果还定期重用和调整其开发的定制芯片,使其与其他缺少旧工作库的竞争对手相比,能够以更低的价格进入市场。例如,苹果使用了为 iPhone 和 iPad 开发的内核来驱动诸如 Apple Watch 之类的可穿戴设备,Apple TV 也定期使用A系列前几代的芯片。

  苹果公司已经在使用其A系列芯片的大部分逻辑(不包括主要的 ARM CPU 内核)在其最新的 Mac 上执行支持任务。

一文读懂苹果与英特尔的“爱恨情仇”-编程之家

  苹果将其在 Mac 中使用的自定义芯片的最新版本称为 T2,它支持 Touch ID、硬件加速的加密和媒体编解码器,支持 Touch Bar 和 Hey Siri 以及多种其他功能。其中一些功能还由 ARM 内核或微控制器提供支持,而其他功能则使用不同的内核技术。

  然而,这些价值不仅来自使用“ARM”,还来自苹果公司在设计和使用自己的芯片时所进行的深度集成和优化。这些投资非常昂贵,但可以提供坚实的且与众不同的功能,使其他竞争对手难以与之抗衡。

  谷歌在创建自己的 Visual Core 芯片以增强其 Pixel 手机的摄影效果上证明了这一点。这项工作非常昂贵,但因为它未能并未带来可观的硬件销售,因此未能实现目标。

  实际上,到目前为止,最成功的 Pixel 手机是该公司最便宜的 Pixel 3a,这些手机甚至没有使用该公司的自定义成像内核。实际上,它不使用定制的芯片就可以达到可承受的价格。苹果让定制芯片看起来很容易,但实质上并不容易。

  微软宣布自己的 Surface 笔记本使用的是高通公司生产的“定制 ARM 处理器”,也引起了轰动,但这很大程度上是一种营销策略,因为它所使用的芯片除了时钟运行速度更高以外,没有其他值得注意的地方。

  在谈论或尝试定制芯片与苹果公司所做的工作之间的巨大鸿沟为苹果公司未来可以取得的成就提供了一些预测。这将包括在其现有的移动设备中新兴的可穿戴产品、由高级定制硅提供支持的新 Mac、以及尚未发布的具有从健康到家庭和其他前景广阔的新设备。

  例如传闻中的 Apple Glasses,它需要先进的芯片和技术,以非常紧凑的处理成像、运动、图形、安全性、本机智能、电源管理和无线连接。

  ARM 正在开发该软件包的要素,但是苹果公司已经在其现有的定制芯片中研究所有这些功能,并用其特有的移动设备销量所得的利润为这项工作提供资金支持。

  本文编译自 https://appleinsider.com/articles/20/06/13/apples-shift-to-arm-mac-from-intel-at-wwdc-will-define-a-decade-of-computing