存储器层次结构
← 存储器导航 | ← 计算机组成原理知识地图 | ← 主页
为什么一定要分层
如果只追求速度,最理想的是所有数据都放在寄存器附近,但那样成本太高、容量也太小,根本装不下真实程序。于是计算机只能把不同速度、不同价格、不同容量的存储器叠成层次。
这一层一层怎么排
常见顺序是:
寄存器 → L1 Cache → L2 Cache → L3 Cache → 内存 → SSD/HDD 硬盘
这条链路里,越往左越快、越小、越贵;越往右越慢、越大、越便宜。
数据一般怎么流动
程序长期存放在硬盘里,运行时先装进内存;CPU 真正处理时,再把热点数据放进 Cache;执行具体指令时,最靠近运算的位置是寄存器。
粗略理解就是:
硬盘 → 内存 → Cache → 寄存器 → CPU 运算
CPU 访问数据时会怎么找
当 CPU 需要某个数据时,通常会先看更靠上的层:
寄存器没有 → 查 L1 → 查 L2 → 查 L3 → 还没有才去内存
这就是缓存体系的直觉来源。能在更靠上的层命中,就能省掉更大的延时成本。
记住这个总规律
- 速度和容量通常是反着来的。
- 速度和单位成本通常也是反着来的。
- 每一层更像是在替相邻层做缓冲,而不是彼此随意直连。