1.3 · 内存类型
目标: 按速度、易失性、用途区分 RAM、ROM、cache 和储存。
内存金字塔
▲ 小、快、贵
│
┌────────┴──────────┐ 寄存器 (CPU 内, <1 ns)
├───────────────────┤ 缓存 (L1/L2/L3) (CPU die, 1-30 ns)
├───────────────────┤ 主存 (RAM) (~80 ns)
├───────────────────┤ SSD (~50 μs)
├───────────────────┤ HDD (~5 ms)
├───────────────────┤ 磁带、光学归档 (秒)
│
▼ 大、慢、便宜1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
CPU 需要的数据越靠金字塔顶层越好。
RAM —— 随机访问内存
| 性质 | 值 |
|---|---|
| 易失性 | 易失(断电丢数据) |
| 速度 | 快(~80 ns) |
| 用途 | 储存运行中的程序与活跃数据 |
| 例子 | PC 的 DDR4 / DDR5 模组、手机的 LPDDR |
双击 App 时,OS 把其代码从储存复制到 RAM,CPU 可快速取指。
ROM —— 只读内存
| 性质 | 值 |
|---|---|
| 易失性 | 非易失(无电也保留) |
| 速度 | 读取近 RAM |
| 可写 | 有限 / 不能(经典 ROM) |
| 用途 | 固件(BIOS/UEFI、嵌入设备启动代码) |
ROM 储存必须经历断电仍存的指令 —— 通电后 CPU 跑的最早代码。
现代变种:
- PROM(Programmable ROM) —— 写一次。
- EPROM / EEPROM / Flash —— 可擦写,但次数有限。
缓存 Cache
| 性质 | 值 |
|---|---|
| 易失性 | 易失 |
| 速度 | 次于寄存器的最快(1–30 ns) |
| 大小 | 小(现代 CPU 上 KB–MB) |
| 用途 | 把常用数据放在 CPU 附近 |
CPU 先查缓存;只在缓存缺失时去 RAM。好的命中率能大幅提升性能。
层级:
| 层 | 速度 | 大小 | 备注 |
|---|---|---|---|
| L1 | ~1 ns | 每核数十 KB | 分为指令 + 数据 |
| L2 | ~3 ns | 数百 KB | 每核或共享 |
| L3 | ~10 ns | 几 MB | 跨核共享 |
与性能的关系
- 内存越大 → 能放更多打开的页 / 文件。
- CPU 能支援的内存地址越多 → 可用内存越大(32 位 OS 上限约 4 GB;64 位 OS 支持 TB)。
- 字长越宽 → 每周期传输越多位。
容量单位 —— 著名的「1 KB」问题
| 单位(二进制) | 字节 |
|---|---|
| 1 字节 | 8 位 |
| 1 KB | 1,024 字节 |
| 1 MB | 1,024 KB |
| 1 GB | 1,024 MB |
| 1 TB | 1,024 GB |
SI(十进制)版本用 1,000 而非 1,024。硬盘厂商用 SI 风格宣传(「1 TB」= 10¹² 字节),所以 Windows 显示比盒子说的少。
实例 · 我电脑为什么变慢
- 8 GB RAM,你开 25 个 Chrome 标签 + 游戏 + Photoshop。
- 综合用量超过 RAM。OS 用分页把块换到 SSD(「虚拟内存」)。
- SSD 访问比 RAM 慢约 1000 倍。
- App 卡顿,CPU 等分页。
解药:加 RAM 或少开 App。
学生常见错误
- 说 ROM 易失(不是)。
- 说缓存等于 RAM(它更小、更快、在 CPU die 上)。
- 把固件(ROM 里的软件)与操作系统(从盘加载到 RAM)混淆。
- 声称 SSD 是 RAM 的一种(SSD 是非易失大容量储存;只有 RAM 持运行数据)。
考试式题目
题(4 分): 按易失性、典型用途、各举一例数据,区分 RAM 与 ROM。然后解释缓存如何提升 CPU 性能。
参考答案:
- RAM:易失,运行程序的工作区(如打开的文档、活跃变量)。
- ROM:非易失,储存须经历断电的固件(如启动电脑的 BIOS/UEFI)。
- 缓存:CPU 与 RAM 之间的小而极快的内存。把近用 / 常用数据与指令贴近 CPU,避开慢 RAM、降低平均内存时延,CPU 每秒能执行更多指令。
关键要点
- RAM = 易失工作区。
- ROM = 非易失固件库。
- 缓存 = CPU 上微小、最快的内存。
- 容量前缀在 IT 意义下用 1024;十进制 SI 用 1000。
➡️ 下一节:1.4 储存设备