动态RAM共有三种刷新方式:集中刷新,分散刷新,异步刷新
刷新的实质:先将原信息读出,再由刷新放大器形成原信息重新写入的再生成的过程

为什么要进行刷新:存储单元被访问是随机的,有些存储单元可能长时间的不被访问,不进行存储器的读写操作,其存储单元内的原信息就可能会丢失。

刷新是一行行进行的,必须在刷新周期内

刷新周期:对DRAM的所有存储单元恢复一次原状态的时间间隔

刷新间隔:两次刷新的起始时间差(某行从第一次刷新到第二次刷新的等待时间)

行刷新间隔:两行刷新的起始时间差

刷新时间:规定的一个周期内刷新的总时间

刷新一行的时间是等于存取周期的。因为刷新的过程与一次存取相同,只是没有在总线上输入输出。

集中刷新

集中刷新:在规定的一个刷新周期内,对全部存储单元集中一段时间逐行进行刷新(用专门的时间进行全部刷新)
对128×128的矩阵的存储芯片进行刷新,存储周期为0.5μs,刷新周期为2ms(再刷新到这里)
刷新:是对信息读出再写入 所以所需要的时间也是0.5μs
在这里插入图片描述

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小的多 在刷新到此处隔128μs

优点:无死区
缺点:存取周期长,整个系统的速度降低了

异步刷新

异步刷新:前两种方式的结合,缩短了死时间,充分利用了最大刷新间隔为2ms的特点(只要在2ms内对这一行刷新一遍就行)

:对128×128的矩阵的存储芯片进行刷新,存储周期为0.5s,刷新周期为2ms
在这里插入图片描述
2ms内对每行刷新一遍:

2000μs÷128≈15.6μs

即每隔15.6μs刷新一行,每行的刷新时间仍然为0.5μs。刷新一行就停一个存储周期,“死时间缩短为0.5μs”(15.6μs内刷新一行 其他全用来读写)

这种方案克服了分散刷新许独占0.5μs用于刷新,使存取周期加长且降低系统速度的缺点,又不会出现集中刷新的访问“死区”问题,从根本上提高了工作效率。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐