956 字
5 分钟
DRAM

工作原理#

使用电容存储数据,电容会掉电要定期刷新,读出会破坏内容,要读后再生

  • 刷新是周期按行恢复数据
  • 再生是读出后该存储字恢复数据

刷新#

  • 电容中的电荷一般只能维持1~2ms,必须定期按刷新
  • 相邻两次刷新同一行的时间间隔叫作刷新周期
  • 刷新一行的时间约为一次读/写周期
  • 三种刷新策略
    • 集中刷新 在一个刷新周期内用一段固定时间对所有行进行刷新操作,这段时间不能进行访存操作,叫作死时间
    • 分散刷新,在访存操作后,对所在的行进行刷新,增加了访存时间
    • 异步刷新,在一个刷新周期内等时间间隔地对所有行进行刷新,使死时间更加分散

分类#

  • 传统DRAM 异步地与CPU交换数据,CPU发出地址与控制信号后,经过一段延迟时间数据才能读出或者写入,在读出或者写入之前CPU不能做任何工作
  • SDRAM(S for Synchronization) 同步式DRAM,使用系统时钟(不是CPU时钟,是指系统总线的同步时钟),CPU发出地址与控制信号后,把信号锁存起来,CPU可以做其他工作,支持突发传输。第一次存取给出首地址,一行内的所有数据送入行缓冲器,之后每一个时钟都能读出一个存储字
  • ddr SDRAM 一个时钟的上下沿都能存取数据,实现了双倍速率

(传统)DRAM芯片的结构#

Pasted image 20240801175658

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

(传统)DRAM的工作时序#

Pasted image 20240801180301

#

通过地址引脚输入行地址,待行信号稳定后拉低RAS\overline{RAS}选中行地址,芯片在RAS\overline{RAS}下降沿读入行地址放入行地址缓冲器。行地址读入完毕,开始通过地址引脚输入列地址,待列信号稳定后拉低CAS\overline{CAS}选中列地址,RAS\overline{RAS}CAS\overline{CAS}需要至少保持tRASt_{RAS}tCASt_{CAS}的时间。R/WR/\overline W需要在拉低CAS\overline{CAS}前置为高电位。一段时间后输出数据即可从DoutD_{out}中读出。一次存取时间结束,待信号再生完毕一个存取周期结束后可进行下一次的访存操作。

#

同读时序,不过输入DinD_{in}的信号要在拉低CAS\overline{CAS}前达到稳定

比较SRAM#

特点SRAMDRAM
存储信息(0、1)触发器(双稳态)电容(充放电)
破坏性读出
需要刷新不要需要(电容上的

电荷只能维持2ms)
送行列地址

(行地址,列地址)
同时传送分两次送
运行速度
集成度
发热量
存储成本

其他#

MAR、MDR与地址线数据线宽度关系#

各种字与各种位宽与机器位数

寻址范围#

记地址线宽度为NN寻址范围是002N12^N-1

DRAM行数列数优化#

  • 行数列数应该尽可能相同,又为了刷新行数较少还要满足rcr \le c即地址线宽度为2N2N时,r=c=2Nr = c =2^N,地址线为2N+12N+1时,行数为2N2^N,列数为2N+12^{N+1}
  • 当地址线很宽时,列数不可能很宽,