计算机组成原理补充——三种刷新方式,存取周期>存取时间的原因

常见的动态RAM的共同特点是都靠电容存储电荷的原理来寄存信息,电容上的电荷一般只能维持1~2ms,因此即使电源不掉电,信息也会自动消失,所以必须在2ms内对其所有存储单元恢复一次原状态,称为刷新,刷新是一行一行进行的。又因为内存就一套地址译码和片选装置,刷新与存取有相似的过程,它要选中一行,这期间片选线、地址线、地址译码器全被占用着。所以刷新与存取不能并行。同理,刷新操作之间也不能并行,意味着一次只能刷一行。

(1).集中刷新

指在规定的一个刷新周期内,对所有存储单元集中一段时间逐行进行刷新。(一般是刷新周期的最后一段时间)
例如:对64*64的矩阵刷新,存取周期是0.5us,刷新周期为2ms(占4000个存取周期)。
则集中刷新共需0.5*64=32us(占64个存取周期),在这段时间内存只用来刷新,阻塞一切存取操作,其余3968个存取周期用来读/写或维持信息。
这64个存取周期称为“死时间”,所占的比率64/4000*100%=1.6%称为死时间率。
这种方式的优点是速度高,缺点是死时间长。

(2).分散刷新

指对每行存储单元的刷新分散到每个存取周期内完成。其中,把机器的存取周期分成两段,前半段用来读/写或维持信息,后半段用来刷新。
例如:对64*64的矩阵刷新,存取周期是0.5us,则读写周为0.5us。
刷新周期为:64*1us=64us。<2ms , 在2ms丢失电荷前就会及时补充。
优点是没有死时间了,缺点是速度慢。

(3).异步刷新

指不规定一个固定的刷新周期,将每一行分来来看,只要在2ms内对这一行刷新一遍就行。
例如:对64*64的矩阵刷新,存取周期为0.5us。
要使每行能在2ms内刷新一次,即每隔 (2ms/64us) 刷新一行,也就是对这一行来说,下一次对它进行刷新的间隔,期间要经过64次内存刷新周期才又轮得到它。
每行刷新的时间仍为0.5us,刷新一行只停止一个存取周期,但对每行来说,刷新间隔在2ms以内,死时间缩短为0.5us。

另外补充解释## 标题

为什么刷新与存取不能并行?:因为内存就一套地址译码和片选装置,刷新与存取有相似的过程,它要选中一行——这期间片选线、地址线、地址译码器全被占用着。同理,刷新操作之间也不能并行——意味着一次只能刷一行

分散刷新为什么没有死区,其实是因为存取周期周期变成1μs(这1μs中包含了读写时间,也包含了刷新一行的时间,所以才没有死区)
若是将存取周期变成0.5μs,则不包含刷新的时间,若是这个时候还是一个读写,然后刷新一次的话,就有死区,死区的时间是0.5μs

原因:设DRAM中电容的电荷每2ms就会丢失,所以2ms内必须对其补充。补充电荷是按行来进行的,为了【全部】内存都能保住电荷,必须对【所有】的行都得补充。
假设刷新1行的时间为0.5μs(刷新时间是等于存取周期的。因为刷新的过程与一次存取相同,只是没有在总线上输入输出。顺便说一下存取周期>真正用于存取的时间,因为存取周期内、存取操作结束后仍然需要一些时间来更改状态。——对于SRAM也是这样,对于DRAM更是如此)。
并假设按存储单元(1B/单元)分为64行64列。
(64×64个单元×1B/单元 = 2^12个单元×1B/单元 = 4KB内存)。

集中刷新:快到2ms的时候,停止一切对内存的读取操作,使用0.5μs×64对64行依次刷新。这将占用3.2μs。在这3.2μs中,内存只用来刷新,阻塞一切存取操作。

分散刷新:在每个存取操作后绑定一个刷新操作。这样存取周期就成了0.5μs + 0.5μs = 1μs。它延长了存取周期。但是由于与存取操作绑定,就不需要专门给出一段时间来刷新了。这样,每有64个读取操作,就会把0-63行(共计64行)全部刷新一遍。又因为刷新是不间地断循环着的——循环对64行依次刷新,所以对于同一行,每64次读取就会轮到其被刷新——它的刷新周期是1μs × 64 = 64μs <2ms ,在2ms丢失电荷前就会及时补充。

异步刷新:分散刷新的刷新周期64μs ,其实根本不需要这么频繁,有些浪费,异步刷新就是恰好卡在2ms这个时间点上。对于每行以2ms为刷新周期足够了,刷新循环到它需要64刷新次操作, 2ms ÷ 64 作为【每次刷新的周期】,(注意每次刷新周期与特定行的刷新周期的不同:每次刷新间隔指对于内存来说它隔多长时间就进行一次刷新操作,轮着刷新时,刷新的行是上一次刷新的行的下一行——是不同的两行,但对于全局内存来说确实是两次刷新操作间隔。特定哪一行的刷新周期:下一次对它进行刷新的间隔,期间要经过64次内存刷新周期才又轮得到它。)过64次刚好保证每行的刷新周期为2ms。刷新操作周期为2ms ÷ 64 。但是这个时间并不是绑定在存取周期内,所以仍然是拒绝存取的死时间。但是它已经很小了。所以这种刷新策略非常可行。

常见的动态RAM的共同特点是都靠电容存储电荷的原理来寄存信息,电容上的电荷一般只能维持1~2ms,因此即使电源不掉电,信息也会自动消失,所以必须在2ms内对其所有存储单元恢复一次原状态,称为刷新,刷新是一行一行进行的。又因为内存就一套地址译码和片选装置,刷新与存取有相似的过程,它要选中一行,这期间片选线、地址线、地址译码器全被占用着。所以刷新与存取不能并行。同理,刷新操作之间也不能并行,意味着一次只能刷一行。

猜你喜欢

转载自blog.csdn.net/qq_40627648/article/details/83626288
今日推荐