Skip to content

存储层次全景模拟器使用指南

考情分析

存储层次是 408 的基础框架性知识,Cache、主存、虚拟内存的所有考点都建立在这个框架上。很多同学能背出"寄存器→Cache→主存→磁盘",但对速度差异的数量级没有直觉——"L1 比主存快 100 倍"说起来轻松,做题时却感受不到这个差距意味着什么。

这个模拟器用两个场景帮你建立直觉:

考点你会在哪个场景看到考频
六级存储层次结构层次概览🔥🔥🔥
各层速度/容量/成本的数量级层次概览🔥🔥
Cache 命中/缺失的数据流动数据访问旅程🔥🔥🔥
局部性原理(时间/空间)右侧面板🔥🔥🔥
加载可视化中...

场景一:层次概览

金字塔形的层次图,从上到下依次是:寄存器 → L1 Cache → L2 Cache → L3 Cache → 主存 → 磁盘。越上面越窄(容量小)、越快、越贵。

六层的关键数据

层次容量延迟比上一层慢技术
寄存器< 1 KB< 1 ns触发器
L1 Cache32-64 KB~1 ns3xSRAM
L2 Cache256 KB-1 MB~5 ns5xSRAM
L3 Cache4-64 MB~20 ns4xSRAM
主存4-64 GB~100 ns5xDRAM
磁盘256 GB-4 TB~10 ms100,000xHDD/SSD

数量级要记住

主存到磁盘的速度差距是 10 万倍。这就是为什么缺页(Page Fault)的代价如此巨大——一次缺页的时间够访问主存 10 万次。

点击任意一层,右侧面板会显示详细信息和考试要点。

场景二:数据访问旅程

选择"数据在哪一层命中",然后观看 CPU 逐层查找数据的动画:

  1. CPU 先问 L1 → 没有(缺失)→ 继续
  2. 问 L2 → 没有 → 继续
  3. 问 L3 → 没有 → 继续
  4. 去主存找 → 命中!

动画会用红色箭头表示"向下查找",绿色箭头表示"向上返回数据"。每一步显示累计延迟。

试着对比不同命中位置

  • L1 命中:~1 ns(最理想)
  • L3 命中:~26 ns(还不错)
  • 主存命中:~126 ns(Cache 全部缺失的代价)
  • 磁盘命中:~10,000,126 ns ≈ 10 ms(缺页!)

看完这个对比你就明白了:Cache 的命中率哪怕只差 1%,对性能的影响都可能是几十倍。

局部性原理

右侧面板始终显示两种局部性:

  • 时间局部性:刚访问的数据很快会再次被访问(循环变量、栈帧)
  • 空间局部性:刚访问的数据附近的数据也会被访问(数组遍历、顺序执行的指令)

为什么 Cache 这么小却够用?

因为局部性原理!程序的访问模式高度集中——90% 的访问只涉及 10% 的数据。只要这 10% 能放进 Cache(通常能),命中率就能达到 95% 以上。

考研高频考点速览

考点考频关键记忆
SRAM vs DRAM🔥🔥🔥SRAM 快不用刷新(Cache),DRAM 慢要刷新(主存)
存储层次的设计目标🔥🔥🔥速度接近 Cache、容量接近磁盘、成本接近磁盘
局部性原理🔥🔥🔥时间局部性 + 空间局部性是 Cache 有效的根本原因
Cache 命中率的影响🔥🔥平均访问时间 = 命中时间 + 缺失率 × 缺失代价
多级 Cache 结构🔥🔥L1 最快最小(核心独享),L3 最大最慢(多核共享)

真题练习

相关真题(2题)

2024Q16选择题2分

Cache-主存与主存-外存层次结构对比

2010Q17选择题2分

TLB、Cache、Page三级命中/缺失的逻辑关系