5

每次 Apple 的新品发布活动都吸引了很多目光,但是 2020 MacBook Air,MacBook Pro 和 Mac Mini 的发布不仅仅是新功能和时尚的工业设计。重大新闻隐藏在了新 MacBook 的阳极氧化铝机箱中的 M1 片上系统(SoC)中,它取代了 13 寸 MacBook 和 Mac Mini 中的英特尔处理器。

为什么过渡到 Apple 处理器这么重要?毕竟苹果自 2010 年以来就一直在设计它的智能手机处理器,这并不是它第一次采用新的 CPU 架构。苹果已经经历了许多不同的体系结构,从 Wozniak 时代的摩托罗拉 CPU 到 90 年代的PowerPC 芯片,再到 2005 年的英特尔 x86 处理器。现在他们正朝着自己设计的基于 ARM 的处理器发展。相比之下,自 1981 年 IBM 推出第一台 PC以来,Windows PC 平台就一直停留在 x86 处理器上。

今天,我们将仔细研究 Apple 的新型 M1 芯片,以及它对软件工程师、设计师、消费者和整个行业的影响。为了简洁起见,我不会为你提供详细的性能评估,也不会测试每个软件和工具、旧版软件、SDK 等的兼容性,因为你可以轻松的找到自己信任测试和评估数据,我们把重点放在全局上,并解决有兴趣购买新款 M1 MacBook 的设计师和开发人员所提出的一些担忧。

是什么使 Apple M1 处理器与众不同?

是什么让Apple M1处理器与众不同? Apple M1 在许多方面与以前的 MacBook 中所使用的 Intel 处理器不同:

  • M1 是 ARM 处理器,而不是 x86 处理器。
  • 它集成了比 Intel CPU 更多的组件。
  • 苹果 M1 还在同一封装中集成了 RAM。
  • 它有 Rosetta 2 动态二进制翻译功能,可运行 x86 软件。
  • 除了集成 GPU 外,该芯片还具有八个 CPU 核。
  • 采用 5 纳米工艺制造,有 160 亿个晶体管。

对于普通用户而言,这些参数并没有多大意义,但高级用户应注意:基于 ARM 的 Apple M1 应该是用 Rosetta 来运行旧版的 x86 软件,这可能会在运行 x8 6程序时对性能造成不利影响。幸运的是,由于速度的原因,即使在使用旧版 x86 程序的情况下,M1 在大多数情况下仍会优于旧的英特尔芯片。此外由于一些第三方工具和程序可能无法立即使用,或者可能会导致性能下降,因此可能会遇到一些麻烦的问题。尽管如此,这些问题最终总会得到解决,大多数用户不必担心。

例如 Docker 用户不确定他们的 x86-64 镜像是否可以正常工作。目前他们正面临严重的问题,Docker 无法正常工作。尽管 Adobe 正在努力为 M1 优化其产品,但是依赖第三方插件的 Adobe 产品仍会遇到兼容性问题。

这些问题在新硬件上是可以预期的,因为开发人员需要时间来确保兼容性,并为新硬件移植其软件。这可能要花一点时间。

由 Apple 设计,由 Apple 销售

苹果公司通过这次活动宣称 M1 是市场上最快的 CPU 内核,但是硬件爱好者迅速指出其某些性能的说法非常含糊,并且难以确认。我们不会对苹果的所有营销主张进行测试,因为独立评论家已经做到了,而且评论绝对是积极的。 M1 并不是世界上最快的 CPU,但它似乎是超便携式笔记本电脑中最快的 CPU。

让我们仔细看一下 Apple M1 的设计,并说明是什么使它变得独具匠心,以及它将会怎样深刻影响整个行业。

Apple M1 的设计 和功能

Apple M1 芯片有四个适用于高负载场景的大型 Firestorm CPU 内核,并有四个为提高效率而设计的较小Icestorm CPU 内核。如果听起来很熟悉,则可能是你研究过具有类似 ARM CPU 布局的 Android 手机。 ARM 从 2014 年起将此布局称为 ARM big.LITTLE。CPU 使用了 ARM 的 AArch64 或 ARM64 扩展集。

同样,你可能也习惯了集成 GPU,因为它们已经在 Intel 和 AMD 芯片中使用了多年。 Apple M1 中使用的 GPU 具有八个核心,并且与八个 CPU 核心相比仅占用一点芯片空间。苹果声称 GPU 可以提供 2.6 TFLOPS 的运算能力。从这个角度来看,英伟达 2016 年的 GeForce GTX 1050Ti 提供了 2.1 TFLOPS,这是一款具有 33 亿个晶体管的台式机图形卡,其功耗高达 75W,在被动冷却的 MacBook Air 上被集成显卡击败。

唯一的缺点是没有 eGPU 支持,你无法获得独立的显卡。苹果也没有在配备英特尔处理器的 13 英寸 MacBook 上提供可选的独立 GPU。如果你需要在新 MacBook 上使用 Radeon Pro,则仍然需要购买 16 英寸 MacBook Pro。

image.png

M1 还将 RAM 集成在 SoC 封装中,就像在 iPhone 和 iPad 中使用的最新 A 系列处理器一样。这是第一款针对手机这类内容消费设备之外的设备所设计的处理器的产品。

以前 MacBook 在主板上焊接有 DDR4 内存。这种新方法允许 Apple 使用新的统一内存体系结构。 Apple M1 使用以 3733MHz 运行的 LP-DDR4X 内存。这使得 CPU 和 GPU 都可以高速访问它,但是这种高度的集成是有代价的。

不利的一面是,至少目前而言,M1 芯片仅具有 8GB 和 16GB 的 RAM。这对于 MacBook Air 或 Mac Mini 的大多数用户而言应该不是问题,但是对 MacBook Pro 爱好者来说,购买无法升级的 16GB 机器实在是很鸡肋。

当然我们早就习惯了焊接 RAM 的笔记本电脑,但这次是不一样的。利用焊接的 RAM,制造商可以通过更换更高容量的 RAM 芯片来更新其产品阵容,例如使用两个 16GB RAM 芯片而不是两个 8GB 单元。这种方法不需要对主板或其他组件进行任何更改。但是由于将 RAM 集成到了 SoC 中,这需要使芯片封装(即经过修改的 M1 芯片)中的存储容量加倍。所以苹果不太可能在 2021 年中期的更新中添加 32GB RAM 选件,它很可能不得不等待新的 M 系列处理器,这可能需要 12 到 18 个月的时间。

除了 CPU、GPU 和 RAM 外,Apple M1 还具有 16 核神经引擎,新的图像信号处理器(ISP),Secure Enclave,Rosetta 硬件优化,对 AES 加密硬件的支持以及音视频专用的编解码引擎。根据早期的评论,这会使它大大超过基于 x86 的 Mac。

M1 具有支持 USB 4 的 Thunderbolt 控制器的标准 I/O 选项范围。但是,开箱即用不支持 10Gbit 网络(如果需要),而新款 MacBook 仅有两个USB Type-C/Thunderbolt 端口。当然与 MacBooks 相比,Mac Mini 还有一些其他端口。

Apple M1 的兼容性和虚拟化问题

因为我们正在讨论新的硬件,尽管情况看起来不错,但还无法在目前的早期阶段做出明确的判断。一些应用需要针对新处理器进行优化,以确保对 M1 处理器的支持,并使它们能够充分发挥出其全部性能潜力。幸运的是 Apple M1 是如此之快,以至于某些在 Rosetta 2 上运行的 x86 程序仍然比在较早的 x86 芯片上运行得更快。多亏了 Rosetta 优化的硬件,新的 Mac 才有足够的性能承受从 x86 到 ARM 的性能损失,并且表现出色。

必须区分尚未针对 Apple M1 优化的软件和当前无法在 Rosetta 2 上运行的软件这两个概念。缺乏优化将会导致性能下降,而缺乏兼容性将导致无法工作。

虚拟化是另外一个麻烦。我们已经提到了 Docker 社区提出的问题,并且很容易理解为什么在早期阶段 x86 镜像可能会出现问题。不幸的是有关 M1 处理器虚拟化支持的信息仍然太少。尽管苹果并没有说太多,但 VMware 和 Parallels 已经宣布他们正在开发针对 M1 优化的更新,不过应该指出的是,VMware 并未透露其时间表。

这些问题有多严重?目前某些关键工具可能无法在新的 Mac 上运行或者无法正常运行。这其中包括 Docker、Android Studio 和 Haskell 等。将在 Rosetta 2 上运行但未针对 M1 优化的工具列表更加广泛,其中包括 Atom、RStudio、PHPStorm、R、Flutter、VSCode、Golang、.NET 甚至 PHP。预计它们将会在未来几周到几个月内针对苹果芯片进行优化。

你可以通过查询 IsAppleSiliconReady.com 了解更多信息和更新。当然你也可以自行检查堆栈中每个组件的状态。

设计人员不必担心,因为大多数软件都可以正常运行,尽管有些套件尚未针对 M1 进行优化。关于 Adobe 产品以及它们在发布时是否能够完全兼容的讨论很多。看起来这不会是一个大问题,因为 Adobe 有望在 2021 年初推出更新,并确保一切工作正常。由于 Apple 硬件在设计人员中的普及程度,Adobe 和其他软件供应商将尽最大努力针对新架构优化软件,这点可以尽管放心。

Adobe 产品的第三方插件是一个更重要的问题,因为它们可能会需要一段时间才能全部更新完毕。

尽管 ARM 处理器在服务器市场的某些领域占据了优势,但大多数服务器仍在使用 x86 芯片。多年来,Mac 一直是软件开发人员的首选平台,因为他们可以工作在 x86 硬件上运行的基于 UNIX 的操作系统。他们为在使用相同指令集的另一个基于 UNIX 的操作系统的服务器上编写代码。有了 M1,这些将会发生变化,开发人员将在 ARM 硬件上开发软件,然后在 x86 服务器上发布该软件。

另一方面,新的 MacBook 可以在本机运行 iOS 应用,因为 Mac 和 iPhone 现在共享相同的 CPU 架构。用户可以通过 App Store下载和安装 iOS 应用,尽管界面可能无法提供苹果所期望的完美的用户体验。

对用户的影响

苹果已经成功设计出了一种强大的移动处理器,它将为 MacBooks 和 Mac Mini 注入新的活力。尽管某些性能数据含糊不清,但评论家们证实,新处理器很容易击败基于英特尔处理器的上一代产品。得益于专用的硬件编码器,在某些场合下(例如视频)它甚至超过了 Intel 和 AMD 的更强大的台式机 CPU。

那么 MacBook 的世界一切都很好吗?到目前为止看起来不错,但这最终取决于你自己。

延长了电池寿命和效率

M1 在许多方面都有出色表现。在大多数情况下性能都是首屈一指的,并且由于效率的提高,你的下一台 MacBook 可以运行好几个小时而无需充电。效率不仅可以延长电池寿命,这也意味着 MacBook Air 可以通过被动冷却提供很多性能。 MacBook Pro 带有风扇,尽管你可能要在承受很大运算量时才使其旋转。每个人都喜欢静音计算机,M1 承诺在不产生大量风扇噪音或热量的情况下提供出色的性能。

有一点值得一提。在低功耗下,ARM 处理器往往比 x86 处理器的效率更高,但是由于 higher leakage) 问题以及高内核主频的损失,这种优势很可能在大运算量负载下降低。如果你将大部分时间都花在浏览、编辑文档或编写代码上,则电池续航时间将更长。如果你每天编译大量代码或进行 3D 渲染,你可能会感到失望。

通常用于内容消费和 Web 应用的 MacBook Air 可能比 MacBook Pro 受益更多,后者主要用于生产力和大运算量程序。不过在这两种情况下,用户都可以期待更长的电池寿命。

但是 MacBook Pro 用户是否会由于出色的散热功能而获得很多性能,从而使处理器能够以高主频运行而不会产生热量限制?它不像英特尔芯片那样简单明了,后者可以从更高的主频中得到更多好处。如前面所说的,ARM 芯片与众不同,它们会降低效率,并在更高的主频下只能提供较小的性能提升。

连接性和扩展性

近年来这一直是引发争议的原因,因为 Apple 倾向于随着新一代产品的推出而移除物理端口。借助新款MacBook,用户的选择会更少,并且他们可能需要比以往更多的加密狗和 USB Type-C 扩展坞。

对于普通的 MacBook Air 用户而言,有限的连接性并不是什么大问题,但 MacBook Pro 爱好者仍然会再次抱怨。我们也不要忘记缺少板载 10Gbit 网络。这不会影响大多数用户,但是某些专业人员仍然依靠高速的有线网络在其本地网络上快速复制大型视频文件和数据库。另外一些视频专业人员报告了与专用硬件和外围设备的兼容性问题。

可升级性和自定义

最后,这是 Apple M1 所无法做到的。我们已经概述了集成 RAM 而不是焊接 RAM 模块的问题。在处理器上集成 RAM 的确有其优势,因为它简化了电源传输,减少了主板的占位面积,并释放了更多性能。不过这种方法要付出高昂的代价。很难看出苹果在不久的将来将会如何提供 32GB 或 64GB 选项。如果你需要大量 RAM,那么此时唯一的选择是选择 Intel 处理器的 MacBook Pro。

这对许多用户来说是一个破坏交易的行为吗?可能不是,因为我们谈论的是 13 寸笔记本电脑。如果你正在寻找功能强大的移动工作站,那么无论如何你都应该选择 16 寸版本。所以有什么问题?好吧,从性能数据来看,基于 Intel 的 Mac 在许多情况下可能会变慢,因此某些用户可能必须牺牲 CPU 性能才能获得具有更多 RAM 的系统。

但是,如果你要更换自己使用了 5 年之久的 MacBook Air,则应该使用 16GB 甚至 8GB 的内存。Air 用户不必像Pro 用户那样纠结。

对 Linux 和 Windows 用户的长期影响

Mac 在近二十年来首次使用优于 Windows PC 的 x86 芯片的处理器。自 2006 年以来,Mac 和 Windows 机器使用相同的处理器,但是现在 Apple 有了自己的芯片来支持其操作系统,其水平在业内是前所未有的。苹果现在可以控制其操作系统以及其 CPU 设计。它现在只依赖第三方来制造商品化的组件,例如存储器、显示器、触摸板等。

与 x86 相比,ARM 体系结构可提供更高的效率和更好的扩展性。尽管应该指出,AMD 在 Ryzen 处理器方面做得更好,但英特尔的 x86 芯片不再为每个新一代产品提供实质性的性能改进。 ARM 芯片的发展速度越来越快,一代又一代地提供了更大的性能提升。在不到十年的时间里,苹果的 A 系列智能手机芯片已经赶上了英特尔的 x86 笔记本芯片,而 M 系列已经超过了它们。如果我们继续看到未来的 M 系列处理器有类似的性能提升,那么苹果将在未来几年处于非常强大的地位。

Windows 仍然停留在 x86 上,这不只是因为微软没有在 Windows on ARM上取得太大进展,而是因为没有太多适用于 Windows 桌面程序的 ARM 处理器和硬件平台。实际上苹果最近表示,是否使 Windows 在 M1 上运行“取决于微软”。但是一些勇敢的开发人员已经设法在 Apple 芯片上运行 Windows for ARM 了,而且效果很好,因为它优于 Microsoft 自己的 Surface Pro X。

当然苹果不会将其芯片卖给出价更高的人,但别忘了其他 ARM 芯片制造商,例如高通和三星。值得注意的是,英伟达正在收购 ARM,这也可能动摇市场。

Hackintosh 社区最终可能会成为这种过渡的最大输家。从长远来看,随着苹果开始将其操作系统与它的芯片绑定在一起,Hackintosh 可能会成为计算机历史上的脚注。你可能也忘记了通过 Bootcamp 运行 Windows,Linus Torvalds 最近对 Linux 是否将会移植到 Apple M1表示怀疑。基于 UNIX 的操作系统可以在 ARM 和 x86 上运行,因此从理论上讲这应该不太难,但是驱动程序、引导加载程序等可能会存在问题。

我应该购买 Apple M1 Mac 吗?

是的,前提是你要事先做好功课,因为早期可能会遇到一些兼容性问题。随着软件不断为 M1 处理器进行更新和优化,这些担忧大多数将会逐渐消失。

如果你可以使用 16GB 的 RAM,并确保所用的工具从一开始就能正常使用,那么就没有必要担心。毕竟我们谈论的是具有重要市场份额的行业重量级人物。每个软件供应商都将确保其产品可在 Apple 硬件上运行,尽管这可能需要数周或数月的时间。当然你并不会觉得自己是在给他们做测试,Apple 也不会把新 Mac 看成是第一代的 iPad 或 Apple Watch。

尽管苹果的市场营销在某些方面可能含糊不清且过于乐观,但显然 M1 是一款功能强大的处理器。 Mac 用户可以在被动冷却的 MacBook Air 或 Mac Mini 之类的紧凑型台式机上得到这种性能,尽管它可能不会在高端产品中胜过某些 Intel 和 AMD 处理器芯片,但这证明了 Apple 的工程技术实力。

眼尖的读者可能已经注意到我忽略了 MacBook Pro,硬件爱好者可能知道原因。基于 M1的MacBook Pro 和 MacBook Air 之间的区别不再那么大了。 Pro 配备了 Touch Bar,更大的电池和更好的散热。不幸的是,我们已经提到 ARM 芯片在高主频方面的表现不及 x86 同类产品,所以这个优势会由于架构而受到削弱。换句话说,在大多数情况下,Pro 不会明显比 Air 更快。

多年来,苹果一直在从 MacBook Pro 上移除物理端口,这使很多专业人士的极其沮丧。在这一代人中,他们走得更远,甚至可能走得太远。与 Air 一样,MacBook Pro 缺乏发烧友和专业人士所需的连接性、扩展性和 RAM 选项,与 Air 相比,它只能提供稍微更好一些的性能。这使它比 MacBook Air 难卖得多。

最后的话

Apple M1 是令人印象深刻的工程壮举,将会撼动整个行业。当然它并不会杀死便宜的 Windows 笔记本电脑或 x86 芯片。但是在这一点上,除非苹果能够很快推出一款更具吸引力的版本,否则它很可能最终会损害 13 英寸的 MacBook Pro。一个 32GB 的变体可以解决这个问题,但是考虑到集成的 RAM,除非苹果推出 M2 处理器,否则我们不太可能会看到它。

原文:http://toptal.com/apple/apple...

173382ede7319973.gif


本文首发微信公众号:前端先锋

欢迎扫描二维码关注公众号,每天都给你推送新鲜的前端技术文章

欢迎扫描二维码关注公众号,每天都给你推送新鲜的前端技术文章


欢迎继续阅读本专栏其它高赞文章:



疯狂的技术宅
44.4k 声望39.2k 粉丝