首页/计算机组成原理/存储器/SRAM和DRAM 🔗 在 Obsidian 中打开
计算机组成原理 · 存储器

SRAM和DRAM

重要度 ⭐⭐⭐⭐⭐存储器层次结构DRAM刷新存储器半导体
速查
SRAM 用触发器存储、不需刷新、速度快、用于 Cache;DRAM 用电容存储、需刷新(约 2ms)、容量大成本低、用于主存。

概述

半导体存储器是计算机主存的核心部件。SRAM(静态随机存储器)和 DRAM(动态随机存储器)是两种主要的半导体存储技术,它们在速度、密度、成本和刷新需求上有显著差异。

SRAM 触发器 · 快 · 贵 · 不刷新 · Cache DRAM 电容 · 慢 · 便宜 · 需刷新 · 主存
图:SRAM 与 DRAM 在速度、成本、用途上的基本定位。

SRAM(Static RAM)

存储原理

  • 使用触发器(6 个晶体管/单元)存储信息
  • 只要供电,数据就保持稳定
  • 不需要刷新

结构

        WL(字线)
            |
     ┌──────┴──────┐
     T1  T2       T3  T4
     ┌──┐ ┌──────┐ ┌──┐
     │Q │ │  交叉耦合  │ │Q̄ │ ← 存储节点(触发器)
     └──┘ └──────┘ └──┘
     T5  T6        BL 和 BL̄(位线)
  • 6 个 MOS 管构成一个存储单元
  • T1–T4 构成交叉耦合触发器
  • T5–T6 为访问管

特点

  • 速度快:存取时间 1–10ns
  • 不需要刷新:电路保持状态
  • 集成度低:6 个管子/位,面积大
  • 功耗较低(静态功耗)
  • 成本高
应用Cache(L1/L2/L3)、寄存器文件、TLB。

DRAM(Dynamic RAM)

存储原理

  • 使用电容存储电荷来表示信息
  • 有电荷表示 1,无电荷表示 0
  • 电容会漏电,必须定期刷新

结构

        WL(字线)
             |
             T(访问管)
             |
        ┌────┴────┐
        │  电容 C  │ ← 存储节点
        └─────────┘
             |
            BL(位线)
  • 1 个晶体管 + 1 个电容构成一个存储单元
  • 面积小,集成度高

刷新机制

为什么需要刷新电容电荷会逐渐泄漏;通常 2ms 内需完成一次刷新(刷新周期)。读操作会自动刷新(破坏性读出后重写)。

刷新方式

集中刷新(Burst Refresh):一个刷新周期内留出一段时间专门刷新。

|← 正常读写 →|← 集中刷新 →|
缺点:存在死时间(refresh dead time)

分散刷新(Distributed Refresh):每个读写周期都延长一点用于刷新。

|读写+刷新|读写+刷新|读写+刷新|...
缺点:降低了存储器速度

异步刷新:将刷新分散在整个刷新周期内,每隔 2ms/行数 刷一行,兼顾速度和死时间。

刷新操作刷新(每次刷新一行);刷新时所有芯片同时被选中;刷新期间不能进行正常读写。

DRAM 的存取方式

页模式(Page Mode):先送行地址(RAS),再送列地址(CAS),同一行内可连续访问不同列。

SDRAM(同步 DRAM):与系统时钟同步,支持突发传输(Burst Transfer)。DDR SDRAM:双倍速率,在时钟上升沿和下降沿都传数据。

DDR 发展:DDR → DDR2 → DDR3 → DDR4 → DDR5,每代翻倍带宽、降低电压。

DRAM 特点

  • 速度较慢:存取时间 50–70ns
  • 需要刷新:定期充电
  • 集成度高:1 管子 + 1 电容/位
  • 成本低容量大

SRAM vs DRAM 对比

特性SRAMDRAM
存储元件触发器(6T)电容(1T1C)
速度快(1–10ns)慢(50–70ns)
刷新不需要需要(约 2ms)
集成度
成本
功耗较低较高(刷新功耗)
用途Cache、寄存器主存
断电数据丢失丢失

存储器的性能指标

存取时间(Access Time)

从发出读请求到数据稳定出现在数据线上的时间。

存储周期(Memory Cycle Time)

连续两次访问之间的最小间隔,满足 存储周期 $\geq$ 存取时间

存储器带宽

单位时间内传输的数据量:

带宽 = 数据宽度 / 存储周期

存储器容量计算

芯片容量

容量 = 2^(地址线数) × 数据线位数
例:10 根地址线 × 8 位数据线 = 1K × 8 位 = 1KB

引脚计算

总引脚 = 地址线 + 数据线 + 控制线(R/W, CS 等)+ 电源地线

易错点

必记
  1. SRAM 不需要刷新,DRAM 必须刷新。
  2. DRAM 读出是破坏性的,读后需要重写。
  3. 刷新按进行,不是按单元。
  4. DDR 在一个时钟周期传两次数据(上升沿 + 下降沿)。
  5. 存储周期 $\neq$ 存取时间(存储周期更长)。
  6. DRAM 的刷新期间不能读写(集中刷新有死时间)。
  7. SRAM 比 DRAM 快但贵,用于 Cache;DRAM 用于主存。

记忆卡片

SRAM 与 DRAM 谁需要刷新?
DRAM(电容漏电),SRAM 触发器不需要刷新。
DRAM 读出为什么是破坏性的?
读出电容电荷后状态消失,读后需重写(自动刷新)。
DDR 为什么带宽翻倍?
在时钟上升沿和下降沿都传输数据,每个周期传两次。
集中刷新的缺点?
存在死时间(刷新期间不能正常读写)。

交互动画 · 刷新方式对比

t0t15 ■ 正常读写 ■ 刷新 ■ 死时间(不能读写) 选择一种刷新方式查看时间槽分布
DRAM 每约 2ms 内须把所有行刷新一遍;三种方式在速度与「死时间」之间折中
点击上方按钮开始
示意图:一段 16 个时间槽序列。集中刷新把刷新聚在末尾(产生死时间);分散刷新每个周期都插刷新(拖慢速度);异步刷新均匀分散(折中);SRAM 全程无需刷新。

相关知识点

memory-expansion sram-and-dram

↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。