首页/计算机组成原理/存储器/层次化存储器结构 🔗 在 Obsidian 中打开
计算机组成原理 · 存储器

层次化存储器结构

重要度 ⭐⭐⭐⭐⭐存储器层次结构存储器层次局部性原理性能存储器
速查
层次由快到慢:寄存器 → L1 → L2 → 主存 → 磁盘 → 磁带,速度递减、容量递增、单价递减。设计依据是局部性原理;速度比约 寄存器:Cache:主存 ≈ 1:10:100;Cache 命中率典型 90%~99%。

速查

项目
层次寄存器 → L1 Cache → L2 Cache → 主存 → 磁盘 → 磁带
设计依据局部性原理(时间 + 空间)
Cache 命中率典型 90%~99%
主存 ~ 磁盘虚拟存储器(OS 管理)
Cache ~ 主存硬件自动管理
速度比寄存器 : Cache : 主存 ≈ 1 : 10 : 100

核心概念 · 层次化存储体系

计算机采用多级层次结构,核心思想:用少量高速存储器满足大部分访问需求。

寄存器  ← CPU 内部,最快
L1 Cache ← SRAM,几 ns
L2 Cache ← SRAM,十几 ns
主存(DRAM) ← 几十 ns
磁盘/SSD ← 几 ms(机械磁盘)
磁带/光盘 ← 离线存储

为什么需要层次化

  • 矛盾:速度越快的存储器越贵、容量越小
  • 局部性原理使层次化有效:
    • 时间局部性:刚访问的数据很可能再次被访问(循环)
    • 空间局部性:访问某地址后,相邻地址很可能被访问(顺序执行)
  • 命中率高 → 整体访问速度接近最快层

两层存储器的等效访问时间

设命中率为 $H$,访问 Cache 时间为 $t_1$,访问主存时间为 $t_2$:

  • 命中:数据在 Cache 中,时间 = $t_1$
  • 未命中:先访问主存取数据并送 Cache,时间 = $t_2$
  • 平均访问时间 $= H \cdot t_1 + (1-H) \cdot t_2$

Cache-主存 vs 主存-磁盘

比较项Cache-主存主存-磁盘
管理方式硬件自动OS(虚拟存储器)
地址映射主存地址 → Cache 行虚地址 → 物理地址
数据交换单位Cache 行(字块)页面(4KB)
未命中处理从主存调入 Cache从磁盘调入主存(缺页)
透明性对程序员透明对应用程序员透明

关键性质

性质说明
局部性原理层次化存储的理论基础
时间局部性循环变量、栈操作
空间局部性数组遍历、顺序执行
命中率典型 > 95%,越高越好
平均访问时间$H \cdot t_{cache} + (1-H) \cdot t_{main}$
Cache 效率$e = t_1 / t_{avg}$,越大越好

性能计算示例

Cache 访问 10ns,主存访问 100ns,命中率 95%:

平均时间 = 0.95×10 + 0.05×100 = 9.5 + 5 = 14.5ns
加速比   = 100 / 14.5 ≈ 6.9 倍

常见考法

考法解题套路
求平均访问时间$H \cdot t_1 + (1-H) \cdot t_2$
求加速比无 Cache 时间 / 平均时间
局部性原理应用判断程序片段体现哪种局部性
层次化依据速度-容量-价格权衡 + 局部性原理
Cache 效率$e = t_{cache} / t_{avg}$

易错点

必记
  • 平均访问时间公式中,未命中时间取决于是否"同时访问"
  • Cache-主存由硬件管理,主存-磁盘由 OS 管理
  • 局部性原理是层次化有效的前提,不是保证
  • 命中率不是越高越好(边际收益递减),要综合成本
  • Cache 对程序员透明,虚拟存储器对应用程序员透明

核心结论

  1. 层次化存储利用局部性原理,用少量高速存储覆盖大部分访问
  2. 平均访问时间 $= H \cdot t_1 + (1-H) \cdot t_2$
  3. 局部性分时间局部性和空间局部性
  4. Cache-主存由硬件管理,主存-磁盘由 OS 管理
  5. 层次越高:速度越快、容量越小、每位价格越贵

记忆卡片

层次化存储的理论基础?
局部性原理(时间 + 空间局部性)。
平均访问时间公式?
$H \cdot t_1 + (1-H) \cdot t_2$。
Cache 与主存-磁盘管理区别?
Cache 由硬件管理;虚拟存储器由 OS 管理。
时间局部性的例子?
循环变量被反复访问。
空间局部性的例子?
数组顺序遍历访问相邻元素。
Cache 效率公式?
$e = t_{cache} / t_{avg}$,越大越好。

交互动画 · 存储器层次金字塔

点击金字塔中的某一层,查看它的速度 / 容量 / 价格特征
层次越高:速度越快、容量越小、每位价格越贵

相关知识点

memory-classification cache-memory virtual-memory locality-principle

↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。