Appearance
408
计算机组成原理
CO-03-03 只读存储器与Flash存储器
一、定位信息
| 项目 | 内容 |
|---|---|
| 所属圈层 | 核心层 |
| 前置知识回顾 | 需了解存储器按可写性分为RAM和ROM的基本概念,了解半导体存储器以晶体管为基本存储元 |
| 知识网络定位 | 本单元与SRAM/DRAM(CO-03-02)同属半导体存储器分类,ROM和Flash属于非易失性存储器,广泛用于BIOS固件、嵌入式系统和SSD,是存储器层次结构中辅存层的重要实现技术 |
| 考点热度等级 | M级 — ROM/Flash分类常以选择题出现,近5年约2次,属于中低频但需掌握的知识点 |
二、知识点讲解
2.1 只读存储器(ROM)概述
只读存储器的核心特征是:正常工作时只能读出不能写入(或写入条件特殊),且断电后信息不丢失(非易失性)。ROM中存储的信息是在制造时或使用前写入的,运行过程中一般保持不变。
ROM按照可编程性和可擦除性,经历了多代发展:
2.2 ROM的分类
1. 掩膜ROM(MROM)
- 信息在芯片制造时由厂商通过掩膜工艺写入
- 出厂后完全不可修改
- 适用于大批量生产、内容固定的产品(如字库芯片、查表ROM)
- 成本最低(大批量时),灵活性最差
2. 可编程ROM(PROM)
- 出厂时所有存储元均为"1"(或均为"0")
- 用户可通过专用编程器一次性写入(烧断熔丝或击穿PN结)
- 写入后不可擦除、不可修改
- 适用于小批量试制
3. 可擦除可编程ROM(EPROM)
- 用户可多次编程
- 使用紫外线照射擦除(芯片上有石英窗口),擦除时整片全部擦除
- 擦除后可重新编程
- 擦除过程麻烦(需取出芯片,用紫外线灯照射数分钟)
4. 电可擦除可编程ROM(E²PROM)
- 用电信号擦除,无需取出芯片
- 可以按字节擦除(比EPROM灵活得多)
- 擦写次数有限(约1万~10万次)
- 速度较慢,成本较高
2.3 Flash存储器(闪存)
Flash存储器是E²PROM的改进型,结合了EPROM的高密度和E²PROM的电可擦除优点,是当前最重要的非易失性半导体存储器。
核心特点:
- 电擦除:不需要紫外线,用电信号即可擦除
- 按块擦除:不能像E²PROM那样按字节擦除,必须以"块"(Block)为单位擦除(这是与E²PROM的关键区别)
- 高密度:集成度接近DRAM,远高于E²PROM
- 非易失性:断电后数据保持
- 擦写次数有限:约10万~100万次
- 读速度快,写/擦除速度较慢
Flash的两种主要架构:
| 类型 | NOR Flash | NAND Flash |
|---|---|---|
| 存储结构 | 存储元并联(类似EPROM) | 存储元串联 |
| 读取方式 | 可按字节随机读取 | 按页读取,不能直接按字节读 |
| 读取速度 | 较快 | 较慢 |
| 写入/擦除速度 | 较慢 | 较快 |
| 存储密度 | 较低 | 较高 |
| 典型用途 | BIOS固件、嵌入式代码存储 | U盘、SSD、存储卡 |
Flash在存储层次中的位置:
- NOR Flash:常用于存储BIOS/固件程序,可直接执行代码(XIP,eXecute In Place)
- NAND Flash:是SSD、U盘、SD卡的底层存储介质,作为辅助存储器使用
2.4 ROM在计算机系统中的应用
- BIOS/UEFI固件存储:开机引导程序存储在主板上的ROM/Flash芯片中
- 微程序控制器:控制存储器通常用ROM实现
- 字符发生器:将ASCII码转换为显示器上的字符点阵
- 查找表:存储三角函数、对数等数学函数的预计算值
三、记忆与理解辅助
3.1 口诀记忆
口诀:"掩膜PROM一次定,EPROM紫外整片清,E²电擦按字节,Flash按块效率行"
- MROM和PROM:一次性写入
- EPROM:紫外线擦除,整片清除
- E²PROM:电信号擦除,按字节
- Flash:电信号擦除,按块
3.2 对比表:ROM家族演进
| 类型 | 可编程次数 | 擦除方式 | 擦除粒度 | 速度 | 密度 | 成本 |
|---|---|---|---|---|---|---|
| MROM | 0(出厂固定) | 不可擦除 | — | 快 | 高 | 低(大批量) |
| PROM | 1次 | 不可擦除 | — | 快 | 中 | 中 |
| EPROM | 多次 | 紫外线 | 整片 | 中 | 中 | 中 |
| E²PROM | 多次(~10万次) | 电信号 | 按字节 | 慢 | 低 | 高 |
| Flash | 多次(~100万次) | 电信号 | 按块 | 较快 | 高 | 低 |
3.3 对比表:NOR Flash vs NAND Flash
| 对比项 | NOR Flash | NAND Flash |
|---|---|---|
| 读取方式 | 按字节随机读取 | 按页读取 |
| 读速度 | 快 | 慢 |
| 写/擦速度 | 慢 | 快 |
| 存储密度 | 低 | 高 |
| 是否可执行代码 | 可以(XIP) | 不适合直接执行 |
| 典型应用 | BIOS固件 | U盘、SSD |
3.4 易混概念辨析
"写入"vs"编程"vs"擦除":
- 写入/编程(Program):向ROM中存入信息的操作
- 擦除(Erase):将ROM中的信息清除(变为全1或全0),为重新编程做准备
- EPROM需要先擦除再编程;MROM和PROM不能擦除
四、例题与精解
例题1(基础)
题目:下列关于只读存储器的叙述中,错误的是( )。 A. EPROM需要用紫外线照射来擦除信息 B. E²PROM可以用电信号按字节擦除 C. Flash存储器可以按字节进行擦除 D. NOR Flash可以支持代码的就地执行(XIP)
命题意图:考查ROM家族各类存储器的特性对比。
审题分析:逐项判断各ROM类型的擦除特性。
解题思路:
- A项:正确。EPROM通过芯片上的石英窗口用紫外线擦除。
- B项:正确。E²PROM用电信号按字节擦除,这是它相对于EPROM的优势。
- C项:错误。Flash是按块擦除,不是按字节擦除。按字节擦除是E²PROM的特性。Flash的按块擦除虽然降低了灵活性,但提高了密度和速度。
- D项:正确。NOR Flash支持随机读取,可以直接执行存储在其中的代码。
答案:C
方法反思:Flash和E²PROM的擦除粒度是易混淆点。记住:E²PROM按字节,Flash按块。Flash可以看作E²PROM的"大块版"。
例题2(中等)
题目:某嵌入式系统需要选择一种非易失性存储器来存储固件程序,要求:①断电后数据不丢失;②运行时可以直接从存储器中执行代码,无需先加载到RAM;③需要支持在线升级(可多次擦写)。以下哪种存储器最合适?( ) A. SRAM B. NOR Flash C. NAND Flash D. DRAM
命题意图:考查根据应用场景选择合适存储器类型的能力。
审题分析:提取三个关键需求——非易失性、可执行代码(XIP)、可多次擦写。
解题思路:
- A项SRAM:易失性,断电丢失数据。❌不满足①
- B项NOR Flash:非易失性 ✓,支持按字节随机读取可执行代码(XIP)✓,可多次擦写 ✓。全部满足
- C项NAND Flash:非易失性 ✓,但按页读取,不适合直接执行代码 ❌不满足②
- D项DRAM:易失性 ❌不满足①
答案:B
方法反思:实际应用中,NOR Flash因其可字节寻址和XIP特性,是嵌入式系统固件存储的首选。NAND Flash则因其高密度和低成本,主要用于大容量数据存储(如U盘、SSD)。
五、考情分析
| 项目 | 内容 |
|---|---|
| 近5年考查频次 | 约2次 |
| 常见题型 | 选择题 |
| 分值占比 | 1–2分 |
| 命题趋势 | 纯ROM分类的考题较少,但Flash存储器(特别是NOR/NAND对比)是近年热点。可能与SSD存储器(CO-03-07)结合出题 |
六、易错点提醒
易错点1
- 错误表现:认为Flash可以按字节擦除
- 错误原因:将Flash与E²PROM的特性混淆
- 正确做法:E²PROM按字节擦除,Flash按块擦除。这是两者的关键区别。Flash按块擦除是为了提高存储密度和擦除效率
易错点2
- 错误表现:认为SRAM/DRAM属于ROM
- 错误原因:将"半导体存储器"等同于ROM
- 正确做法:半导体存储器分为RAM(易失性,包括SRAM和DRAM)和ROM(非易失性,包括MROM/PROM/EPROM/E²PROM/Flash)两大类
易错点3
- 错误表现:认为NAND Flash可以像NOR Flash一样直接执行代码
- 错误原因:不清楚NOR和NAND的读取方式差异
- 正确做法:NOR Flash支持按字节随机读取,可以直接执行代码(XIP);NAND Flash按页读取,不能直接执行代码,需要先加载到RAM中
易错点4
- 错误表现:认为ROM的内容在任何情况下都不能修改
- 错误原因:将"只读"理解为绝对不可写
- 正确做法:ROM的"只读"是指正常工作时只能读出。EPROM、E²PROM、Flash都可以在特殊条件下写入或擦除
七、来源标注
- 依据2026考研统考大纲(408-计算机组成原理-第三章"存储器层次结构")
- 依据大学本科经典教材共识:唐朔飞《计算机组成原理》、白中英《计算机组成原理》