Appearance
SRAM与DRAM
考情分析
SRAM/DRAM 对比和 DRAM 刷新计算是本节重点。重点掌握刷新周期计算方法和"死区"概念。
大纲定位
考纲第三章(三)「半导体随机存取存储器」三条:1. SRAM 存储器 2. DRAM 存储器 3. Flash 存储器。
要求到什么程度:三者的存储元与特性差异、DRAM 刷新的计算、地址复用与引脚数、Flash 的页/块结构。标题里的「随机存取」本身也是考点。
SRAM
静态随机存取存储器,用 6 个晶体管组成一个触发器(双稳态电路)存储 1 位。
特点:
- 不需要刷新,只要有电,信息就保持
- 速度快(0.5~2 ns),用作 Cache
- 集成度低,功耗大,成本高
结构示意:每位 6 管(T1~T6),两个反相器形成互锁,T5/T6 控制读写。
DRAM
动态随机存取存储器,用 1 个晶体管 + 1 个电容存储 1 位。
特点:
- 利用电容存储电荷表示 0/1,电容会漏电,需要定时刷新
- 速度较慢(50~100 ns),用作主存
- 集成度高,功耗小,成本低
刷新:对存储单元重新充电,恢复原来的数据。
SRAM vs DRAM 对比
| 特性 | SRAM | DRAM |
|---|---|---|
| 存储元件 | 6 管触发器 | 1 管 1 电容 |
| 是否需要刷新 | 不需要 | 需要(~2 ms) |
| 速度 | 快(ns 级) | 慢(几十 ns) |
| 集成度 | 低 | 高 |
| 功耗 | 高 | 低 |
| 成本 | 高 | 低 |
| 存取时间与存储周期 | 几乎相等 | 存储周期 > 存取时间(需恢复时间) |
| 典型用途 | Cache | 主存 |
DRAM 刷新方式
DRAM 的刷新以行为单位,每隔一个刷新周期(通常 2 ms)必须把所有行刷新一遍。
集中刷新
在刷新周期结束时,集中安排一段时间,逐行刷新所有行。
- 优点:刷新时间固定,实现简单
- 缺点:刷新期间 CPU 不能访问存储器,这段时间称为死区(死时间)
设存储器有
分散刷新
把每个存储周期分为两部分:前半段正常读写,后半段刷新一行。
- 优点:不存在死区
- 缺点:存储周期被延长为原来的 2 倍,存取速度降低
- 刷新一遍所有行只需
个存储周期,刷新间隔缩短(可能过于频繁)
异步刷新(最常用)
将刷新操作均匀分散到整个刷新周期内,每隔固定间隔刷新一行。
设刷新周期为
- 优点:死区短(只有一个存储周期),刷新频率合理
- 缺点:需要定时器和刷新地址计数器
例题:存储器有 128 行,刷新周期 2 ms,存储周期 0.5 μs。
每隔约 15.6 μs 刷新一行,死区长度 = 一个存储周期 = 0.5 μs,占比极小。
刷新周期计算模板
| 参数 | 符号 |
|---|---|
| 行数 | |
| 存储周期 | |
| 刷新周期 | |
| 死区(集中刷新) | |
| 刷新间隔(异步) |
集中刷新死区算例:某 DRAM 有 128 行,存储周期 0.5 μs,刷新周期 2 ms。集中刷新方式下死区 =
非易失性存储器(ROM 与 Flash)
RAM(包括 SRAM 和 DRAM)属于易失性存储器,断电后数据丢失。非易失性存储器则断电后仍能保持数据。
ROM 的分类
| 类型 | 全称 | 可编程性 | 特点 |
|---|---|---|---|
| MROM | 掩模式 ROM | 出厂固化,不可改 | 可靠性高,批量成本低 |
| PROM | 一次可编程 ROM | 用户可编程一次 | 写入后不可修改 |
| EPROM | 紫外线可擦除 PROM | 多次编程,紫外线整片擦除 | 擦写次数有限,速度慢 |
| EEPROM | 电可擦除 PROM | 多次编程,电擦除,字节级操作 | 速度慢,适合小规模参数存储 |
| Flash | 闪存 | 多次编程,电擦除,块级操作 | 速度快,U盘/SSD 的基础 |
"随机存取"到底指什么
大纲这一节的标题是「半导体随机存取存储器」,这个词本身就是考点。
随机存取(random access):访问任意一个存储单元所需的时间与该单元的物理位置无关,都相同。
按存取方式,存储器分四类:
| 存取方式 | 定义 | 典型器件 |
|---|---|---|
| 随机存取 | 存取时间与位置无关 | SRAM、DRAM、ROM、EPROM、Flash |
| 顺序存取 | 必须从头顺序查找,时间差异极大 | 磁带 |
| 直接存取 | 先直接定位到某个区域,再在区域内顺序查找 | 磁盘、光盘(CD-ROM) |
| 相联存取 | 按内容而非地址访问 | 相联存储器、TLB |
编者注(易错):判断题常拿 CD-ROM 设陷阱——名字里有 ROM,但它带机械寻道机构,属于直接存取,不是随机存取。而 Flash 和 EPROM 虽然是"只读"家族,却都是随机存取。分界线在有没有机械部件,不在能不能写。
RAM 和 ROM 都支持随机访问。ROM 的优点:结构简单、位密度比 SRAM 高、断电不丢失。
Flash 存储器
在 EPROM 基础上发展而来,兼具 ROM 和 RAM 的部分优点:
- 断电后信息长期保存
- 支持电擦除与在线重写,不需要紫外线等特殊设备
- 读取速度接近 RAM,但写入速度显著较慢(读写不对称)
- 写入前必须先擦除,擦除以块为单位
现代主板的 BIOS 存储在 Flash 中,用户可在线升级固件。
存储元:浮栅晶体管
SRAM 用 6 管触发器、DRAM 用 1 管 1 电容,Flash 用的是带浮栅的 MOS 晶体管:浮栅被绝缘层包围,注入其中的电荷没有泄漏通路,所以断电也能保存多年(这正是 DRAM 要刷新而 Flash 不用的原因——DRAM 的电容会漏电)。
充电/放电靠隧穿效应,需要较高电压且耗时长,这就是"写比读慢一个数量级"的物理根源。
页/块结构与"不能原地更新"
| 操作 | 单位 | 说明 |
|---|---|---|
| 读 | 页(512 B ~ 4 KB) | 快,接近 RAM |
| 写(编程) | 页 | 只能把 1 改成 0,单向 |
| 擦除 | 块(若干页,16 KB ~ 512 KB) | 把整块恢复成全 1,慢 |
因为编程只能单向把 1 变 0,要把 0 改回 1 只能整块擦除——这就是「写前必须先擦除」和「不能原地更新」的由来。改一页数据,实际要把整块的有效页搬到新块(写放大)。
与 SRAM / DRAM 的定位对照
| SRAM | DRAM | Flash | |
|---|---|---|---|
| 存储元 | 6 管触发器 | 1 管 1 电容 | 浮栅晶体管 |
| 易失性 | 易失 | 易失 | 非易失 |
| 需要刷新 | 否 | 是 | 否 |
| 读速度 | 最快 | 中 | 较快 |
| 写速度 | 最快 | 中 | 最慢(读写不对称) |
| 位价 | 最高 | 中 | 最低 |
| 擦写寿命 | 无限 | 无限 | 有限(有擦写次数上限) |
| 典型用途 | Cache | 主存 | U 盘、SSD、BIOS |
寿命有限这一条是 Flash 独有的约束,SSD 的磨损均衡机制就是为它而设。
DRAM 地址复用
DRAM 芯片的地址引脚数通常是行/列地址引脚数,行地址和列地址分时复用同一组引脚,通过
好处:减少引脚数量,降低封装成本。
引脚数的通用式(
其中
为什么不能一律用
| 引脚数 | ||
|---|---|---|
| 1024 | 10 | |
| 128 | 7 | |
| 64 | 6 | |
| 64 | 6 | |
| 128 | 7 |
引脚最少
芯片的引脚总数
例:
编者注(易漏):数据引脚数 = 芯片位宽,这一项经常被忘。题目问"至少需要多少引脚"时通常指地址 + 数据两项。
行缓冲区
这是突发传送(burst)之所以快的硬件基础——同一行内连续取多个数据不必重新激活行。
交互可视化
考点清单
- 存取时间 ≠ 存储周期:存储周期 = 存取时间 + 恢复时间(DRAM 尤为明显,恢复时间用于电容再充电)
- SRAM 不需刷新,DRAM 需要刷新;SRAM 用于 Cache,DRAM 用于主存
- 刷新以行为单位,刷新操作不需要 CPU 干预(由存储器控制器自动执行)
- 集中刷新有死区,分散刷新无死区但速度减半,异步刷新是折中方案
- 死区长度 = 行数 × 存储周期(集中刷新)
- 异步刷新间隔 = 刷新周期 / 行数
- DRAM 地址引脚分时复用,行列地址各占一半引脚
- ROM 和 RAM 都支持随机访问;ROM 断电不丢失,RAM 断电丢失
- Flash 读快写慢,写前需先擦除(块级),是 SSD 和 U 盘的基础