SDRAM檢視原始碼討論檢視歷史
SDRAM |
同步動態隨機存取內存(synchronous dynamic random-access memory,簡稱SDRAM)是有一個同步接口的動態隨機存取內存(DRAM)。通常DRAM是有一個異步接口的,這樣它可以隨時響應控制輸入的變化。而SDRAM有一個同步接口,在響應控制輸入前會等待一個時鐘信號,這樣就能和計算機的系統總線同步。時鐘被用來驅動一個有限狀態機,對進入的指令進行管線(Pipeline)操作。這使得SDRAM與沒有同步接口的異步DRAM(asynchronous DRAM)相比,可以有一個更複雜的操作模式。
簡介
管線意味着芯片可以在處理完之前的指令前,接受一個新的指令。在一個寫入的管線中,寫入命令在另一個指令執行完之後可以立刻執行,而不需要等待數據寫入存儲隊列的時間。在一個讀取的流水線中,需要的數據在讀取指令發出之後固定數量的時鐘頻率後到達,而這個等待的過程可以發出其它附加指令。這種延遲被稱為等待時間(Latency),在為計算機購買內存時是一個很重要的參數。SDRAM在計算機中被廣泛使用,從起初的SDRAM到之後一代的DDR(或稱DDR1),然後是DDR2和DDR3進入大眾市場,2015年開始DDR4進入消費市場。
評價
但是,可同時打開的頁數也是有限制的。從SDRAM的尋址原理講,同一L-Bank中不可能有兩個打開的行(S-AMP只能為一行服務),這就限制了可同時打開的頁面總數。以SDRAM有4個L-Bank,北橋最多支持8個P-Bank為例,理論上最多只能有32個頁面能同時處於打開的狀態。而如果只有一個P-Bank,那麼就只剩下4個頁面,因為有幾個L-Bank才能有同時打開幾個行而互不干擾。Intel 845的MHC雖然可以支持24個打開的頁面,那也是指6個P-Bank的情況下(845MCH只支持6個P-Bank)。可見845已經將同時打開頁數發揮到了極致。不過,同時打開頁數多了,也對存取策略提出了一定的要求。理論上,要儘量多地使用已打開的頁來保證最短的延遲周期,只有在數據不存在(讀取時)或頁存滿了(寫入時)再考慮打開新的指定頁,這也就是變向的連續讀/寫。而打開新頁時就必須要關閉一個打開的頁,如果此時打開的頁面已是北橋所支持的最大值但還不到理論極限的話,就需要一個替換策略,一般都是用LRU算法來進行,這與VIA的交錯控制大同小異。 [1]