Skip to content

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)锁存。

这样,nn 位地址只需要 n/2n/2 根地址线(外加RAS和CAS两根控制线),大大减少了芯片引脚数。SRAM一般不采用地址复用技术。


三、记忆与理解辅助

3.1 口诀记忆

口诀一:"静六动一电,静不刷动要刷"

  • SRAM用6个晶体管(静态触发器),DRAM用1个晶体管+1个电容(动态电容)
  • SRAM不用刷新,DRAM必须定期刷新

口诀二:"SRAM快贵做Cache,DRAM慢廉做主存"

3.2 对比表:SRAM vs DRAM

对比项目SRAMDRAM
存储元结构6个晶体管(双稳态触发器)1个晶体管+1个电容
存储原理触发器的双稳态电容的充放电
是否需要刷新不需要必须定期刷新
读出方式非破坏性读出破坏性读出,需再生
速度快(1~10ns)慢(50~100ns)
集成度
功耗
成本
主要用途Cache主存
地址引脚一般不复用采用地址复用(RAS/CAS)

3.3 对比表:DRAM三种刷新方式

刷新方式刷新时机死时间适用场景
集中刷新一个刷新周期末尾集中刷新所有行有,集中死时间最长控制简单,但死时间影响大
分散刷新每个读写周期后刷新一行无死时间速度降低,但无访问冲突
异步刷新各行均匀分散在整个周期内有,但最短折中方案,实际最常用

3.4 关键数量关系

  • 存储元数 = 存储单元数 × 每单元位数
  • 若存储器容量为 M×NM \times NMM 个存储单元,每个 NN 位),则存储元总数为 M×NM \times N
  • DRAM地址复用:若有 kk 根地址线,则可寻址 2k2^k 行和 2k2^k 列,总容量为 2k×2k=22k2^k \times 2^k = 2^{2k} 个存储元

四、例题与精解

例题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地址复用,用 n/2n/2 根地址线传送 nn 位地址,减少引脚数量。
  • D项:错误。SRAM用6个管子存1位,DRAM用1个管子+1个电容存1位,SRAM集成度低于DRAM。

答案:C

方法反思:SRAM和DRAM的对比是高频考点,需要从存储元结构、速度、集成度、功耗、是否需要刷新、地址引脚等多个维度全面掌握。


例题2(中等)

题目:某DRAM芯片容量为 16M×116\text{M} \times 1 位,采用地址引脚复用技术。问: (1)该芯片的地址引脚(不含RAS和CAS)至少需要多少根? (2)该芯片的数据引脚需要多少根? (3)如果刷新周期为64ms,采用异步刷新方式,相邻两次刷新操作之间的时间间隔是多少?假设该DRAM的存储矩阵为4096行×4096列。

命题意图:考查DRAM地址引脚复用计算和刷新时间计算。

审题分析

  • 容量 16M×116\text{M} \times 1 位 = 224×12^{24} \times 1
  • 地址复用:行地址和列地址共用同一组地址线
  • 刷新:4096行,刷新周期64ms

解题思路

  • 地址复用时,nn 位地址分两次传送,需要 n/2n/2 根地址线
  • 数据引脚数 = 每个存储单元的位数
  • 异步刷新间隔 = 刷新周期 ÷ 行数

完整步骤

(1)地址引脚数:

总容量 16M=22416\text{M} = 2^{24} 个存储元,排列为 4096×4096=212×2124096 \times 4096 = 2^{12} \times 2^{12} 的矩阵。

行地址需要12位,列地址需要12位。采用地址复用后,共用12根地址线。

地址引脚数 = 12根

(2)数据引脚数:

每个存储单元为1位,数据引脚只需1根。

数据引脚数 = 1根

(3)异步刷新间隔:

刷新间隔=刷新周期行数=64ms4096=64×1034096=15.625μs\text{刷新间隔} = \frac{\text{刷新周期}}{\text{行数}} = \frac{64\text{ms}}{4096} = \frac{64 \times 10^{-3}}{4096} = 15.625\mu\text{s}

即每隔约 15.625μs15.625\mu\text{s} 需要对一行进行刷新。

方法反思

  1. DRAM地址复用的计算关键是理解"行地址和列地址共用同一组线,分时传送"。
  2. 刷新间隔的计算是高频考点,记住公式:刷新间隔=刷新周期行数\text{刷新间隔} = \frac{\text{刷新周期}}{\text{行数}}
  3. 注意单位换算:1ms=1000μs1\text{ms} = 1000\mu\text{s}1μs=1000ns1\mu\text{s} = 1000\text{ns}

五、考情分析

项目内容
近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《计算机组成与设计》

考研全科复习资料 - 基于2026考研统考大纲