系统极客一直在努力
专注操作系统及软件使用技能

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

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 时,应该综合考虑包括缓存在内的多种因素,以达到最佳的性能和成本效益平衡。

赞(4) 赞赏

评论 抢沙发

微信赞赏