每次Apple的新品发布活动都吸引了很多目光,但是MacBookAir,MacBookPro和MacMini的发布不仅仅是新功能和时尚的工业设计。重大新闻藏在了新MacBook的阳极氧化铝机箱中的M1片上系统(SoC)中,它取代了13寸MacBook和MacMini中的英特尔处理器。
为什么过渡到Apple处理器这么重要?毕竟苹果自年以来就一直在设计它的智能手机处理器,这并不是它第一次采用新的CPU架构。苹果已经经历了许多不同的体系结构,从Wozniak时代的摩托罗拉CPU到90年代的PowerPC芯片,再到年的英特尔x86处理器。现在他们正朝着自己设计的基于ARM的处理器发展。相比之下,自年IBM推出第一台PC以来,WindowsPC平台就一直停留在x86处理器上。
今天,我们将仔细研究Apple的新型M1芯片,以及它对软件工程师、设计师、消费者和整个行业的影响。为了简洁起见,我不会为你提供详细的性能评估,也不会测试每个软件和工具、旧版软件、SDK等的兼容性,因为你可以轻松的找到自己信任测试和评估数据,我们把重点放在全局上,并解决有兴趣购买新款M1MacBook的设计师和开发人员所提出的一些担忧。
是什么使AppleM1处理器与众不同?是什么让AppleM1处理器与众不同?AppleM1在许多方面与以前的MacBook中所使用的Intel处理器不同:
M1是ARM处理器,而不是x86处理器。它集成了比IntelCPU更多的组件。苹果M1还在同一封装中集成了RAM。它有Rosetta2动态二进制翻译功能,可运行x86软件。除了集成GPU外,该芯片还具有八个CPU核。采用5纳米工艺制造,有亿个晶体管。对于普通用户而言,这些参数并没有多大意义,但高级用户应注意:基于ARM的AppleM1应该是用Rosetta来运行旧版的x86软件,这可能会在运行x86程序时对性能造成不利影响。幸运的是,由于速度的原因,即使在使用旧版x86程序的情况下,M1在大多数情况下仍会优于旧的英特尔芯片。此外由于一些第三方工具和程序可能无法立即使用,或者可能会导致性能下降,因此可能会遇到一些麻烦的问题。尽管如此,这些问题最终总会得到解决,大多数用户不必担心。
例如Docker用户不确定他们的x86-64镜像是否可以正常工作。目前他们正面临严重的问题,Docker无法正常工作。尽管Adobe正在努力为M1优化其产品,但是依赖第三方插件的Adobe产品仍会遇到兼容性问题。
这些问题在新硬件上是可以预期的,因为开发人员需要时间来确保兼容性,并为新硬件移植其软件。这可能要花一点时间。
由Apple设计,由Apple销售苹果公司通过这次活动宣称M1是市场上最快的CPU内核,但是硬件爱好者迅速指出其某些性能的说法非常含糊,并且难以确认。我们不会对苹果的所有营销主张进行测试,因为独立评论家已经做到了,而且评论绝对是积极的。M1并不是世界上最快的CPU,但它似乎是超便携式笔记本电脑中最快的CPU。
让我们仔细看一下AppleM1的设计,并说明是什么使它变得独具匠心,以及它将会怎样深刻影响整个行业。
AppleM1的设计和功能AppleM1芯片有四个适用于高负载场景的大型FirestormCPU内核,并有四个为提高效率而设计的较小IcestormCPU内核。如果听起来很熟悉,则可能是你研究过具有类似ARMCPU布局的Android手机。ARM从年起将此布局称为ARMbig.LITTLE。CPU使用了ARM的AArch64或ARM64扩展集。
同样,你可能也习惯了集成GPU,因为它们已经在Intel和AMD芯片中使用了多年。AppleM1中使用的GPU具有八个核心,并且与八个CPU核心相比仅占用一点芯片空间。苹果声称GPU可以提供2.6TFLOPS的运算能力。从这个角度来看,英伟达年的GeForceGTXTi提供了2.1TFLOPS,这是一款具有33亿个晶体管的台式机图形卡,其功耗高达75W,在被动冷却的MacBookAir上被集成显卡击败。
唯一的缺点是没有eGPU支持,你无法获得独立的显卡。苹果也没有在配备英特尔处理器的13英寸MacBook上提供可选的独立GPU。如果你需要在新MacBook上使用RadeonPro,则仍然需要购买16英寸MacBookPro。
AppleM1处理器M1还将RAM集成在SoC封装中,就像在iPhone和iPad中使用的最新A系列处理器一样。这是第一款针对手机这类内容消费设备之外的设备所设计的处理器的产品。
以前MacBook在主板上焊接有DDR4内存。这种新方法允许Apple使用新的统一内存体系结构。AppleM1使用以MHz运行的LP-DDR4X内存。这使得CPU和GPU都可以高速访问它,但是这种高度的集成是有代价的。
不利的一面是,至少目前而言,M1芯片仅具有8GB和16GB的RAM。这对于MacBookAir或MacMini的大多数用户而言应该不是问题,但是对MacBookPro爱好者来说,购买无法升级的16GB机器实在是很鸡肋。
当然我们早就习惯了焊接RAM的笔记本电脑,但这次是不一样的。利用焊接的RAM,制造商可以通过更换更高容量的RAM芯片来更新其产品阵容,例如使用两个16GBRAM芯片而不是两个8GB单元。这种方法不需要对主板或其他组件进行任何更改。但是由于将RAM集成到了SoC中,这需要使芯片封装(即经过修改的M1芯片)中的存储容量加倍。所以苹果不太可能在年中期的更新中添加32GBRAM选件,它很可能不得不等待新的M系列处理器,这可能需要12到18个月的时间。
除了CPU、GPU和RAM外,AppleM1还具有16核神经引擎,新的图像信号处理器(ISP),SecureEnclave,Rosetta硬件优化,对AES加密硬件的支持以及音视频专用的编解码引擎。根据早期的评论,这会使它大大超过基于x86的Mac。
M1具有支持USB4的Thunderbolt控制器的标准I/O选项范围。但是,开箱即用不支持10Gbit网络(如果需要),而新款MacBook仅有两个USBType-C/Thunderbolt端口。当然与MacBooks相比,MacMini还有一些其他端口。
AppleM1的兼容性和虚拟化问题因为我们正在讨论新的硬件,尽管情况看起来不错,但还无法在目前的早期阶段做出明确的判断。一些应用需要针对新处理器进行优化,以确保对M1处理器的支持,并使它们能够充分发挥出其全部性能潜力。幸运的是AppleM1是如此之快,以至于某些在Rosetta2上运行的x86程序仍然比在较早的x86芯片上运行得更快。多亏了Rosetta优化的硬件,新的Mac才有足够的性能承受从x86到ARM的性能损失,并且表现出色。
必须区分尚未针对AppleM1优化的软件和当前无法在Rosetta2上运行的软件这两个概念。缺乏优化将会导致性能下降,而缺乏兼容性将导致无法工作。
虚拟化是另外一个麻烦。我们已经提到了Docker社区提出的问题,并且很容易理解为什么在早期阶段x86镜像可能会出现问题。不幸的是有关M1处理器虚拟化支持的信息仍然太少。尽管苹果并没有说太多,但VMware和Parallels已经宣布他们正在开发针对M1优化的更新,不过应该指出的是,VMware并未透露其时间表。
这些问题有多严重?目前某些关键工具可能无法在新的Mac上运行或者无法正常运行。这其中包括Docker、AndroidStudio和Haskell等。将在Rosetta2上运行但未针对M1优化的工具列表更加广泛,其中包括Atom、RStudio、PHPStorm、R、Flutter、VSCode、Golang、.NET甚至PHP。预计它们将会在未来几周到几个月内针对苹果芯片进行优化。
你可以通过查询IsAppleSiliconReady.