存储系统层次结构(寄存器-Cache-内存-外存) 适合读者软考中级备考同学阅读时间3分钟内容存储层次、各级存储特点、容量速度价格对比、局部性原理、例题1. 为什么要分层次计算机对存储系统的要求是矛盾的速度快希望CPU能快速拿到数据容量大希望存放更多程序和数据价格低控制成本没有单一存储介质能同时满足三者。因此采用层次化存储结构从上到下速度递减容量递增价格递减CPU访问频率递减2. 存储层次结构图文字描述速度 ↑ 价格 ↑ 容量 ↓ 寄存器 ← 最快、最小、最贵 ↓ Cache ← 较快、较小、较贵 ↓ 内存 ← 中等、中等、中等 ↓ 外存 ← 最慢、最大、最便宜CPU访问数据时先找寄存器 → 再找Cache → 再找内存 → 最后找外存。找到后数据会逐级复制到上层以便下次快速访问。3. 各级存储详细介绍3.1 寄存器Register位置CPU内部容量几十到几百字节如32个32位寄存器速度约 0.3~1 ns与CPU同速价格极高按每字节算作用存放当前运算的操作数和中间结果特点由编译器分配程序员无法直接控制数量3.2 高速缓存Cache位置CPU内部或紧邻CPU容量几十KB到几十MBL1、L2、L3速度约 1~10 ns价格较高作用存放内存中频繁访问的数据副本特点对程序员透明自动管理利用局部性原理3.3 内存主存Main Memory位置主板上的内存条容量几GB到几百GB速度约 50~100 ns比Cache慢一个数量级价格中等作用存放运行中的程序和数据特点断电后数据丢失RAM3.4 外存Secondary Storage类型硬盘机械/固态、光盘、U盘容量几百GB到几TB速度几毫秒机械硬盘到几十微秒SSD价格最低作用长期存储程序和文件特点断电不丢失CPU不能直接访问需先调入内存4. 对比总结表存储级别典型容量典型访问时间每字节价格管理方式寄存器几十~几百字节0.3~1 ns最高编译器分配Cache几MB~几十MB1~10 ns很高硬件自动内存4GB~256GB50~100 ns中等操作系统外存256GB~数TB几msHDD/几十μsSSD最低用户/文件系统5. 局部性原理Principle of Locality存储层次能够高效工作的理论基础。5.1 时间局部性如果一个数据被访问那么不久后它很可能再次被访问。→ 将数据放入Cache或寄存器中。5.2 空间局部性如果一个数据被访问那么它附近的数据也很可能被访问。→ 预取相邻数据块到Cache中。应用循环、数组遍历、顺序执行代码。6. 性能相关计算了解即可平均访问时间TavgT_{avg}Tavg​公式含Cache和内存TavgH⋅TCache(1−H)⋅TMemoryT_{avg} H \cdot T_{Cache} (1 - H) \cdot T_{Memory}Tavg​H⋅TCache​(1−H)⋅TMemory​其中HHH命中率Hit Rate在Cache中找到的概率TCacheT_{Cache}TCache​Cache访问时间TMemoryT_{Memory}TMemory​内存访问时间示例若H0.95H0.95H0.95TCache1nsT_{Cache}1nsTCache​1nsTMemory100nsT_{Memory}100nsTMemory​100ns则Tavg0.95×10.05×1000.9555.95nsT_{avg} 0.95 \times 1 0.05 \times 100 0.95 5 5.95 nsTavg​0.95×10.05×1000.9555.95ns7. 经典例题题目1下列存储部件中速度最快的是 。A. 内存 B. 外存 C. Cache D. 寄存器答案D题目2关于存储系统层次结构的描述正确的是 。A. 容量越大访问速度越快B. 外存中的数据可以被CPU直接访问C. Cache是位于CPU和内存之间的小容量高速缓存D. 寄存器比Cache容量大但速度慢答案C题目3某计算机的Cache访问时间为2ns内存访问时间为80nsCache命中率为98%求平均访问时间。解Tavg0.98×2(1−0.98)×801.961.63.56nsT_{avg} 0.98 \times 2 (1 - 0.98) \times 80 1.96 1.6 3.56 nsTavg​0.98×2(1−0.98)×801.961.63.56ns答案3.56 ns题目4以下哪个现象主要利用了空间局部性A. 循环变量反复使用B. 数组元素顺序访问C. 递归函数调用D. 条件分支答案B8. 记忆口诀寄存器最快量最小Cache中间内存桥。外存最大速度慢层次结构效率高。局部性原理是法宝时间空间别忘了。9. 给备考同学的一句话存储层次是计算机系统的核心设计思想。考试中常见比较各级存储的速度、容量、价格寄存器 Cache 内存 外存计算平均访问时间用命中率公式判断时间/空间局部性的例子记住上表对比选择题基本能拿分。本专栏日更2篇点击头像 → 专栏《软考中级高频考点》订阅需要“计算机系统知识”完整思维导图私信回复“软考计算机”免费获取#软考中级 #软件设计师 #存储层次 #Cache #局部性原理 #计算机系统知识