1

揭秘 CPU 缓存:L1、L2 和 L3 的性能秘密

 7 months ago
source link: https://www.sysgeek.cn/what-is-cpu-cache/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
PC

CPU 缓存是位于 CPU 芯片上的小型高速内存(基于 SRAM),它的主要作用是临时存储 CPU 可能需要快速访问的「预取」数据。这样做的目的是为了避免因为 RAM 的限制而造成 CPU 的性能瓶颈。

现代 CPU 通常包含三级缓存:L1、L2 和 L3。这三级缓存在提升 CPU 性能方面起着至关重要的作用,特别是在处理像游戏等特定任务时尤为明显。

接下来,我们将介绍 CPU 缓存的工作原理,它的重要性,以及不同工作负载(计算任务)对 CPU 缓存的需求。

CPU 缓存的作用

当应用程序运行时,它们首先会被加载进 RAM 中。CPU 会从这个主存储器中获取、解码并执行指令。但由于现代 CPU 性能非常强大,例如 AMD Ryzen 9 3950X,其基础运行速度为 3.5GHz(即每秒 35 亿次),每个时钟周期能执行超过一百个操作,这就会导致一个「问题」。

从 RAM 中读取数据可能需要数百个时钟周期,这就会让 CPU 花费大量时间在等待上。如果 CPU 每次处理数据都依赖于从 RAM 中获取,那么整个系统的运行速度将会大幅下降。为了解决这个问题,所以引入了 CPU 缓存。

CPU 会通过分析数据的使用模式,去预测接下来可能需要的数据和指令。然后,在实际需要之前,预先将这些数据从 RAM 移动到 CPU 缓存中,这个过程被称为「预取」。由于 CPU 缓存的读取速度比直接从 RAM 中访问数据要快上百倍,这样一来,CPU 的等待时间就会大幅缩短。

L1、L2 与 L3 缓存的比较

为了提升性能,现代 CPU 通常会设计三个不同级别的缓存,这样能在缓存大小、响应速度(延迟)和数据命中率之间找到最佳平衡。

  • L1 缓存:最快但容量最小,通常为每个核心分配,容量范围在 128 KB 到 2 MB 之间。
  • L2 缓存:响应速度和容量居中,可以为每个核心独有,也可以是共享的,容量量范围在 256 KB 到 32 MB 之间。
  • L3 缓存:响应速度最慢但容量最大,通常是共享的,容量范围在 1 MB 到 128 MB 之间。

如果想要了解 CPU 的具体缓存情况,可以查阅网络资料或使用系统分析工具,例如 CPU-ZHWiNFO 来查看。

使用 HWiNFO 查看 CPU 缓存
使用 HWiNFO 查看 CPU 缓存

以的 i9-13900K 为例,我们可以更加深入地理解 CPU 缓存的层次和作用:

  • L1 缓存:对于 i9-13900K 而言,L1 缓存被分为数据缓存(8 x 48 KB + 16 x 32 KB)和指令缓存(8 x 32 KB + 16 x 64 KB),总计 2.176 MB。L1 缓存作为最快且容量最小的存储级别,是 CPU 首先检查的位置。当所需数据存在于 L1 缓存时,即「缓存命中」,CPU 便会从 L1 缓存中直接读取或写入数据。
  • L2 缓存:当「缓存未命中」,即所需数据不在 L1 缓存中时,CPU 转而检查 L2 缓存。L2 缓存容量更大,但速度稍慢。对于 i9-13900K 来说,L2 缓存为(8 x 2 MB + 4 x 4 MB)总计 32 MB。
  • L3 缓存:如果 L2 缓存也未命中,CPU 会接着检查 L3 缓存。L3 缓存是所有缓存级别中容量最大但响应速度最慢的。例如,i9-13900K 拥有 36 MB 的 L3 缓存,这是共享的。

如果 L3 缓存还未命中,CPU 将最后检查 RAM,如果有必要,甚至会检查存储设备(硬盘)。这些层次性的检查确保了数据处理的高效性,尽量减少了对 RAM 的依赖,从而加快了整体的处理速度。

CPU 缓存的级别和结构

我们先来实际观察一下 CPU 芯片上的 CPU 缓存级别,以方便更好地理解其结构:

  • 轻微磨平 CPU 芯片的底层,就可以看到 CPU 内部的电路设计。以 i9-13900K CPU 为例,其芯片底层的结构展示了不同级别缓存的具体布局。
Intel Core i9-13900K 处理器
Intel Core i9-13900K 处理器
  • 与 i9-13900K 芯片截图的解释进行比较,你会清楚看到不同级别的缓存是如何设计实现的。
Intel Core i9-13900K 芯片功能标注
Intel Core i9-13900K 芯片功能标注
  • 通过查看系统分析工具提供的数据,我们可以更清楚地了解 CPU 缓存的分布情况。以 i9-13900K 为例,你可以看到 L1 和 L2 缓存在 P 核(性能核心)和 E 核(效能核心)上的分布情况。
CPU-Z:Intel Core i9-13900K
CPU-Z:Intel Core i9-13900K

多大 CPU 缓存合适

CPU 缓存对性能至关重要。是不是缓存越大性能越好?答案完全取决于你的 CPU 使用场景。

在选择 CPU 时,需要考虑多个因素,例如时钟速度、核心数量、CPU 的代数、架构、TDP(热设计功耗)和缓存等。这些因素相互作用,共同决定了 CPU 的整体性能。

因此,很难一概而论地认为缓存这一个因素就能决定 CPU 性能。但在某些特定情况下,缓存的大小确实很关键。

以 AMD 的游戏专用 X3D CPU 为例,Ryzen 5800X 和 5800X3D 在许多方面类似,但主要区别在于 5800X3D 的时钟速度略低,而 L3 缓存是 5800X 的三倍(从 32 MB 增加到了 96 MB)。

根据不同的工作负载,这两款处理器的性能表现也会有所不同:

  • 在合成基准测试和视频编辑等顺序处理任务中,额外的缓存并没有带来显著的性能提升。事实上,由于 5800X3D 的频率略低,在这类任务中它的表现可能还不如 5800X。
  • 在执行需要 CPU 频繁访问 L3 缓存中随机数据的任务时,例如游戏,5800X3D 的表现非常出色。平均来看,额外的缓存可以让游戏的平均帧率提高 10-15%,在极端情况下,甚至能提高超过 20%。考虑到这两款 CPU 的主要区别是缓存大小,这种提升非常显著。

大部分面向普通消费者的 CPU 都配备了标准量级的缓存,通常能满足大部分用户的需求。不存在一个固定的「最佳缓存大小」标准,根据不同的使用场景,更大 CPU 缓存所带来的性能提升可能不明显,也可能效果显著。在选购 CPU 时,应该综合考虑包括缓存在内的多种因素,以达到最佳的性能和成本效益平衡。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK