本课目标
理解存储器在计算机中的作用,掌握存储器的层次结构,了解主存、高速缓存、辅助存储之间的关系;熟悉内存扩展、地址译码、存储器带宽等基本概念,为后续 CPU 与内存交互、流水线、虚拟内存等内容打下基础。
3.1 存储器的作用
存储器是计算机中用来保存程序、数据和中间运算结果的部件。
CPU 运算速度很快,但它不能长期保存大量数据。程序运行时,指令和数据需要先存放在存储器中,CPU 再按需要取出处理。
可以把存储器理解为计算机的“数据仓库”:
- 寄存器:CPU 内部,速度最快,容量最小;
- 高速缓存 Cache:介于 CPU 与主存之间,减少 CPU 等待;
- 主存 Memory:程序运行时的主要存放区域;
- 辅助存储 Secondary Storage:硬盘、SSD 等,用于长期保存。
存储器层次越靠近 CPU,速度越快、成本越高、容量越小;越靠近外围,速度越慢、成本越低、容量越大。
3.2 存储器层次结构
现代计算机通常采用存储器层次结构 Memory Hierarchy,在速度、容量和成本之间取得平衡。

从上到下大致为:
CPU 寄存器 CPU Registers
↓
高速缓存 Cache
↓
主存 Main Memory / RAM
↓
辅助存储 Secondary Storage
各层之间的关系:
- 上层是下层的缓存:上层保存下层中经常访问的部分数据;
- 下层是上层的后备:上层没有所需数据时,需要从下层调入;
- 越上层速度越快:CPU 寄存器最快,辅助存储最慢;
- 越上层容量越小:寄存器容量很小,主存较大,硬盘/SSD 更大。
层次结构带来的问题
如果 CPU 访问的数据不在上层存储器中,就需要向下层查找,这会带来额外延迟。
常见概念:
- 命中 Hit:CPU 在当前层找到所需数据;
- 缺失 Miss:当前层没有找到,需要从下层调入;
- 命中率 Hit Rate:命中次数占总访问次数的比例;
- 平均访问时间 Average Access Time:综合考虑命中时间和缺失损失后的平均速度。
存储器设计的目标并不是让每一层都最快,而是让 CPU 尽可能多地访问上层,减少慢速存储的频率。
3.3 主存:RAM 与 ROM
主存通常指 CPU 能直接访问的内存,主要包括 RAM 和 ROM。
RAM:随机存取存储器
RAM 是 CPU 运行程序时主要使用的内存。
特点:
- 可以随机读写;
- 速度较快;
- 断电后数据会丢失,属于易失性存储器 Volatile Memory。
RAM 又分为两类:
- SRAM 静态 RAM:速度快,不需要刷新,常用作 Cache;
- DRAM 动态 RAM:容量较大,需要定期刷新,常用作主存。
ROM:只读存储器
ROM 中的内容一般在出厂时写入,计算机运行时主要读取。
特点:
- 断电后数据不丢失;
- 正常工作时以读取为主;
- 常用于保存启动程序、固件或底层配置信息。
注意:现代计算机中“ROM”并不一定完全不可改写,例如 Flash ROM 可以在特定条件下更新,但它仍然属于非易失性存储。
3.4 内存容量与地址线
内存容量由地址空间决定。
如果地址总线有 n 位,那么可寻址单元数为:
2ⁿ 个存储单元
例如:
- 10 位地址线:2¹⁰ = 1024 个单元;
- 20 位地址线:2²⁰ = 1M 个单元;
- 32 位地址线:理论上可访问 2³² 个单元。
实际内存容量还要受内存芯片数量、字长、地址译码方式等因素影响。
地址译码
CPU 访问内存时,先把地址发送到地址总线,内存中的译码电路根据地址选中对应存储单元。
地址译码方式主要有:
- 全译码:所有地址线都参与译码,地址空间连续;
- 部分译码:部分地址线参与译码,可能出现地址重叠;
- 线选法:用高位地址线直接选择芯片,适合小规模系统。
3.5 存储器带宽
存储器带宽表示单位时间内存储器能够传输的数据量,常用单位如:
字节/秒 B/s
带宽不仅和工作频率有关,还和数据总线宽度、每次传输的数据量有关。
简单理解:
- 频率越高:单位时间传输次数越多;
- 数据总线越宽:每次传输的数据越多;
- 带宽越高:CPU 越容易获得足够指令和数据。
如果内存带宽不足,即使 CPU 主频很高,也可能因为取指和取数太慢而无法发挥全部性能。
3.6 辅助存储:硬盘与 SSD
辅助存储用于长期保存数据,常见设备包括机械硬盘 HDD 和固态硬盘 SSD。
HDD:机械硬盘
特点:
- 容量大,单位成本低;
- 依靠磁头和盘片机械运动读写;
- 速度较慢,抗震能力较差。
SSD:固态硬盘
特点:
- 基于闪存芯片,没有机械部件;
- 读写速度明显高于 HDD;
- 抗震能力更强;
- 单位容量成本通常高于 HDD。
主存与辅助存储的区别
| 项目 | 主存 RAM | 辅助存储 HDD/SSD |
|---|---|---|
| 速度 | 较快 | 较慢 |
| 容量 | 较小 | 较大 |
| 成本 | 较高 | 较低 |
| 挥发性 | 断电丢失 | 断电不丢失 |
| CPU访问方式 | 可直接访问 | 需要输入输出接口访问 |
3.7 存储器与 CPU 的连接
CPU 不能直接长期保存大量数据,因此需要与存储器配合。

典型关系:
CPU ↔ Cache ↔ 主存 RAM ↔ 辅助存储
运行程序时:
- 操作系统把程序从硬盘/SSD 加载到主存;
- CPU 从主存读取指令和数据;
- 近期频繁访问的数据会被放入 Cache;
- CPU 优先访问 Cache,缺失时再访问主存;
- 需要长期保存的数据写回硬盘或 SSD。
这一过程依靠地址总线、数据总线和控制总线协调完成:
- 地址总线:CPU 给出要访问的存储单元地址;
- 数据总线:CPU 与存储器之间传输指令和数据;
- 控制总线:传输读、写、同步等控制信号。
本课小结
存储系统是计算机中保存程序和数据的核心部分。现代计算机采用存储器层次结构,把快速、小容量的上层存储器与慢速、大容量的下层存储器结合起来。主存是 CPU 运行程序的主战场,Cache 用于减少 CPU 等待,辅助存储用于长期保存数据。理解存储系统,是后续学习指令执行、CPU 设计、虚拟内存和性能优化的重要基础。
思考练习
- 为什么存储器要采用层次结构,而不是全部使用最快的存储器?
- SRAM、DRAM、ROM、Flash、HDD、SSD 各有什么特点?
- 地址总线宽度如何影响可寻址内存空间?
- 存储器带宽受哪些因素影响?
- CPU、Cache、主存、辅助存储之间是什么关系?
0 条笔记