956 字
5 分钟
DRAM
工作原理
使用电容存储数据,电容会掉电要定期刷新,读出会破坏内容,要读后再生
- 刷新是周期性按行恢复数据
- 再生是读出后该存储字恢复数据
刷新
- 电容中的电荷一般只能维持1~2ms,必须定期按行刷新
- 相邻两次刷新同一行的时间间隔叫作刷新周期
- 刷新一行的时间约为一次读/写周期
- 三种刷新策略
- 集中刷新 在一个刷新周期内用一段固定时间对所有行进行刷新操作,这段时间不能进行访存操作,叫作死时间
- 分散刷新,在访存操作后,对所在的行进行刷新,增加了访存时间
- 异步刷新,在一个刷新周期内等时间间隔地对所有行进行刷新,使死时间更加分散
分类
- 传统DRAM 异步地与CPU交换数据,CPU发出地址与控制信号后,经过一段延迟时间数据才能读出或者写入,在读出或者写入之前CPU不能做任何工作
- SDRAM(S for Synchronization) 同步式DRAM,使用系统时钟(不是CPU时钟,是指系统总线的同步时钟),CPU发出地址与控制信号后,把信号锁存起来,CPU可以做其他工作,支持突发传输。第一次存取给出首地址,一行内的所有数据送入行缓冲器,之后每一个时钟都能读出一个存储字
- ddr SDRAM 一个时钟的上下沿都能存取数据,实现了双倍速率
(传统)DRAM芯片的结构

- 存储阵列
- 地址译码器 把二进制编码翻译成独热码,以便选中对应的行或列
- 单译码 内存地址是一维的线性结构
- 双译码 把内存地址拆分成行和列
- IO控制电路 控制选中单元的读写和放大信息
- 片选信号 多芯片存储器选中某一特定芯片
- 读写控制信号
(传统)DRAM的工作时序

读
通过地址引脚输入行地址,待行信号稳定后拉低选中行地址,芯片在下降沿读入行地址放入行地址缓冲器。行地址读入完毕,开始通过地址引脚输入列地址,待列信号稳定后拉低选中列地址,与需要至少保持与的时间。需要在拉低前置为高电位。一段时间后输出数据即可从中读出。一次存取时间结束,待信号再生完毕一个存取周期结束后可进行下一次的访存操作。
写
同读时序,不过输入的信号要在拉低前达到稳定
比较SRAM
| 特点 | SRAM | DRAM |
|---|---|---|
| 存储信息(0、1) | 触发器(双稳态) | 电容(充放电) |
| 破坏性读出 | 非 | 是 |
| 需要刷新 | 不要 | 需要(电容上的 电荷只能维持2ms) |
| 送行列地址 (行地址,列地址) | 同时传送 | 分两次送 |
| 运行速度 | 块 | 慢 |
| 集成度 | 低 | 高 |
| 发热量 | 大 | 小 |
| 存储成本 | 高 | 低 |
其他
MAR、MDR与地址线数据线宽度关系
寻址范围
记地址线宽度为寻址范围是到
DRAM行数列数优化
- 行数列数应该尽可能相同,又为了刷新行数较少还要满足即地址线宽度为时,,地址线为时,行数为,列数为
- 当地址线很宽时,列数不可能很宽,
