記憶體技術:DRAM、DDR 與新興記憶體

記憶體通道(memory channel)

想像一個收費站。如果一條車道以固定速度放車通過,那麼要每分鐘多放一些車,唯一的辦法就是多開幾條並排運作的車道。記憶體通道就是 CPU 的記憶體控制器與 DRAM 之間這樣一條車道:一條獨立的路徑,有自己一組線路,可以跟其他通道同時搬運一次傳輸。多加通道,整條高速公路每秒就能搬更多資料。

具體來說,記憶體通道是一條獨立的實體資料匯流排(通常 64 位元寬,加上命令/位址線),連接記憶體控制器與一條或多條 DIMM。因為每個通道有自己的線路、能獨立發出與接收傳輸,所以一個有 N 個通道的系統能搬運約 N 倍於單通道的資料——它們平行運作。現代桌機常有 2 個通道,工作站與伺服器有 4、8 或更多,CPU 的內建記憶體控制器管理它們,把資料跨通道條帶化,讓連續的快取列落在不同通道上。

為何重要:通道是總記憶體頻寬的主要槓桿,頻寬的構成是 寬度 x 速率 x 通道數。這正是「各通道平均插滿」成為標準建議的原因——空著一個通道就浪費了整條高速公路的一條車道。誠實的限制:通道把頻寬翻倍、卻不把延遲翻倍(一輛車過站還是花一樣的時間),而且你無法超出 CPU 與主機板實際提供的通道數。一個單執行緒、受延遲限制的程式,多加通道可能幾乎沒好處;渴求頻寬的平行工作負載則收穫很多。

一套雙通道 DDR4-3200 提供 2 x 25.6 GB/s = 約 51.2 GB/s 的尖峰頻寬。一台有 8 通道 DDR5 的伺服器可超過 300 GB/s——然而每一次個別存取仍付出同樣數十奈秒的延遲。

通道平行地把頻寬翻倍;它們對任何單一存取的延遲毫無幫助。

用不對稱或單通道配置跑 DIMM,即使總容量不變,也可能悄悄把你可用的頻寬砍半——這是配置不良的系統上常見、隱形的效能損失。

又称
channel通道