計算機組成原理筆記1 DRAM的三種刷新方式理解

原文來源:百度知道

設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行依次刷新。這將佔用32μs。在這32μ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 。但是這個時間並不是綁定在存取週期內,所以仍然是拒絕存取的死時間。但是它已經很小了。所以這種刷新策略非常可行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章