动态RAM共有三种刷新方式:集中刷新,分散刷新,异步刷新
刷新的实质:先将原信息读出,再由刷新放大器形成原信息重新写入的再生成的过程
为什么要进行刷新:存储单元被访问是随机的,有些存储单元可能长时间的不被访问,不进行存储器的读写操作,其存储单元内的原信息就可能会丢失。
刷新是一行行进行的,必须在刷新周期内
刷新周期:对DRAM的所有存储单元恢复一次原状态的时间间隔
刷新间隔:两次刷新的起始时间差(某行从第一次刷新到第二次刷新的等待时间)
行刷新间隔:两行刷新的起始时间差
刷新时间:规定的一个周期内刷新的总时间
刷新一行的时间是等于存取周期的。因为刷新的过程与一次存取相同,只是没有在总线上输入输出。
集中刷新
集中刷新:在规定的一个刷新周期内,对全部存储单元集中一段时间逐行进行刷新(用专门的时间进行全部刷新)
例对128×128的矩阵的存储芯片进行刷新,存储周期为0.5s,刷新周期为2ms
2ms的刷新周期,占得存取周期个数为:
2000μs÷0.5μs=4000(个)
共有128行要进行刷新,则刷新占128个存取周期,则刷新的时间为:
128×0.5μs=64μs
读写或维持的时间:
2000μs-64μs=1936μs
读/写或维持的存储周期为:
4000-128=3872(个)
当用64μs进行集中刷新是,此时不能进行任何的读/写操作,故将这64μs称为“死区”或“死时间”
“死时间”所占的比率也称为“死时间率”
则集中刷新的“死时间率为”
128÷4000×100%=3.2%
优点:速度高
缺点:存在死区,死时间长
分散刷新
分散刷新:是指对每行存储单元的刷新分散到每个存储周期内完成(对某一行某芯片进行读写操作后,紧接着刷新)
例:对128×128的矩阵的存储芯片进行刷新,存储周期为0.5s,
将刷新分散到存储周期内完成 ,则存储周期就包含了刷新时间
此时,存储周期为
t=0.5μs+0.5μs=1μs
刷新(刷新以行算)一行的时间为1μs,全部刷新完的时间为:
128×1μs=128μs
此时比2ms小的多
优点:无死区
缺点:存取周期长,整个系统的速度降低了
异步刷新
异步刷新:前两种方式的结合,缩短了死时间,充分利用了最大刷新间隔为2ms的特点(只要在2ms内对这一行刷新一遍就行)
例:对128×128的矩阵的存储芯片进行刷新,存储周期为0.5s,刷新周期为2ms
2ms内对每行刷新一遍:
2000μs÷128≈15.6μs
即每隔15.6μs刷新一行,每行的刷新时间仍然为0.5μs。刷新一行就停一个存储周期,“死时间缩短为0.5μs”
这种方案克服了分散刷新许独占0.5μs用于刷新,使存取周期加长且降低系统速度的缺点,又不会出现集中刷新的访问“死区”问题,从根本上提高了工作效率。