Appearance
408
计算机组成原理
CO-03-02 SRAM与DRAM的工作原理与区别
一、定位信息
| 项目 | 内容 |
|---|---|
| 所属圈层 | 核心层 |
| 前置知识回顾 | 需了解二进制存储的基本概念(一个存储元存放一位二进制信息),了解触发器是由逻辑门构成的双稳态电路 |
| 知识网络定位 | 本单元是主存储器的硬件基础,SRAM用于Cache(CO-03-08),DRAM用于主存(CO-03-04),是理解存储器层次结构中"速度-容量-成本"权衡的关键环节 |
| 考点热度等级 | H级 — SRAM与DRAM的区别是高频选择题考点,几乎每年都有涉及,近5年出现≥4次 |
二、知识点讲解
2.1 基本概念:存储元与存储单元
- 存储元(存储基元/记忆单元):存放一位二进制信息的物理器件,是存储器的最小单位。
- 存储单元:由若干存储元组成,可以同时读写的一组二进制位,通常为一个字节(8位)或一个字。
- 存储体(存储矩阵):大量存储单元按一定排列方式组成的阵列。
2.2 SRAM(静态随机存取存储器)
存储元结构:SRAM的每个存储元由6个晶体管(通常是6个MOS管)组成的双稳态触发器构成。触发器有两个稳定状态,分别表示"0"和"1"。
工作原理:
- 写入:通过位线(Bit Line)将数据送入触发器,迫使触发器翻转到对应状态。
- 读出:通过检测触发器当前的状态来确定存储的是"0"还是"1"。读出是非破坏性的,不需要重写(再生)。
- 保持:只要不断电,触发器的状态就能一直保持。
特点:
- 速度快(访问时间1~10ns),接近CPU速度
- 不需要刷新(因为触发器状态稳定)
- 集成度低(6个管子存1位),功耗较大
- 成本高
- 主要用于Cache
2.3 DRAM(动态随机存取存储器)
存储元结构:DRAM的每个存储元由1个晶体管和1个电容组成(1T1C结构)。信息以电容上是否有电荷来表示——有电荷表示"1",无电荷表示"0"(或反之,取决于设计)。
工作原理:
- 写入:通过位线对电容充电或放电。
- 读出:通过检测电容上是否有电荷来判断存储的信息。读出是破坏性的——读出时电容上的电荷会泄漏,读出后必须再生(重写)。
- 刷新:由于电容会漏电,即使不读出,存储的信息也会逐渐消失。DRAM必须定期(通常每2ms/每64ms)对所有存储元进行刷新。刷新方式有:
- 集中刷新:在一个刷新周期内,集中一段时间对所有行进行刷新,刷新期间不能正常读写(存在"死时间")。
- 分散刷新:将刷新操作分散到每个读写周期中,每次读写后顺便刷新一行。不存在死时间,但降低了整体速度。
- 异步刷新:将各行的刷新均匀分散到整个刷新周期内,每行每隔一段时间刷新一次。死时间最短。
特点:
- 速度较慢(50~100ns)
- 需要定期刷新
- 集成度高(1个管子+1个电容存1位),功耗较低
- 成本低
- 主要用于主存
2.4 DRAM的地址引脚复用技术
DRAM采用地址引脚复用(地址线分两次传送)技术来减少引脚数量:
- 先通过地址线传送行地址(Row Address),用行地址选通信号RAS(Row Address Strobe)锁存;
- 再通过同一组地址线传送列地址(Column Address),用列地址选通信号CAS(Column Address Strobe)锁存。
这样, 位地址只需要 根地址线(外加RAS和CAS两根控制线),大大减少了芯片引脚数。SRAM一般不采用地址复用技术。
三、记忆与理解辅助
3.1 口诀记忆
口诀一:"静六动一电,静不刷动要刷"
- SRAM用6个晶体管(静态触发器),DRAM用1个晶体管+1个电容(动态电容)
- SRAM不用刷新,DRAM必须定期刷新
口诀二:"SRAM快贵做Cache,DRAM慢廉做主存"
3.2 对比表:SRAM vs DRAM
| 对比项目 | SRAM | DRAM |
|---|---|---|
| 存储元结构 | 6个晶体管(双稳态触发器) | 1个晶体管+1个电容 |
| 存储原理 | 触发器的双稳态 | 电容的充放电 |
| 是否需要刷新 | 不需要 | 必须定期刷新 |
| 读出方式 | 非破坏性读出 | 破坏性读出,需再生 |
| 速度 | 快(1~10ns) | 慢(50~100ns) |
| 集成度 | 低 | 高 |
| 功耗 | 大 | 小 |
| 成本 | 高 | 低 |
| 主要用途 | Cache | 主存 |
| 地址引脚 | 一般不复用 | 采用地址复用(RAS/CAS) |
3.3 对比表:DRAM三种刷新方式
| 刷新方式 | 刷新时机 | 死时间 | 适用场景 |
|---|---|---|---|
| 集中刷新 | 一个刷新周期末尾集中刷新所有行 | 有,集中死时间最长 | 控制简单,但死时间影响大 |
| 分散刷新 | 每个读写周期后刷新一行 | 无死时间 | 速度降低,但无访问冲突 |
| 异步刷新 | 各行均匀分散在整个周期内 | 有,但最短 | 折中方案,实际最常用 |
3.4 关键数量关系
- 存储元数 = 存储单元数 × 每单元位数
- 若存储器容量为 ( 个存储单元,每个 位),则存储元总数为
- DRAM地址复用:若有 根地址线,则可寻址 行和 列,总容量为 个存储元
四、例题与精解
例题1(基础)
题目:下列关于SRAM和DRAM的叙述中,正确的是( )。 A. DRAM的存取速度比SRAM快 B. DRAM不需要刷新,SRAM需要刷新 C. DRAM采用地址引脚复用技术以减少引脚数量 D. SRAM的集成度比DRAM高
命题意图:考查SRAM与DRAM的基本特性对比。
审题分析:逐项对比SRAM和DRAM的核心特性。
解题思路:
- A项:错误。SRAM速度比DRAM快,这是SRAM的核心优势之一。
- B项:错误。SRAM不需要刷新(双稳态触发器状态稳定),DRAM必须定期刷新(电容漏电)。
- C项:正确。DRAM采用RAS/CAS地址复用,用 根地址线传送 位地址,减少引脚数量。
- D项:错误。SRAM用6个管子存1位,DRAM用1个管子+1个电容存1位,SRAM集成度低于DRAM。
答案:C
方法反思:SRAM和DRAM的对比是高频考点,需要从存储元结构、速度、集成度、功耗、是否需要刷新、地址引脚等多个维度全面掌握。
例题2(中等)
题目:某DRAM芯片容量为 位,采用地址引脚复用技术。问: (1)该芯片的地址引脚(不含RAS和CAS)至少需要多少根? (2)该芯片的数据引脚需要多少根? (3)如果刷新周期为64ms,采用异步刷新方式,相邻两次刷新操作之间的时间间隔是多少?假设该DRAM的存储矩阵为4096行×4096列。
命题意图:考查DRAM地址引脚复用计算和刷新时间计算。
审题分析:
- 容量 位 = 位
- 地址复用:行地址和列地址共用同一组地址线
- 刷新:4096行,刷新周期64ms
解题思路:
- 地址复用时, 位地址分两次传送,需要 根地址线
- 数据引脚数 = 每个存储单元的位数
- 异步刷新间隔 = 刷新周期 ÷ 行数
完整步骤:
(1)地址引脚数:
总容量 个存储元,排列为 的矩阵。
行地址需要12位,列地址需要12位。采用地址复用后,共用12根地址线。
地址引脚数 = 12根
(2)数据引脚数:
每个存储单元为1位,数据引脚只需1根。
数据引脚数 = 1根
(3)异步刷新间隔:
即每隔约 需要对一行进行刷新。
方法反思:
- DRAM地址复用的计算关键是理解"行地址和列地址共用同一组线,分时传送"。
- 刷新间隔的计算是高频考点,记住公式:。
- 注意单位换算:,。
五、考情分析
| 项目 | 内容 |
|---|---|
| 近5年考查频次 | ≥4次 |
| 常见题型 | 选择题(SRAM/DRAM区别)、综合题中涉及DRAM参数计算 |
| 分值占比 | 选择题1–2分;综合题中可能占3–5分 |
| 命题趋势 | SRAM/DRAM对比是几乎每年必考的基础选择题。近年趋势是将DRAM参数计算(地址引脚、刷新时间)与主存设计结合出综合题 |
六、易错点提醒
易错点1
- 错误表现:认为DRAM速度比SRAM快
- 错误原因:看到DRAM用于主存就觉得"主存更重要所以更快"
- 正确做法:SRAM用触发器存储,速度快但成本高,用于Cache;DRAM用电容存储,速度慢但成本低,用于主存。记住"SRAM快,DRAM慢"
易错点2
- 错误表现:混淆"破坏性读出"和"需要刷新"两个概念
- 错误原因:两者都与DRAM有关,容易混为一谈
- 正确做法:破坏性读出指读操作会破坏存储的信息,读出后必须重写(再生);需要刷新指电容漏电,即使不读出也必须定期重写。两者是独立的问题,都需要处理,但原因不同
易错点3
- 错误表现:计算DRAM地址引脚数时忘记地址复用,直接用全部地址位数
- 错误原因:忽略"采用地址引脚复用技术"这一条件
- 正确做法:地址复用意味着行地址和列地址分时传送,共用一组地址线,地址引脚数 = 总地址位数 ÷ 2。题目未说明复用时,按不复用计算
易错点4
- 错误表现:计算刷新间隔时,用集中刷新的死时间当作刷新间隔
- 错误原因:混淆刷新间隔和死时间的概念
- 正确做法:刷新间隔 = 刷新周期 ÷ 行数(异步刷新)。死时间是刷新期间不能正常读写的时间,与刷新间隔不同
七、来源标注
- 依据2026考研统考大纲(408-计算机组成原理-第三章"存储器层次结构")
- 依据大学本科经典教材共识:唐朔飞《计算机组成原理》、白中英《计算机组成原理》、Patterson & Hennessy《计算机组成与设计》