存储器层次结构

← 存储器导航 | ← 计算机组成原理知识地图 | ← 主页

为什么一定要分层

如果只追求速度,最理想的是所有数据都放在寄存器附近,但那样成本太高、容量也太小,根本装不下真实程序。于是计算机只能把不同速度、不同价格、不同容量的存储器叠成层次。

这一层一层怎么排

常见顺序是:

寄存器 L1 Cache L2 Cache L3 Cache 内存 SSD/HDD 硬盘

这条链路里,越往左越快、越小、越贵;越往右越慢、越大、越便宜。

数据一般怎么流动

程序长期存放在硬盘里,运行时先装进内存;CPU 真正处理时,再把热点数据放进 Cache;执行具体指令时,最靠近运算的位置是寄存器。

粗略理解就是:

硬盘 内存 Cache 寄存器 CPU 运算

CPU 访问数据时会怎么找

当 CPU 需要某个数据时,通常会先看更靠上的层:

寄存器没有 查 L1 查 L2 查 L3 还没有才去内存

这就是缓存体系的直觉来源。能在更靠上的层命中,就能省掉更大的延时成本。

记住这个总规律

  • 速度和容量通常是反着来的。
  • 速度和单位成本通常也是反着来的。
  • 每一层更像是在替相邻层做缓冲,而不是彼此随意直连。