動態RAM刷新
動態RAM刷新原因:電容容易漏電,需要對電容充電刷新,防止信息丟失。
刷新與行地址有關,與列地址沒有關系,每一次刷新的是這一行上所有基本單元電路的信息
一、集中式刷新(刷新時間集中在一起)
- 刷新周期:每一次刷新一行基本存儲電路,所有的電容都要刷新一次的時間。2ms刷新周期:指在2ms內所有的所有的電容都要刷新一遍
- 存取周期:指CPU對DRAM進行讀寫需要的時間周期。
原理:以128*128矩陣為例對集中刷新來說,在2ms的刷新周期內,可以分為 讀寫或維持階段,刷新階段,其中,刷新階段共需要128*0.5 = 64us,該階段進行所有電容的刷新,這一階段內CPU或其它外設不能讀寫,只能等待,稱為死區時間;讀寫或維持階段有剩下的1936us,該階段可以進行CPU或者其它外設的讀寫操作。
問題:存在死區,浪費CPU的性能
二、分散式刷新 (存取周期為1us)
在這里存取周期含義發生改變
存取周期(1us) = 讀寫周期(0.5us)+ 刷新周期(0.5us)即 tc = tM + tR
每一個tM后刷新一行基本存儲電路,無死區
問題:
- 2ms內被刷新15.6次,過度刷新
- 沒有死區,但是存取周期加長,降低芯片性能
三、異步刷新(分散刷新和集中刷新相結合)
原理:對128*128的存儲芯片(存取周期為0.5s),需要刷新128次,將2ms的刷新周期分為128份,每一份為15.6us,在這15.6us內,對某一行進行刷新,刷新所需的0.5us可以安排在中間,也可以安排在最后,那么對於這15.6us來說,就是集中式刷新;但對於整個2ms來說,就是分散式刷新。
效果:這種方式每隔2ms電容刷新一次,在15.6us內死區時間為0.5us,安排得好就可以避免死區,從而提高系統性能。
動態RAM和靜態RAM的比較
注:
- 一、集成度:DRAM每一個單元只有一個電容,一個晶體管;SRAM每一個單元包含6個晶體管
- 二、芯片引腳:DRAM行地址和列地址可以分別傳送(單管動態RAM),從而將地址線的條數減少為原來的一半;SRAM考慮性能需要比較快,因此不分別傳送
- 三、功耗:DRAM需要刷新充放電;SRAM雙穩態觸發器有三個管子一直處於導通狀態,功耗高
- 四、速度:DRAM需要充放電讀寫信息;SRAM通過觸發器讀寫,速度快
綜上,SRAM由於速度快,價格功耗較高,作為主存性價比不高,因此將其作為在主存和CPU之間的緩存;DRAM用作主存。