克雷格·费德里希(Craig Federighi),约翰尼·斯鲁吉(Johny Srouji)和格雷格·乔斯维克(Greg Joswiak)谈苹果如何设计M1,UMA的重要性,在更高功率水平下性能的非线性增长等等。

2020-11-21 23:38:40

前段时间,在苹果校园大楼中,一群工程师聚在一起。他们与公司中的其他公司隔离开来,将旧的MacBook Air笔记本电脑胆量大胆地连接起来,并将它们连接到自己的原型板上,目的是制造第一台可以在苹果自己的,定制设计的,基于ARM的芯片上运行macOS的机器。

听到苹果公司的克雷格·费德里吉(Craig Federighi)讲这个故事时,听起来有点像多年前在硅谷车库里对史蒂夫·沃兹尼亚克(Steve Wozniak)的回呼。而本周,苹果终于迈出了那些工程师正在准备的重要一步:该公司发布了第一批运行在Apple Silicon上的Mac,开始了Mac产品线从英特尔CPU的过渡,后者是台式机和笔记本电脑的行业标准。笔记本电脑数十年。在与苹果公司软件工程高级副总裁Craig Federighi,全球市场营销副总裁Greg Joswiak和硬件技术高级副总裁Johny Srouji宣布M1计划后不久的一次对话中,我们了解到-毫无疑问,苹果公司已经计划了很多年了。

Ars与这些高管详细讨论了首款适用于Mac的Apple Silicon芯片(Apple M1)的架构。尽管我们不得不就软件支持的边缘情况进行一些询问,但我们的心中确实有一个大问题:苹果公司进行根本变革的原因是什么?

我们从一个大想法开始:“为什么?为什么现在呢?” Federighi得到了苹果公司的强烈回应:

Mac是Apple的灵魂。我的意思是,Mac使我们许多人参与了计算。 Mac是将我们中的许多人带到了Apple的原因。 Mac仍然是我们所有人用来完成工作,在苹果这里所做的一切的工具。因此,有机会……将我们学到的一切知识应用到生活中至关重要的系统上,这显然是一个长期的抱负,一种梦想成真。

Srouji补充说:“我们希望创造出最好的产品。” “我们确实需要我们自己的定制芯片来交付真正可以提供的最好的Mac。”

在显然PowerPC(Mac处理器的先前体系结构)即将走到尽头的时候,Apple于2006年开始使用x86 Intel CPU。在最初的几年中,这些英特尔芯片对Mac来说是一个巨大的福音:它们使与Windows和其他平台的互操作性成为可能,使Mac成为更加灵活的计算机。除了台式机,它们还使Apple可以将更多的精力放在越来越流行的笔记本电脑上。他们使Mac整体上更受欢迎,与此同时,iPod以及随后不久的iPhone取得了巨大的成功。长期以来,英特尔的性能都是一流的。但是近年来,无论从性能方面还是在一致性方面,英特尔的CPU路线图都不太可靠。 Mac用户注意到了。但是我们与之交谈的所有三个人都坚称,这并不是变革背后的动力。

“这就是我们能做的,对吧?”约斯维克说。 “不关乎别人能做或不能做什么。”

他继续说:“每个公司都有一个议程。” “软件公司希望硬件公司能做到这一点。硬件公司希望OS公司能做到这一点,但是它们有相互竞争的议程。在这里情况并非如此。我们只有一个议程。”

最终做出决定时,了解该决定的人圈子最初很小。 “但是,从我们说我们要走这条路的那一刻起,那些认识的人就笑着走来走去,”费德里希回忆。

Srouji表示,苹果在成功采取行动方面处于特殊的位置:“如您所知,我们不会像商人,供应商或通用解决方案那样设计芯片,这使芯片能够与软件和系统紧密集成。和产品-正是我们所需要的。”

苹果需要的是一种芯片,该芯片汲取了多年改进iPhone,iPad和其他产品的单芯片移动系统的经验教训,然后添加了各种附加功能,以满足笔记本电脑或台式电脑。

Srouji回忆说:“在预硅期间,我们甚至设计架构或定义功能时,克雷格和我坐在同一个房间,我们说,'好的,这就是我们要设计的东西。 ”。当苹果公司首次宣布其计划于今年推出第一台苹果机硅Mac时,围观者猜测iPad Pro的A12X或A12Z芯片是一个蓝图,而新的Mac芯片将像A14X一样—更加完善。今年iPhone 12中出货的芯片的变体。

如果您想相对于A14而言,M1本质上是一个超集。因为当我们着手构建Mac芯片时,与相应的A14X之类的产品相比,我们有许多不同之处。

我们对Mac应用程序工作负载,运行典型Mac工作负载所需的图形/ GPU功能种类,所需的纹理格式种类,对不同种类的GPU计算的支持以及在Windows上可用的东西进行了大量分析。 Mac…甚至包括内核数量,驱动Mac大小的显示器的能力,对虚拟化和Thunderbolt的支持。

我们为M1设计了许多功能,这些功能是Mac所必需的,但相对于为iPhone编译的应用程序,这些功能都是超集功能。

我们建立的许多IP的基础已经成为M1在其之上构建的基础…始于十多年前。如您所知,我们首先使用自己的CPU,然后是图形,ISP和神经引擎。

因此,我们已经在十多年中构建了这些伟大的技术,然后几年前,我们说:“现在是时候使用我们所谓的可伸缩体系结构了。”因为我们拥有这些出色IP的基础,并且该架构可通过UMA进行扩展。

然后我们说:“现在是时候为Mac构建定制芯片了,它是M1。这与类固醇上的某些iPhone芯片不同。它是完全不同的定制芯片,但是我们确实使用了许多出色IP的基础。

UMA代表“统一内​​存架构”。当潜在用户查看M1基准测试,并想知道以移动设备为基础的,相对低功耗的芯片可能具有这种性能时,Apple指出UMA是取得成功的关键因素。

Federighi声称“现代计算或图形渲染管道”已经发展,并且已经成为GPU计算,GPU渲染,图像信号处理等的“混合”。

从本质上讲,UMA意味着所有组件(中央处理器(CPU),图形处理器(GPU),神经处理器(NPU),图像信号处理器(ISP)等)共享一个非常快的内存池,该池位于非常接近他们所有人。这与常见的桌面范式背道而驰,例如,将一个内存池专用于CPU,将另一个内存池专用于主板另一侧的GPU。

当用户运行苛刻的,多方面的应用程序时,传统的管道可能最终会浪费大量时间和效率来移动或复制数据,因此所有这些不同的处理器都可以访问它们。费德里希(Federighi)表示,苹果在M1上的成功部分归因于在硬件和软件层面都拒绝了这种效率低下的范例:

我们不仅获得了GPU原始性能的巨大优势,而且同样重要的事实是,采用统一的内存体系结构,我们不会不断地来回移动数据并改变格式使其速度变慢。而且我们的性能大大提高了。

因此,我认为过去的工作负载是什么样的,想出想要绘制的三角形,将它们运送到独立的GPU上,让它完成工作,再也不会回头,这不是现代计算机渲染管道的样子今天。这些事情在许多不同的执行单元之间来回移动以实现这些效果。

这不是唯一的优化。几年来,Apple的Metal图形API一直采用“基于图块的延迟渲染”,M1的GPU旨在充分利用此特性。费德里希解释说:

老式GPU基本上可以一次在整个框架上运行,而我们在图块上进行操作,可以将它们移至极快的片上内存中,然后对该图块上的所有不同执行单元执行大量的操作序列。这些离散的GPU并非如此,这在带宽效率方面具有令人难以置信的效果。然后,您只需将其与我们通往RAM的流水线的巨大宽度以及芯片的其他效率相结合,即可获得更好的架构。