Cache(缓存)就是 CPU 和内存之间的“中间存储层”,用来加速数据访问。

为什么需要 Cache?

  • CPU 很快(GHz,每秒几十亿次操作),

  • 内存 RAM 相对慢(纳秒级),

  • 如果 CPU 每次都要等内存取数,就会“饿死”。
    👉 所以在 CPU 内部和内存之间放一层 小而快的 Cache,存储近期常用的数据。


Cache 的特点

  • 位置:在 CPU 芯片上,离核心非常近。

  • 速度:比内存快很多(接近寄存器),但比寄存器慢。

  • 容量:比 RAM 小很多(通常几 MB ~ 几十 MB)。

  • 原理:利用 局部性原理

    • 时间局部性:刚访问过的数据,很可能马上还会用。

    • 空间局部性:访问某个地址附近的数据,很可能也会用。


Cache 的层次

通常有三级缓存:

  • L1 Cache:离 CPU 最近,速度最快(几十 KB,几纳秒)。

  • L2 Cache:比 L1 大,速度稍慢(几百 KB ~ 几 MB)。

  • L3 Cache:多个核心共享,容量更大(几 MB ~ 几十 MB)。


内存层次示意

寄存器 (最快, 1ns, 几十字节)
   ↓
L1 Cache (几十KB, ~3ns)
   ↓
L2 Cache (几百KB~几MB, ~10ns)
   ↓
L3 Cache (几MB~几十MB, ~30ns)
   ↓
内存 RAM (几GB~几十GB, ~100ns)
   ↓
硬盘 SSD/HDD (几百GB~几TB, 毫秒级)