三种刷新策略(DRAM刷新方式)
DRAM 依靠电容存储电荷,会漏电,必须定期刷新(读出再写入)以保持数据。刷新按操作方式分为三种:
| 刷新策略 | 定义与操作方式 | 优点 | 缺点 |
|---|---|---|---|
| 集中式刷新 | 在一个刷新周期内,集中一段时间 连续刷新所有行,其余时间正常读写。刷新期间 CPU 死等。 | 读写操作不受刷新打扰,系统存取周期短。 | 刷新时间形成死区,在此期间 CPU 无法访存,降低系统效率。 |
| 分散式刷新 | 将刷新周期分散到每个存取周期之后,每次只刷新一行。例如存取周期 1μs,前 0.5μs 读写,后 0.5μs 刷新。 | 无死区,CPU 随时可访存,控制简单。 | 刷新过于频繁(每周期都刷),加长了系统存取周期,降低了整机速度。 |
| 异步刷新 | 将刷新周期均匀分割成若干等份,每隔固定时间刷新一行。例如 2ms 内刷新 128 行,则每 15.6μs 产生一次刷新请求,刷新一行。 | 结合前两者优点:既减少了死区时间 (仅一行刷新时 CPU 稍等),又不显著拉长存取周期。 | 控制电路略复杂,需定时产生刷新请求。 |
SRAM 与 DRAM 对比及用途
| 对比维度 | SRAM(静态随机存取存储器) | DRAM(动态随机存取存储器) |
|---|---|---|
| 存储原理 | 双稳态触发器(6个 MOS 管) | 电容充放电(1个 MOS 管 + 1个电容) |
| 速度 | 快(几纳秒) | 慢(几十纳秒) |
| 集成度 | 低(管子多,面积大) | 高(结构简单,可做很大容量) |
| 功耗 | 静态功耗低,工作时功耗高 | 漏电需刷新,刷新功耗大 |
| 是否需要刷新 | 不需要 | 需要(必须定时刷新) |
| 成本 | 高 | 低 |
用途定位:
-
SRAM 做主存?还是做缓存?
→ 做 Cache(高速缓冲存储器)理由:速度快、无需刷新、能匹配 CPU 速度,但成本高、集成度低,不适合做大容量主存。
-
DRAM 做主存?还是做缓存?
→ 做主存(内存条)理由:成本低、集成度高、可轻松实现 GB 级容量,虽然速度慢且需刷新,但通过 Cache 弥补速度差距,是目前计算机主存的绝对主流。