它的诞生过程可以总结为:CPU 跑得太快,内存跟不上,中间必须加个“挡箭牌”。


1. 导火索:速度的背离

在 20 世纪 80 年代以前,CPU 和内存(DRAM)的速度增长基本是同步的。但随着半导体技术的进步,情况发生了剧变:

  • CPU:遵循摩尔定律,速度飞速提升(主频从 MHz 跨越到 GHz)。

  • 内存:虽然容量翻倍很快,但访问延迟(存取速度)的进步却非常缓慢,每年只能提高约 7%。

结果: CPU 处理完数据后,需要停下来等内存送下一批货。这种“CPU 等内存”的现象让昂贵的处理器长期处于闲置状态,造成了极大的浪费。


2. 灵感来源:局部性 原理(Locality)

1960 年代,计算机科学家 Peter Denning 提出了“工作集”理论,人们发现程序运行有一个神奇的特性:

  • 时间局部性:刚才用过的数据,一会儿可能还要用。

  • 空间局部性:刚才用过的数据,它旁边的数据一会儿可能也要用。

既然如此,我们为什么不在 CPU 旁边放一个小一点、但速度极快的“小仓库”呢?把 CPU 最常用的东西预先放进去,CPU 就不必每次都跑去遥远的内存了。


3. 实现手段:SRAM 与 DRAM 的分工

硬件工程师发现,存储器其实有两种制造方案:

  • DRAM(动态随机存储器):便宜、容量大,但慢(需要不断刷新电荷)。它是内存。

  • SRAM(静态随机存储器):快得惊人,但贵得离谱,且占用芯片面积。

Cache 的诞生: 工程师决定用昂贵的 SRAM 在 CPU 内部或紧挨着 CPU 的地方造一个小存储区。这就是 Cache。