苹果正在重新考虑笔记本电脑的内部组件应该如何存在和运行。通过在新 Mac 中使用 M1 芯片,苹果电脑拥有了新的“统一内存架构”(Unified Memory Architecture:UMA),它可以显着提高内存性能,这也是内存在 Apple Silicon 上的工作方式。

 

 

Apple Silicon 如何处理 RAM

以防您还没有听说过该消息,我们重新说一下,Apple 在 2020 年 11 月发布两千全新的 Mac,包括新款的 MacBook Air,MacBook Pro 和 Mac Mini,这些新设备都使用由 Apple 定制设计的基于 ARM 架构的处理器——M1。长期以来,人们一直期待着这种改变,这也是苹果十年来为 iPhone 和 iPad 设计基于 ARM 处理器的最高潮。

 

M1 是片上系统(SoC),这意味着处理器中不仅有 CPU,而且还有其他关键组件,包括 GPU,I / O 控制器,用于 AI 任务的 Apple 神经引擎,最重要的是,物理 RAM 也是封装中的一部分。需要明确的是,RAM 与 SoC 的基本部分不在同一芯片上。相反,它位于上图所示的一侧。

 

向 SoC 添加 RAM 并不是什么新鲜事。智能手机的 SoC 可能包含 RAM,并且苹果公司决定至少从 2018 年开始就将 RAM 模块放到一边。如果您查看 iPad Pro 11 的 iFixit 拆解,您会发现 RAM 也与 A12X 处理器并排放置。

 

现在不同的是,这种方法也适用于 Mac,这是一种专为繁重的工作量而设计的成熟计算机。

 

基础知识:什么是 RAM 和内存?

RAM 代表随机存取存储器。它是系统内存的主要组成部分,它是计算机当前正在使用的数据的临时存储空间。从运行操作系统所需的文件到您当前正在编辑的电子表格,再到打开的浏览器选项卡的内容,都可以是任何东西。

 

 

当您决定打开一个文本文件时,您的 CPU 会收到这些指令以及要使用的程序。然后,CPU 获取这些操作所需的所有数据,并将必要的信息加载到内存中。然后,CPU 通过访问和操纵内存中的内容来管理对该文件所做的更改。

 

通常,RAM 以上图这些细长棒的形式存在,可插入笔记本电脑或台式机主板上的专用插槽,如上图所示。RAM 也可以是焊接在母板上的简单方形或矩形模块。无论哪种方式,用于 PC 和 Mac 的 RAM 传统上都是独立的组件,在主板上有自己的空间。

 

M1 RAM:分离的室友

因此,物理 RAM 模块仍然是单独的实体,但是它们与处理器位于同一绿色基板上。“大声呐喊,”我听到你说。“有什么大不了的?” 好吧,首先,这意味着更快地访问内存,这不可避免地提高了性能。此外,Apple 正在调整系统中内存的使用方式。

 

 

苹果将其方法称为“统一内存架构”(UMA)。基本思想是 M1 的 RAM 是处理器的所有部分都可以访问的单个内存池。首先,这意味着如果 GPU 需要更多的系统内存,则可以提高使用率,而 SoC 的其他部分则可以降低。更好的是,无需为 SoC 的每个部分分配部分内存,然后在处理器的不同部分的两个空间之间穿梭数据。相反,GPU,CPU 和处理器的其他部分可以在相同的内存地址访问相同的数据。

 

要了解为什么这很重要,请想象一下视频游戏的运行方式。CPU 首先接收游戏的所有指令,然后将 GPU 所需的数据卸载到图形卡。然后,图形卡将获取所有数据,并在其自己的处理器(GPU)和内置 RAM 中对其进行处理。

 

即使您具有集成显卡的处理器,GPU 也会像处理器一样维护自己的内存块。他们俩都独立地处理相同的数据,然后在记忆体之间来回穿梭。如果您放弃了来回移动数据的要求,那么很容易看到将所有内容保存在同一虚拟文件柜中如何提高性能。

 

例如,以下是 Apple 在官方 M1 网站上描述其统一内存架构的方式:

 

“ M1 还具有我们的统一内存架构或 UMA。M1 将其高带宽,低延迟内存统一到一个自定义封装中的单个池中。这就使得 SoC 中的所有技术都可以访问相同的数据,而无需在多个内存池之间进行复制。这极大地提高了性能和电源效率。影片应用程序更轻松。游戏更加丰富和详细。图像处理快如闪电。而且整个系统的响应速度更快。”

 

不仅仅是每个组件都可以在同一位置访问相同的内存。Chris Mellor 在 The Register 上指出,苹果在这里使用高带宽内存。内存距离 CPU(和其他组件)更近,访问速度比通过 Socket 接口访问连接到主板的传统 RAM 芯片要快。

 

苹果并不是第一家尝试使用统一内存的公司

苹果并不是第一家提出这个解决方案的公司。例如, 大约六年前,NVIDIA 开始为开发人员提供称为统一内存的硬件和软件解决方案。

 

 

对于 NVIDIA,统一内存提供了一个单一的内存位置,“可以从系统中的任何处理器访问”。在 NVIDIA 的世界中,就 CPU 和 GPU 而言,它们将在相同的位置存储相同的数据。但是,在后台,系统正在单独的 CPU 和 GPU 内存之间分页所需的数据。

 

据我们所知,Apple 没有采取幕后技术。相反,SoC 的每个部分都能够访问内存中数据的完全相同的位置。

 

Apple 的 UMA 的底线是更快地访问 RAM 和共享内存池,从而提高了性能,从而消除了将数据移至不同地址的性能损失。