在上一篇文章中,我們簡單介紹了 DRAM 與 SRAM 的基本工作原理,並以最基礎的 1-bit 儲存單元為例。讀者反應熱烈,今天我們繼續深入探討 RAM(Random Access Memory)的組織架構,這將為後續了解各類 RAM 的實際運作奠定基礎。
無論是 SRAM 還是 DRAM,每個基本儲存單元只能儲存 0 或 1。早期的記憶體晶片(如 IDT6167、Intel 2188)僅有 Din(資料輸入)與 Dout(資料輸出)腳位,而 CPU 存取資料的單位是位元組(8 bits)。為了滿足這項需求,必須將 8 顆 1-bit 的 RAM 晶片堆疊在一起,共享相同的位址總線,形成一個 8-bit 寬度的儲存模組。
這 8 顆晶片透過位址總線與資料總線在 PCB(印刷電路板)上並聯,對 CPU 而言,它們就是一顆 8-bit 寬的 RAM 晶片。以位址總線 22-bit 為例,可定址空間為 2^22 = 4,194,304 bits,即 4 Mbits(512 KB);資料總線 8-bit 則由 8 顆晶片的 Dout 並聯實現。這類模組稱為 4M×8 模組(注意此處「M」指 Mbit 而非 MByte)。
以德州儀器(TI)的 TM4100GAD8 為例,這是一款基於 4M×8 模組製造、容量 4 MB、採用 30 腳 SIMM 封裝的記憶體。它實際上由 8 顆 4M×1 DRAM 顆粒組成。電路圖顯示,所有顆粒共享 /RAS、/CAS、/W 等控制訊號與位址總線,各自擁有獨立的 DQ(資料輸入/輸出)腳位,VCC 與 VSS 提供 5V 電源。這樣的設計讓 CPU 能一次讀寫 8 bits 資料。
早期的 8-bit 記憶體已難見蹤影,現代系統常見 32-bit、64-bit 甚至 128-bit 寬度。單純增加晶片數量並不足夠,必須引入 Bank(庫)概念。一個 Bank 由多個模組組成。例如,4 組 8-bit 模組(每組 4M×8,即 4 MB)可構成一個 32-bit 寬、容量 16 MB 的 Bank。資料儲存時採用交錯方式:模組 1 存第 1 位元組、模組 2 存第 2 位元組……以此類推,循環直至達到最大容量。
增加總容量有兩種途徑:提升單一模組容量,或增加 Bank 數量。例如將 16 MB 擴充至 32 MB,可將每模組從 4 MB 增至 8 MB,或保持模組容量不變而增加 Bank 數。
SIMM(Single Inline Memory Module)與 DIMM(Dual Inline Memory Module)是記憶體條的封裝形式,而非晶片封裝。早期記憶體晶片直接焊在主板上,故障難修;後來出現插槽,但熱脹冷縮導致接觸不良。SIMM/DIMM 透過金手指與主板溝通,解決了上述問題。
30 腳 SIMM 僅能傳輸 8-bit 資料,位址線 11 條、資料線 8 條,其餘為控制線與 NC(空腳)。72 腳 SIMM 資料總線寬度擴展至 32-bit,容量更大,效能顯著提升。SIMM 依晶片分佈可分單面與雙面,1/4/16 MB 多為單面,更大容量則為雙面。
DIMM 是當前主流,如 SDRAM、DDR SDRAM、RDRAM。以 168 腳 SDRAM 為例,提供 64-bit 定址能力,工作電壓 3.3V 或 5V,分非緩衝與緩衝兩種。得益於製程進步,現代高密度 DRAM 晶片可內建多組 Din/Dout 腳位(4、8、16、32、64-bit),大幅減少所需晶片數量。例如,若使用 1M×8-bit 晶片,僅需 4 顆即可組成 4 MB、32-bit 寬度的模組,降低功耗與製程複雜度。
這兩款 4 MB、32-bit 寬度的 DRAM 模組展示了不同組織方式。TM124BBJ32F 採用 2 顆 2M×16-bit 晶片(單面),透過 RAS0/RAS1 分別控制 DQ0-15 與 DQ16-31,每次傳輸 16 bits。TM248CBJ32F 則用 4 顆 1M×8-bit 晶片(雙面),RAS0-3 分別對應 DQ0-7、8-15、16-23、24-31,每次傳輸 8 bits。雖然控制邏輯略異,但皆能滿足 32-bit 存取需求。
理解這些基礎架構,有助於後續深入探討現代記憶體技術(如 SDRAM、DDR 系列)的運作原理。