ZKX's LAB

苹果M1电脑上还能运行Windows吗?苹果:留了路,看微软

2020-11-21新闻8

不久之前,在苹果的一幢大楼里,一群工程师聚集到了一起。

他们掏出了旧版MacBook Air,将笔记本的内核连接到自己的原型板上。

此次「会晤」的目的非常明确:

造出第一台自己定制设计、基于ARM芯片,且能运行MacOS的苹果电脑。

而就在本周,苹果终于迈出了这一大步——第一批在苹果M1芯片上运行的Mac诞生。

这也标志着苹果开始脱离英特尔CPU的「产品转型」。

但一系列问题也随之而来:

为什么要这么做?又是何时开始准备的?软件兼容怎么办?Windows方面又如何处理?

外媒ArsTechnica,最近与苹果软件工程高级副总裁Craig Federighi、全球营销高级副总裁Greg Joswiak、硬件技术高级副总裁Johny Srouji的进行了一次访谈。

从左至右:Greg Joswiak、Craig Federighi、Johny Srouji

而关于苹果M1芯片背后的故事和与之更多的细节,也就此浮出了水面。

为什么要造芯片?又为什么是现在?

2006年时候,苹果选择开始使用英特尔x86架构,因为在此之前所采用的PowerPC似乎已经走到了尽头。

在此后最初的几年时间里,这一选择对于苹果来说是一种福音:英特尔的芯片实现了Mac与Windows及其他平台的互操作,这也让Mac变得更加灵活。

除了苹果台式机外,像笔记本电脑以及手机等产品,也随之受益。

在很长一段时间里,英特尔的表现可以说是一流的。

但最近几年,英特尔CPU的发展却不是那么乐观,尤其是在性能提高和一致性方面。

不仅是厂商,用户也对此有所发觉,还戏称道「挤牙膏」。

或许你会认为,这是苹果做出如此选择背后的驱动力。

「但这并不是最根本的原因」,苹果三位高管的回答却是这样的。

Joswiak对此解释道:

这是关于我们能做什么,不是关于「别人能做或不能做什么」的问题,对吗?

每家公司都有自己的计划:软件公司希望硬件公司这样做,反过来硬件公司又希望软件公司那样做,他们之间是存在竞争的。

而苹果的位置比较特殊,我们设计芯片,不是作为商家、供应商或者解决方案,而是为了让软件、系统和产品紧密结合。

这就是我们所需要的。

对于这个问题,Federighi给出了一个非常「苹果式」的回答:

Mac是苹果的灵魂,是它把我们带入了计算机领域。

Mac仍然是我们在工作中使用的一种工具,将我们所学到的一切,应用到核心系统中,显然是一个长期的抱负,也是一种实现梦想的方式。

Joswiak还回忆道,「刚开始知道这个决定的人很少,但他们知道苹果要走这条路开始,便一直对此面带微笑」。

设计苹果M1芯片

苹果要造的芯片,不仅是一种能够吸取多年来,为iPhone、iPad等其他产品设计的移动芯片所累积的经验的芯片,还能满足笔记本电脑或台式电脑不断扩大的需求。

而当苹果今年宣布要打造基于苹果芯片的Mac时,不少旁观者都在猜测,这个芯片很可能类似于A14。

但事实并非如此,Federighi表示:

如果你把M1和A14联系起来,它本质上是一个「超集」。并且Mac上的芯片与之有很多不同之处。

苹果对Mac应用工作负载进行了大量分析:

运行典型Mac工作负载所需的图形/GPU能力。

所需的纹理格式。

对不同类型GPU计算的支持。

核心数量、驱动Mac尺寸显示器的能力、对虚拟化和Thunderbolt的支持。

……

这些都是Mac所需要的,但相对于iPhone编译的应用程序,这些功能都是「超集」。

Srouji 进一步阐述道:

我们已经建立了许许多多的IP,它们成为M1芯片的基础。

我们开发这些伟大的技术已经超过了10年,然后几年前,我们便说「现在是时候使用我们所谓的可扩展架构,是时候为 Mac 开发一个定制的芯片了」。

因为我们有这些伟大的IP的基础,而且架构是可扩展的UMA。

这是一个完全不同的自定义芯片。

这里提到的UMA,即统一存储体系结构 (Unified memory architecture),是苹果此次成功的关键。

UMA本质上意味着所有的组件,包括中央处理器(CPU)、图形处理器(GPU)、神经处理器(NPU)、图像信号处理器(ISP)等等。

它们共享一个速度极快的内存池,并且位置非常相近,这与常见的台式机模式是相反的。

当用户运行要求比较苛刻的应用时,传统的pipeline 可能会损失大量的时间和效率来移动或复制数据,以便这些不同的处理器都能够访问到它们。

Federighi认为,苹果在M1上的成功,部分原因是在硬件和软件层面,拒绝了这种低效的模式:

我们不仅获得了GPU原始性能的巨大优势,而且同样重要的是,在统一的内存架构下,我们不用不断地来回移动数据,也不用改变会降低数据速度的格式。我们在性能上有了很大的提高。

而且这并不是苹果M1唯一的优化点。

近几年来,苹果的 Metal graphics API 采用了「基于平铺的延迟渲染」 ,M1的 GPU 就是为了充分利用这一点而设计的。

Federighi解释道:

老式的GPU基本上是同时在整个框架上操作,而我们则是在tile上操作,可以将tile移动到极快的片上内存中,然后在tile上与所有不同的执行单元一起执行一个巨大的操作序列。

这是一种令人难以置信的效率,而以往离散的GPU是做不到的。

Windows怎么办?

应用新的架构同时,在软件层面也迎来一种新的转型。

Mac 电脑现在将在本地运行新类型的软件,并停止本地运行其他类型,包括现有的所有 Mac 软件系列。

除此之外,苹果在架构上的转变也为iPhone和iPad制作的软件,打开了一道「闸门」。

这是第一次,适用于移动端平台的应用程序可以在Mac上运行。

但对于这样的一个「过度」,用户体验这块必须要拿捏得住。

对此,Federighi表示「大约90%的应用程序运行良好」:

一个应用程序无法正常工作的原因有很多。它可能使用的技术在 Mac 上并不适用或不合理。

所以我们对现有的应用做一定数量的自动测试,看看它们是否会崩溃等等。如果他们有这些问题,我们会从商店中自动自动将它们筛选出来。

随着时间的推移,我们很可能会看到一些开发者,为了让他们的应用在Mac上能良好运行而付出努力。

对于苹果公司来说,目前还处于早期,但在几年内,市场上将会有数百万台配备M1或M1系列的Mac。

时间将证明这一进程的发展会有多快。

接下来的一个问题也比较关键:What about Windows?

尽管M1的运行现有的 Mac、 iPhone 和 iPad 软件,但是新的架构不能立即运行除了 macOS 之外的 x86操作系统的应用程序。

对此,Federighi指出,M1 Mac 确实使用了支持 Parallels 或 VMWare 等产品的虚拟化框架,但他承认,这些产品通常也会虚拟化其他 ARM 操作系统。

与此同时,Federighi还表示,云端的Windows是一种可能的解决方案,并提到了CrossOver:

它能够在这些系统上一种类似WINE的仿真层下,运行32位和64位的x86 Windows二进制文件。

但是 CrossOver 的模拟方法,并不像我们在英特尔 mac 上使用 Parallels 或 VMWare 等虚拟化软件时那样一致,所以可能还有很长的路要走。

至于在Mac上运行Windows系统,Federighi说到:

我们有核心技术来运行他们的ARM版Windows,而后者当然支持x86应用程序。

但这是微软必须做出的决定,授权用户在这些Mac上运行这项技术。但Mac电脑确实很有能力做到这一点。

「很艰难,但却是值得的」

最后,Srouji 回顾整个历程时说到:

我们一直对这个项目和整个事情充满热情。非常艰难,但却是值得的。

我们喜欢Mac,我们热爱计算机。

我认为我们正在创造历史,这就是我们工程师们的看法。

类似的,Federighi也发表了他的看法:

我们付出了大量的汗水和心血,但我想说,在某种程度上,我们知道如何做到这一点。我们知道我们要面对的是什么。

Joswiak补充道:

我们以前也这样做过(从PowerPC 向英特尔的过渡)。

但这一次,这一切都是在「家」里完成的——这让苹果获得了一种不同的胜利。

#英特尔#平板电脑

随机阅读

qrcode
访问手机版