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, 毫秒级)