计算机组成原理第 3 章:存储系统总览

这一页只负责导航,不装内容。每个节号点进去就是那一节的完整讲义。

第 3 章回答一个问题:容量大、速度快、成本低这三个要求互相打架,怎么办。

答案是分层,而分层能成立完全靠一条对程序行为的观察——局部性。全章的结构就是把这个答案展开:

先说清衡量什么(3.1)→ 主存本身怎么造(3.2)→ 怎么接到 CPU 上(3.3)→ 装不下就往外存放(3.4)→ 用 Cache 补速度这条短板(3.5)→ 用虚拟存储器补容量这条短板(3.6)

贯穿全章有两条隐线,值得单独盯住:

① 延迟和带宽是两个独立的量,本章除 Cache 外的所有提速手段都只提高带宽。 SDRAM 的同步、DDR 的双沿、多体交叉、突发传送——没有一个缩短了单次访问的延迟。凡是题目问”能否提高访存速度""能否缩短存取周期”,先回到这条线上判断。

② Cache—主存与主存—辅存是同一个思想的两次应用,它们的每一处差别都能从”未命中代价差六个数量级”推出来。 为什么虚拟存储器必须全相联、必须只用写回、必须交给操作系统、页必须比 Cache 块大两个数量级——四个问题一个答案。

另外,第 2 章立下的”面积换时间”在本章第三次出现:比较器的数量就是相联度,LRU 的计数器阵列同理。

章节导航

3.1 存储器概述 ✅

节页面一句话
3.1.1存储器的分类四个分类维度正交;易失 = 断电丢失,与要不要刷新无关
3.1.2存储器的性能指标存取时间 / 存取周期 / 带宽是三个量;带宽的分母是周期
3.1.3多级层次的存储系统三级层次 = 两个缓存对,一个解决速度、一个解决容量

3.2 主存储器 ✅

节页面一句话
3.2.1SRAM 芯片和 DRAM 芯片触发器 vs 电容推出全部差别;“同步”是接口同步,不是变快
3.2.2只读存储器分类依据是非易失性,不是”只读”;Flash 读快写慢、块擦页写
3.2.3主存储器的基本组成MAR 位数定地址空间,MDR 位数定存储字长
3.2.4多模块存储器多体的定义是”有独立控制电路、能重叠工作”;位扩展不是交叉编址

3.3 主存储器与 CPU 的连接 ✅

节页面一句话
3.3.1连接原理三类总线各定一个量;带宽用等号,实际速率只是正比
3.3.2主存容量的扩展片数 = 位扩展系数 × 字扩展系数;编址单位从数据总线反推
3.3.3存储芯片的地址分配和片选地址重叠不是地址冲突;全译码要连使能端
3.3.4存储器与 CPU 的连接先写地址分配表再画连接图;ROM 不接写线

3.4 外部存储器 ✅

节页面一句话
3.4.1磁盘存储器地址字段顺序把最贵的寻道放在变化最慢的位置;换磁头几乎免费
3.4.2固态硬盘”擦除粒度远大于写入粒度”一条推出 FTL、GC、写放大、磨损均衡

3.5 高速缓冲存储器 ✅

节页面一句话
3.5.1程序访问的局部性原理顺序执行给空间局部性,循环回跳给时间局部性(不要接反)
3.5.2Cache 的基本工作原理全章唯一真正降低平均延迟的部件;标记项含四类位
3.5.3Cache 和主存的映射方式比较器数量 = 相联度;组相联划组有两种口径,考场用低位取模
3.5.4Cache 中主存块的替换算法”计数器 +1 慢”只在软件成本模型下成立;FIFO 才有 Belady 异常
3.5.5Cache 的一致性问题写回配写分配、写直达配非写分配,因为押注的是不是同一件事

3.6 虚拟存储器 ✅

节页面一句话
3.6.1虚拟存储器的基本概念硬件管翻译、软件管替换;虚存容量由虚拟地址位数决定
3.6.2页式虚拟存储器页表在主存、TLB 在 MMU、MMU 在 CPU,层层包含
3.6.3段式虚拟存储器物理地址靠加法得到,且必须查段长做越界检查
3.6.4段页式虚拟存储器段表项存的是页表基址;无 TLB 时访存 3 次
3.6.5虚拟存储器与 Cache 的比较未命中代价差六个数量级,推出全部设计差别

本章高频边界

边界判据在哪
易失 vs 需要刷新断电丢不丢,与刷新无关3.1.1
随机存取 vs 直接存取存取时间与地址有没有关系3.1.1
存取时间 vs 存取周期 vs 带宽周期 = 时间 + 恢复;带宽的分母是周期3.1.2
提高延迟 vs 提高带宽全章只有 Cache 降低延迟3.1.2
Cache 缺失 vs 缺页前者硬件包办不中断,后者产生异常3.1.3
集中 / 分散 / 异步刷新死区怎么摆;没有一种能与访存并行3.2.1
SDRAM/DDR 快在哪接口同步与双沿传输,只提带宽3.2.1
地址复用的作用域只在芯片内部,不进入容量计算3.2.1
ROM 分类 vs 能否写看题干问归属还是问能力3.2.2
位扩展 vs 单体多字 vs 多体交叉有没有独立控制电路、能否重叠3.2.4
高位交叉 vs 低位交叉前者扩容,后者提带宽3.2.4
编址单位没给怎么办从数据总线宽度反推(按字编址)3.3.2
地址重叠 vs 地址冲突重叠可接受,冲突是错误3.3.3
线选 / 部分译码 / 全译码高位地址线用了几根3.3.3
换磁头 vs 寻道换磁头几乎免费,寻道最贵3.4.1
磁盘最小读写单位扇区,不是字节3.4.1
RAID 0 vs 其余级别0 级无冗余,可靠性比单盘还差3.4.1
SSD 的块 vs 文件系统的块擦除单位 vs 分配单位3.4.2
时间局部性 vs 空间局部性循环回跳 vs 顺序执行(易接反)3.5.1
数据容量 vs 总容量总容量要加标记项3.5.2
强制性 / 冲突 / 容量缺失全相联没有冲突缺失3.5.2
块大小与命中率先升后降,不是单调3.5.2
组相联的两种划组口径考场一律低位取模3.5.3
相联度的取舍比较器面积线性增、命中率收益递减3.5.3
LRU vs LFU多久没用 vs 用过几次3.5.4
Belady 异常只有 FIFO 会出现3.5.4
写直达 vs 写回脏位只有写回法需要3.5.5
写分配 vs 非写分配只在写不命中时才有区别3.5.5
TLB 未命中 vs 缺页前者不产生异常3.6.2
页表项 vs TLB 项TLB 项多一个虚页号做标记3.6.2
MMU 做什么 / 不做什么做翻译与检查,不做替换决策3.6.2
段式 vs 页式加法 + 越界检查 vs 拼接3.6.3
段页式的段表项存页表基址,不是段基址3.6.4
Cache vs 虚拟存储器未命中代价差六个数量级3.6.5

计算模板

本章是全书计算题最密的一章。下面每一条在对应页里都有完整推演,考前按这张表逐个过一遍。

#模板在哪
1DRAM 刷新四步:求行数 → 定刷新周期 → 套公式 → 检查片数不影响3.2.1
2异步刷新间隔 、集中刷新周期数 、死区 3.2.1
3低位交叉:体数下界 、连续读 字用时 3.2.4
4突发传送综合题四步:两个时钟周期 → 事务数 → 拆三段 → 叠加缺失代价3.2.4
5片数五步:数据总线定字长 → 地址总线定单元数 → 总容量 → 相除 → 双路自检3.3.2
6地址范围五步:地址位数 → 片内位数 → 片选码 → 全 0 / 全 1 → 转十六进制3.3.3
7六步连接法 + 四条检查3.3.4
8磁盘容量与存取时间 3.4.1
9AMAT 两种口径,以及”命中率的分母是访存次数”3.5.2
10Cache 地址三段划分,三种映射方式各自的位数3.5.3
11组相联 LRU trace(两种划组口径各推一遍)3.5.3
12EAT(串行 / 并行两种口径),多级页表时的访存次数3.6.2

复习顺序

  1. 3.1.1 → 3.1.2:先把四个分类维度分开,再把三个速度量分开。“易失 = 断电丢失”和”带宽的分母是存取周期”两句话现在就钉死,它们贡献了本章一半的判断题。
  2. 3.1.3:全章的框架在这一节。三级层次 = 两个缓存对,一个解决速度、一个解决容量。读完记住这句话,3.5 和 3.6 就都有了位置。
  3. 3.2.1:本章第一个重点,也是提问最密的一节(8 条)。先用”触发器 vs 电容”推一遍全部差别,再单独攻刷新——三种方式的区别是死区怎么摆,不是能不能并行。刷新计算模板要能默写。
  4. 3.2.2 → 3.2.3:两节都轻。3.2.2 只需分清”分类归属”与”实际能力”;3.2.3 只需记住 MAR/MDR 的位数由什么决定。
  5. 3.2.4:位扩展、单体多字、多体交叉三个词的分工必须固定下来,这是本章最容易被术语打架带偏的地方。低位交叉的两个公式要熟。
  6. 3.3.2 → 3.3.3 → 3.3.4:连着做。3.3.2 的难点从来不是公式,是编址单位;3.3.3 的地址范围模板配一道题练手;3.3.4 只是把前两节走一遍流程。3.3.1 可以最后扫一眼。
  7. 3.4.1 → 3.4.2:抓结构与时间计算。磁盘地址的字段顺序理解一遍就不会忘(最贵的动作放在变化最慢的位置);SSD 只需抓住”擦除粒度远大于写入粒度”这一条,四个概念全能推出来。
  8. 3.5.1 → 3.5.2:局部性的两种来源不要接反(顺序执行给空间、循环回跳给时间)。3.5.2 的标记项四类位、两个容量口径、AMAT 两种口径,是后面所有 Cache 计算题的前提。
  9. 3.5.3:本章第二个重点。地址三段划分要能对三种映射方式各写一遍。那道争议题按两种口径各推一遍 trace——练的是方法,不是答案。
  10. 3.5.4 → 3.5.5:3.5.4 记住”直接映射不需要替换算法""只有 FIFO 有 Belady 异常”两条即可;3.5.5 的两组正交策略和两种常见搭配是简答题的固定问法。
  11. 3.6.1 → 3.6.2:3.6.2 是 3.6 的全部重量所在。页表 / TLB / MMU 的包含关系、三处命中的 8 种组合(3 种不可能)、EAT 的两种口径,三样都要能当场写出。
  12. 3.6.3 → 3.6.4 → 3.6.5:3.6.3、3.6.4 只考概念对比。3.6.5 是全章的收束,那张对照表不要背——用”未命中代价差六个数量级”现场推,四条推理链比表格本身更常考。

说明

  • 本章 23 页对应教材的 23 个三级节,一节一页。 节号以 王道 2026 教材目录(权威参照)为准。3.5.5 Cache 的一致性问题是 2026 版新增的三级节,写策略归入此节。
  • 本章是全书提问最多的一章(109 条中占 36 条),密度分布见 提问档案的说明(本地资料)。3.2.1 的 DRAM 刷新 8 条、3.5.3 的 Cache 映射 6 条是两个最密的点。
  • 本章有两处教材/教辅口径不一致的争议题,处理方式相同——给出两种口径各自的答案,再给考场上怎么判断该用哪种: 一是 3.2.4 的位扩展 vs 多模块交叉编址(答案由排除法确定,但解析的推理与正文定义冲突); 二是 3.5.3 的组相联划组(王道/唐朔飞与蒋本珊两种划法,答案分别是 1 次和 3 次命中)。
  • 旧版笔记已归档(见 归档说明(本地资料))。

链接