2.2. DRAM 存取技術細節
在介紹 DRAM 的章節中,我們看到為了節省位址針腳,DRAM 晶片多工了位址。我們也看到因為記憶單元中的電容無法立即放電以產生穩定的訊號,存取 DRAM 記憶單元會花點時間;我們也看到 DRAM 記憶單元必須被重新充電。現在,是時候將這全都擺在一起,看看這些因子是如何決定 DRAM 存取是怎麼運作的。
我們將會聚焦於目前的技術上;我們不會討論非同步(asynchronous)DRAM 及其變種,因為它們完全與此無關。對這個主題感興趣的讀者請參見 [3] 與 [19]。我們也不會談及 Rambus DRAM(RDRAM),縱使這項技術並不過時。只是它並沒有被廣泛使用於系統記憶體中。我們僅會聚焦於同步 DRAM(Synchronous DRAM,SDRAM)與其後繼者雙倍資料傳輸速率 DRAM(Double Data Rate DRAM,DDR)。
同步 DRAM,如同名稱所暗示的,其運作與一種時間源(time source)有關。記憶體控制器提供一個時鐘(clock),其頻率決定前端匯流排(FSB)── DRAM 晶片使用的記憶體控制器介面 ── 的速度。在撰寫此文時,頻率可達 800MHz、1,066MHz、甚至到 1,333MHz,並宣稱在下個世代會達到更高的頻率(1,600MHz)。這不代表用於匯流排的頻率真的這麼高。而是現今的匯流排都是二或四倍頻(double- or quad-pumped),代表資料在每個週期傳輸二或四次。數字越高、賣得越好,因此廠商慣於將四倍頻 200MHz 匯流排宣傳成「實質上的(effective)」800MHz 匯流排。
對於現今的 SDRAM 來說,每次資料傳輸以 64 位元 (即 8 位元組) 組成。FSB 的傳輸率因此為 8 位元組乘上實際的匯流排頻率(以四倍頻 200MHz 匯流排來說,6.4GB/s)。這聽起來很多,但這是尖峰速度 ── 永遠無法超越的最大速度。如同我們將會看到的,現今與 RAM 模組溝通的協定中有許多的閒置期(downtime),這時是沒有資料可以被傳輸的。這個閒置期正是我們必須瞭解、並減到最小,以達到最佳效能的東西。