1. 引言
在计算机组成原理里,存储器的分类方式有很多:按存储介质、按存取方式、按信息易失性、按读写功能……其中最经典、也最常被拿来讨论的一种分法,就是按 RAM 和 ROM 来划分。这里说的 RAM / ROM,主要是按读写特性和断电后数据是否丢失来分的。它们都属于半导体存储器;磁盘、光盘、磁带等通常归为外存,不在这套二分里。
2. RAM:随机存取存储器
RAM 的最大特点是:
- 可读可写
- 易失性:断电后数据丢失
- 主要用于程序运行时的临时数据存储
RAM 又分为两大类:SRAM 和 DRAM。
3.1 SRAM:静态随机存取存储器
SRAM 用触发器来存储数据,不需要周期性刷新。
特点:
- 速度快
- 成本高
- 集成度相对较低
- 不需要刷新
典型用途:
- CPU Cache
- 寄存器、缓冲器
- 对速度要求高、容量要求不大的场景
3.2 DRAM:动态随机存取存储器
DRAM 用电容存储电荷来表示数据。电容会漏电,所以必须周期性刷新。
特点:
- 需要刷新
- 速度比 SRAM 慢
- 成本低
- 集成度高
典型用途:
- 计算机主存
- 手机运行内存
常见类型包括:
- SDRAM(同步动态随机存取存储器)
- DDR SDRAM(双倍数据速率同步动态随机存取存储器)
- DDR2 / DDR3 / DDR4 / DDR5
我们平时说的“内存条”,通常就是 DRAM。
3. ROM:只读存储器
ROM 的传统特点是:
- 非易失性:断电后数据不丢失
- 传统上只能读,不能随意写
- 现代很多 ROM 类器件已经可以电擦写
ROM 家族比较庞大,常见类型如下。
3.1 MROM:掩膜 ROM
出厂时由厂家直接固化内容,用户不可修改。
适合:
- 大批量生产
- 内容固定不变
- 成本敏感的场景
3.2 PROM:可编程 ROM
用户可以进行一次编程,写入后不能修改。
特点:
- 只能写一次
- 适合小批量定制
3.3 EPROM:紫外线可擦除可编程 ROM
可以用紫外线照射擦除,然后重新编程。
特点:
- 可反复擦写
- 擦除不方便,需要专用设备
- 现在基本被 EEPROM 和 Flash 取代
3.4 EEPROM:电可擦除可编程 ROM
用电信号擦除和写入,不需要紫外线。
特点:
- 可电擦写
- 可按字节操作
- 擦写次数有限
- 速度相对较慢
常见用途:
- 保存配置参数
- 嵌入式系统中的小容量非易失数据
3.5 Flash:闪存
Flash 由 EEPROM 技术发展而来,但通常按块擦除,而不是按字节。
Flash 主要分为:
- NOR Flash:可片内执行,读取速度快,常用于固件、启动代码。
- NAND Flash:密度高、成本低、容量大,常用于 SSD、U 盘、手机存储、SD 卡。
4. RAM 与 ROM 对比
| 类型 | 易失性 | 读写能力 | 速度 | 典型用途 |
|---|---|---|---|---|
| RAM | 易失 | 可读可写 | 快 | 主存、Cache |
| ROM | 非易失 | 传统只读,现代可写 | 相对慢 | 固件、启动程序、嵌入式程序 |
再简单一点:
- RAM:程序运行时用,断电就没了。
- ROM:程序固化用,断电还在。
5. 几个常见误区
5.1 ROM 一定不能写吗?
不一定。传统 ROM 确实以只读为主,但 EEPROM、Flash 等都可以写。只是它们通常被归入 ROM 大类,因为它们具有非易失性。
5.2 内存和硬盘是一回事吗?
不是。
- 内存通常指 RAM,是易失性主存。
- 硬盘、SSD、U 盘属于外存。
- SSD 内部常用 NAND Flash,而 NAND Flash 在技术上和 ROM 家族有关,但整块 SSD 通常被归为外存。
5.3 RAM 都很快吗?
不能一概而论。
6.总结
SRAM 很快,DRAM 相对慢。即使是 DRAM,不同代 DDR 之间速度也差别很大。RAM 主要分 SRAM 和 DRAM;ROM 则包括 MROM、PROM、EPROM、EEPROM 和 Flash。理解这两大类,再去看 Cache、内存条、固件、SSD、U 盘,就会清晰很多。