DRAM(动态随机存取储存器)是由电容组成的,由于电容易失电的特性,需要不断刷新,才能保证其里面保存的信息不丢失。
在访问存储单元时,需要译码器将地址信号转化为选中存储单元的信号,通过选通线选择存储单元。
1.简单模型
如:一个n位的地址,对应着2^n个的存储单元,那么就需要2^n条选通线与存储单元相连。
选通线与存储单元这样一对一的关系使得选通线的数量十分庞大,只在较小的存储设备中使用,难以广泛使用于其它较大的存储器中。
2.行列地址模型
对于一个n位的地址,采用行列地址地址的形式,将地址拆分为行地址和列地址,通过行列地址查询所需要的存储单元,这样一条行选通线对应着一行,一条列选通线对应着一列,通过如同十字坐标的形式确定存储单元的位置。
这时选通线的数量变为
行选通线2^n/2,列选通线2^n/2,一共
相比于简单模型少了非常多的选通线。如:
左边为简单模型,右边为行列地址模型
所以,使用行列地址可以减少选通线的数量。
————————————————
版权声明:以下内容为CSDN博主「@玉面小蛟龙」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43610614/article/details/105660357
动态RAM共有三种刷新方式:集中刷新,分散刷新,异步刷新
刷新的实质:先将原信息读出,再由刷新放大器形成原信息重新写入的再生成的过程
为什么要进行刷新:存储单元被访问是随机的,有些存储单元可能长时间的不被访问,不进行存储器的读写操作,其存储单元内的原信息就可能会丢失。
刷新是一行行进行的,必须在刷新周期内
刷新周期:对DRAM的所有存储单元恢复一次原状态的时间间隔(通常取2ms)
刷新间隔:两次刷新的起始时间差(某行从第一次刷新到第二次刷新的等待时间)
行刷新间隔:两行刷新的起始时间差
刷新时间:规定的一个周期内刷新的总时间
刷新一行的时间是等于存取周期的。因为刷新的过程与一次存取相同,只是没有在总线上输入输出。
集中刷新
集中刷新:在规定的一个刷新周期内,对全部存储单元集中一段时间逐行进行刷新(用专门的时间进行全部刷新)
例:对128×128的矩阵的存储芯片进行刷新,存储周期为0.5μs,刷新周期为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.5μs,
将刷新分散到存储周期内完成 ,则存储周期就包含了刷新时间
此时,存储周期为
t=0.5μs+0.5μs=1μs
刷新(刷新以行算)一行的时间为1μs,全部刷新完的时间为:
128×1μs=128μs
此时比2ms小的多
优点:无死区
缺点:存取周期长,整个系统的速度降低了
异步刷新
异步刷新:前两种方式的结合,缩短了死时间,充分利用了最大刷新间隔为2ms的特点(只要在2ms内对这一行刷新一遍就行)
例:对128×128的矩阵的存储芯片进行刷新,存储周期为0.5μs,刷新周期为2ms
2ms内对每行刷新一遍:
2000μs÷128≈15.6μs
即每隔15.6μs刷新一行,每行的刷新时间仍然为0.5μs。刷新一行就停一个存储周期,“死时间缩短为0.5μs”
这种方案克服了分散刷新许独占0.5μs用于刷新,使存取周期加长且降低系统速度的缺点,又不会出现集中刷新的访问“死区”问题,从根本上提高了工作效率。