跳转至

第6章 存储层次

理想存储器应当又快、又大、又便宜、掉电不丢失,但现实器件无法同时满足。存储层次用少量快速存储保存“近期最有用的数据”,让多数访问接近上层速度,同时把容量和成本交给下层。

本章内容

三类不要混淆的失败

现象 缺少什么 谁处理
cache miss 数据不在当前 cache 层 cache 控制器与下层存储
TLB miss 地址翻译不在 TLB 硬件或软件页表遍历
page fault 页表指示页面不在主存或权限不符 操作系统异常处理

三者可能在一次访存中连续发生,但时间尺度和责任边界不同。

存储墙

处理器运算速度增长快于主存访问延迟改善,形成“存储墙”。提高峰值 ALU 数量并不能让等待数据的程序更快。现代性能分析必须同时看计算、带宽、延迟和数据复用。

本章自测

  1. 为什么“更大的 cache”不保证更低访问时间?
  2. 虚拟地址怎样同时服务隔离和内存容量管理?
  3. TLB 是数据 cache 吗?它缓存的内容有什么不同?