【计算机组成原理】ROM分类详解|掩膜ROM、PROM、EPROM、E²PROM、NOR/NAND闪存
前言
在存储器体系里,RAM是易失性存储器,断电数据丢失;而ROM属于非易失性存储器,断电之后数据可以长久保存。很多同学容易混淆各类ROM的特点、擦写方式、使用场景,这是计组第三章存储系统高频考点。
本文完全对照课本内容,梳理ROM的分类、原理、特性、NOR闪存与NAND闪存对比,附带考点总结。
一、只读存储器ROM概述
半导体只读存储器(ROM)最大特点:非易失性,断电数据不丢失。
用途:存放固件、引导加载程序、系统启动程序,还有长期不变的参数。
“只读”是早期的说法,现代ROM大多可以在线更新,但是更新操作和RAM写操作完全不一样:
RAM写操作速度快;ROM擦写时间很长,擦写次数有限,不能像内存一样频繁写入。
ROM更新本质不是简单“写”,而是擦除+编程两步。
ROM大类划分
- 掩膜ROM(Mask ROM)
- PROM(一次性可编程ROM,OTP-ROM)
- EPROM(紫外线擦除PROM,UV-EPROM)
- E2PROM(电可擦除PROM,EEPROM)
- Flash闪存(NOR Flash、NAND Flash)
二、各类ROM详细介绍
1. 掩膜ROM
出厂时,厂家根据用户提供的代码,在生产芯片的时候直接把信息固化到芯片内部。
✅ 特点:
- 一旦生产完成,内容无法修改
- 成本低,适合大批量生产、程序固定不变的场景
❌ 缺点:不能后期修改内容
适用:大批量、功能固定的设备固件。
2. PROM(OTP-ROM,一次性可编程ROM)
OTP = One Time Programmable,只能烧写一次。
出厂的时候芯片内部是空的,用户可以用编程器写入一次程序;写入完成之后,再也不能修改。
适合小批量试制,程序确定之后不需要改动。
3. EPROM(UV-EPROM,紫外线擦除ROM)
可以多次编程。
芯片上方有石英窗口,用紫外线照射窗口几分钟到十几分钟,整片内容全部擦除,之后再重新编程写入。
✅ 特点:可以反复擦写编程
❌ 缺点:擦除麻烦,需要拆芯片、紫外线照射,不能在线擦除。
4. E2PROM(EEPROM,电可擦除PROM)
用电信号擦除,不需要紫外线、不需要拆芯片,可以在线擦写。
✅ 特点:
- 可以单字节擦除、单字节写入,粒度很小
- 擦写次数大概100万次左右
- 接口简单,很多单片机自带E2PROM
❌ 缺点:容量一般不大
用途:保存配置参数、密码、校准信息。现在很多被串行E2PROM(SEEPROM)替代,支持IIC、SPI等串行总线。
5. Flash 闪存(重点!考试必考)
闪存同样属于可在线擦除、非易失性ROM。
擦除速度远快于EPROM、E2PROM,但是闪存擦除有一个硬性规则:擦除是以块/扇区为单位,不能单字节擦除。
闪存分为两大主流:NOR闪存、NAND闪存。
5.1 NOR闪存(线性闪存)
最早由Intel、AMD推出。
✅ 核心特点:
- 随机访问,和SRAM一样,可以直接在上面运行代码(片上执行XIP)
- 读速度快,独立数据线、地址线,接口和SRAM接近
- 擦除、编程速度偏慢,区块尺寸大
✅ 适用场景:存放启动程序、BIOS、监控程序,单片机启动固件。
课本例子S29AL016J就是典型NOR Flash,支持命令序列、区块擦除、整片擦除,还有RY/BY#引脚判断芯片是否空闲,支持data polling轮询判断编程/擦除是否完成。
5.2 NAND闪存(非线性闪存)
最早由三星、东芝推出。
✅ 核心特点:
- 不能随机访问,不能直接运行程序
- 按页读取,按块擦除
- 存储密度极高、成本很低、容量很大
- 数据线、地址线复用同一组总线
✅ 适用场景:大容量存储,U盘、固态硬盘SSD、存储卡、手机存储。
NAND的可擦除次数一般高于NOR,适合大量数据存储。
三、NOR Flash 工作补充(课本S29AL016J例子)
S29AL016J是16Mbit的NOR闪存,两种工作模式:字模式(1M×16bit)、字节模式(2M×8bit)。
关键引脚:
- A19~A0:地址线
- DQ15~DQ0:数据线
- CE#:片选
- OE#:输出允许
- WE#:写使能
- RESET#:复位
- BYTE#:字节/字模式选择
- WP#:写保护
- RY/BY#:就绪/忙信号,用来判断芯片是否完成擦写操作
重要操作规则:
- 上电复位后默认只读模式,读操作和普通ROM一致
- 擦除、编程不能直接写,必须发送命令序列(比如芯片擦除、区块擦除、编程都有固定命令字)
- 擦写不是立刻完成,CPU需要查询状态:
- 方式1:读取RY/BY#引脚电平
- 方式2:Data Polling(轮询DQ7),循环读取DQ7判断操作是否结束
- 编程之前必须先擦除,闪存只能把1写成0,擦除才可以把0恢复成1
四、各类存储器对比表
| 存储器类型 | 非易失性 | 高密度 | 低功耗 | 可在线更新 | 快速读出 |
|---|---|---|---|---|---|
| Flash闪存 | √ | √ | √ | √ | √ |
| SRAM | × | — | — | √ | √ |
| DRAM | × | √ | — | √ | √ |
| EPROM | √ | — | √ | — | √ |
| OTP ROM | √ | — | √ | — | √ |
| UV-EPROM | √ | — | √ | — | √ |
| 掩膜ROM | √ | — | √ | — | √ |
| 硬盘 | √ | √ | — | √ | √ |
| CD-ROM光盘 | √ | √ | — | — | √ |
五、高频考点总结(背诵版)
- ROM共性:非易失性,断电数据保留;RAM是易失性,断电丢失。
- 掩膜ROM:出厂固化,不可修改;PROM一次性烧写;UV-EPROM紫外线整片擦除;E2PROM电擦除、按字节擦写。
- Flash闪存:属于ROM,非易失;擦除按块(扇区),不能单字节擦除。
- NOR Flash:可以随机读、直接执行代码(XIP),适合存启动固件;NAND Flash:密度高、容量大,不能直接运行代码,适合U盘、SSD。
- Flash更新流程:发送命令 → 擦除区块 → 编程写入;编程前必须擦除。
- 区分:E2PROM可以字节擦写;Flash最小擦除单元是扇区/块。
- Flash速度:读快,擦写慢;速度远低于SRAM、DRAM,所以不能替代内存RAM。
六、小结
ROM家族从早期不可修改的掩膜ROM,发展到一次性PROM、紫外线擦除EPROM、电擦除E2PROM,再到现在广泛使用的Flash闪存。
NOR闪存主打直接运行程序,用来做启动固件;NAND闪存主打大容量低成本,做数据存储。
闪存虽然可以在线编程,但是擦写机制和RAM完全不同,写入速度慢、擦写次数有限,属于ROM,不能替代主存DRAM。