解读 CPU 缓存:为何有 L1、L2 和 L3 缓存?它们如何工作?

译文 精选
服务器 芯片
究竟什么是 CPU 缓存?为什么有 L1、L2 和 L3 缓存?以下是您需要了解的内容以及它们的工作原理。

近年来,计算机中央处理器已经取得了相当大的进步,晶体管每年都在变小,性能也变得更加强大。每当提到处理器的性能时,人们往往会想到晶体管和频率。实际上,除了更多的晶体管数量和更高的频率之外,缓存也非常重要。

对于大部分人来讲,他们大都听说过缓存。但是,并没有对 CPU 缓存的容量给予足够的关注。那么,CPU 缓存到底有多重要,它是如何工作的?

什么是 CPU 高速缓存?

简而言之,CPU 缓存只是一种非常快速的内存类型。在计算的早期,处理器速度和内存速度都很低。然而,在 1980 年代,处理器速度开始迅速提高。当时的系统内存(RAM)无法应对或匹配不断增加的CPU速度,因此一种新型的超快内存诞生了:CPU缓存。

现在,您的计算机内部有多种类型的内存,例如有主存储(如硬盘或 SSD)存储大部分数据,即操作系统和程序。

还有“随机存取存储器”, 俗称内存,它比主存储快得多,但只是一个短期存储介质,它让计算机及其程序使用 RAM 来存储经常访问的数据,从而帮助保持计算机上的操作良好而快速。

最后,CPU 内部还具有更快的内存单元,称为 CPU 缓存。

计算机内存具有基于其运行速度的层次结构。CPU 缓存位于此层次结构的顶部,是最快的。它也是最接近中央处理的地方,是CPU本身的一部分。从技术上来看,高速缓存的运行速度比 RAM 快 10 到 100 倍,只需要几纳秒即可响应 CPU 请求。

计算机内存也有不同的类型,其中高速缓存是静态RAM(SRAM)的一种形式,而常规系统RAM称为动态RAM(DRAM)。静态RAM可以保存数据而无需不断刷新,这与DRAM不同,这使得SRAM成为缓存的理想选择。

CPU 缓存如何工作?

计算机上的应用程序被设计为 CPU 解释和运行的一组指令。当您运行程序时,指令会从主存储(硬盘驱动器)传输到 CPU,这就是内存层次结构发挥作用的地方。

数据首先加载到 RAM 中,然后发送到 CPU。CPU每秒能够执行大量指令。为了充分利用其功能,CPU 需要访问超快内存,这就是 CPU 缓存的用武之地。

内存控制器从 RAM 获取数据并将其发送到 CPU 缓存,然后内存缓存在 CPU 内来回执行数据。当然,内存层次结构也存在于 CPU 缓存中。

CPU 高速缓存分为三个“级别”:L1、L2 和 L3,内存层次结构则根据速度以及缓存大小进行排列。

一级缓存

L1(级别 1)缓存是计算机系统中存在的最快内存。就访问优先级而言,一级缓存具有 CPU 在完成特定任务时最有可能需要的数据。

一级缓存的大小取决于 CPU。一些高端消费类CPU现在具有1MB的L1缓存,如Intel i9-9980XE,但这些要花费大量资金,而且仍然很少。一些服务器芯片组,如英特尔的Xeon系列,还具有1-2MB的L1内存缓存。

由于一级缓存的大小没有“标准”,因此您必须在购买前仔细查看 CPU 规格以确定确切的一级内存缓存大小。

英特尔 CPU L1 数据缓存图

一级缓存通常分为两部分:指令缓存和数据缓存。指令高速缓存处理有关 CPU 必须执行的操作的信息,而数据高速缓存保存要对其执行操作的数据。

二级缓存

L2(级别 2)缓存比 L1 缓存慢,但容量更大。L1 缓存可能以 KB 为单位,而 L2 内存缓存以兆字节为单位。例如,AMD Ryzen 5 5600X具有384KB的L1缓存和3MB的L2缓存(加上32MB的L3缓存)。

二级缓存大小因 CPU 而异,但其大小通常在 256KB 到 32MB 之间。大多数 CPU 将包含超过 256KB 的二级缓存,这在现阶段是最小的。此外,一些最强大的 CPU 具有更大的二级内存缓存,远远超过 8MB。

在速度方面,二级缓存落后于一级缓存,但仍然比您的系统 RAM 快得多。一级内存缓存通常比 RAM 快 100 倍,而二级缓存大约快 25 倍。

三级缓存

早期,L3内存缓存实际上是在主板上找到的。现在,CPU 中的 L3 缓存可能非常庞大,高端消费类 CPU 具有高达 32MB 的 L3 缓存,某些服务器 CPU L3 缓存可能会超过此值,最高可达 128MB。

L3 缓存是最大但也是最慢的缓存单元。 但是,虽然芯片本身的每个内核都存在L1和L2缓存,但L3缓存更类似于整个芯片都可以利用的通用内存池。

我们需要多少 CPU 缓存?

缓存越多、容量越大,则会越好,价格也会越高。新一代的CPU自然会比老一代包含更多的CPU缓存,并且缓存也可能更快。

因此,我们可以根据自己的实际应用场景需求,在购买产品之前仔细查看产品的规则,以此来保证买到自己想要的产品。

原文链接:https://www.makeuseof.com/tag/what-is-cpu-cache/

原文作者:GAVIN PHILLIPS

责任编辑:张诚
相关推荐

2021-10-20 19:14:30

缓存CacheCPU

2022-08-26 14:58:43

区块链比特币架构

2015-01-20 13:19:52

OpenStack网络层数据链路层

2023-10-10 15:33:55

机器学习相似性度量

2022-10-09 08:53:06

存储容量SSD

2022-02-17 16:47:40

OpenharmonIPC通信鸿蒙

2022-03-28 15:40:34

harmony鸿蒙操作系统

2022-06-22 09:14:23

事件打点HiSysEvent

2022-02-21 15:38:57

Openharmon操作系统鸿蒙

2023-02-28 15:49:09

鸿蒙应用开发

2024-02-29 09:20:10

2009-09-03 10:29:15

思科VPN详解

2021-03-10 13:07:43

自动驾驶AI人工智能

2013-03-15 10:28:26

PTNLTEVPN

2017-09-21 13:46:50

VXLANL3网络Overlay

2022-02-17 17:52:00

openharmon项目开发鸿蒙

2023-02-20 08:00:00

2021-11-11 05:43:00

Windows 11操作系统微软

2010-08-19 09:39:00

L3路由交换技术

2016-01-25 10:47:15

OpenStack
点赞
收藏

51CTO技术栈公众号