tags: [数电] type: note source_type: reconstructed created: 2026-08-15 updated: 2026-08-18
[!note] 对象层 学完这篇,你能判断:
- SRAM / DRAM / Flash / EEPROM 谁掉电丢数据、谁不丢;
- 单片机外扩存储时"字扩展"和"位扩展"怎么接线;
- 手册上
512K × 16的容量到底多少字节;- 为什么 Flash 有"擦除寿命"而 SRAM 没有。
用生活理解:存储器像"仓库"。SRAM 是"每个格子有人看着"(6 个晶体管守 1 位,快但贵);DRAM 是"每格一个水桶会漏水"(电容漏电要不断刷新,便宜容量大);Flash 是"可反复写字的黑板"(擦写次数有限);ROM 是"印上去的证书"(出厂固定)。断电后:RAM 全忘(易失),ROM/Flash 不忘(非易失)。
半导体存储器分易失(RAM:SRAM/DRAM,靠电源维持)与非易失(ROM 家族:PROM/EPROM/EEPROM/Flash,靠电荷存储)两大阵营;容量扩展用位扩展(加宽数据)与字扩展(加深地址)两种接线。
| 类型 | 掉电保持 | 写入方式 | 特点/用途 |
|---|---|---|---|
| SRAM | ❌ 丢失 | 随时读/写 | 快、贵、无刷新;CPU 缓存、MCU 内部 RAM |
| DRAM | ❌ 丢失(需刷新) | 随时读/写 | 慢、便宜、容量大;电脑内存条 |
| ROM(掩膜) | ✅ | 出厂固定 | 量产固件 |
| PROM | ✅ | 一次性烧写 | 已淘汰 |
| EPROM | ✅ | UV 紫外线擦除重写 | 已淘汰(带透明窗) |
| EEPROM | ✅ | 电擦写、按字节 | 掉电存参数,如 AT24C02(I2C) |
| Flash(NOR/NAND) | ✅ | 电擦写、按块 | 代码存储主流:MCU 内部 Flash、U 盘、SD 卡 |
512K × 16 = 512K 个地址 × 每个 16 位 = 1 MB 字节(512×2=1024KB);字长 × 字数 / 8 = 字节数;| 扩展类型 | 目的 | 接线 | 例子 |
|---|---|---|---|
| 位扩展 | 加宽数据(增加片数同地址) | 各片地址线并联,数据线各取不同位 | 8 片 1K×1 → 1K×8 |
| 字扩展 | 加深地址(增加片数同数据) | 各片数据线并联,高位地址经译码选片(CS) | 4 片 1K×8 → 4K×8 |
核心:位扩展看数据线、字扩展看片选(地址译码)。
| 参数 | 含义 | 影响 |
|---|---|---|
| 存取时间 tACC | 给出地址到数据稳定的时间 | 与 CPU 时序匹配,不够就插等待(WS) |
| 刷新周期(DRAM) | 7.8μs~64ms 内必须刷新 | 刷新逻辑复杂化 |
| 擦写寿命(Flash/EEPROM) | 典型 10⁴~10⁶ 次 | 频繁写参数要磨损均衡 |
| 功耗/待机 | 待机电流 | 电池设备的关键指标 |
字数 × 位数,先除 8 再乘 → 字节数。| 易混点 A | 易混点 B | 关键区别 |
|---|---|---|
| SRAM | DRAM | SRAM 六管、不需刷新;DRAM 一管一电容、需周期刷新 |
| EEPROM | Flash | EEPROM 按字节擦写、慢、寿命长;Flash 按块擦写、快、寿命短 |
| NOR Flash | NAND Flash | NOR 可随机读(XIP)、容量小;NAND 页式读写、容量大 |
| 位扩展 | 字扩展 | 位扩展所有片同时工作(数据拼接);字扩展一次只有一片工作(片选) |
256K × 8,多少字节?地址线几根?
> 答:256K×8 = 256KB;256K = 2¹⁸ → 18 根地址线、8 根数据线。64K×8 的芯片组成 256K×8 存储器。
> 答:字扩展 4 片。64K=2¹⁶,用 16 根低地址线接各片,高 2 位地址经 74LS138 译码产生 4 个片选,数据线并联。6 个 MOS 管构成一个交叉耦合锁存器 + 两个存取管。速度快、无刷新,但单元面积大 → 成本高。典型:Cache、MCU 片内 RAM。
电容存电荷表示 1/0,电荷会漏 → 必须刷新(读-重写周期)。行地址/列地址分时复用(地址多路复用)降低引脚数。容量大、便宜 → 内存条。
浮栅晶体管(浮栅上电荷决定阈值)→ 通过隧穿写入/擦除。擦除必须按块(整块先变 1 再编程),所以"改写一个字节"实际要做读-改-写。寿命源于隧穿对氧化层的损伤 → 磨损均衡算法(FTL)用于 SSD/U 盘。
ROM = 地址译码器 + 或阵列。地址是输入,数据是输出 → 本质就是真值表查表:任意组合逻辑函数都能用 ROM 实现(查表 LUT 思想,也是 FPGA 的底层原理)。
读周期:CPU 发地址 → tACC 后读数据。若存储器慢,CPU 插入等待周期(WSC)或降频。画原理图(外扩存储)时必须核对时序参数表。
为理解内存的本质,尚硅谷先用 8 个 16bit 寄存器拼出一块 8×16 内存:
str(写允许)、ld(输出允许)。这就是"寄存器堆式内存"的骨架:译码器选地址、复用器选输出(对应本课 2.3 字扩展的片选思想)。课件明确说"现实中的内存不可能用寄存器这种高成本电路"→ 用 SRAM/DRAM(见 2.1)。
从"数据存储"到"程序存储"再到"合并单内存"([[11-从零搭建计算机(下)-控制与指令|数电 11]] 的铺垫):
与教材的关系:本课"字扩展/位扩展"讲的是如何把多片存储器接成大内存;尚硅谷补充的是用寄存器+译码器/复用器从零实现一块内存——两者互补,同一存储模型的两面。
来源:阎石《数字电子技术基础》第 7 章(半导体存储器);尚硅谷《从零搭建计算机》第 3.3~3.7 节(内存与指令存储)