記憶體頻寬計算器
輸入每支接腳的傳輸速率、資料匯流排寬度,以及 DIMM、晶片或堆疊的數量,即可得到記憶體峰值頻寬。加入效率係數,可粗略估算實際可用的頻寬。常見標準可從預設值中選擇。
計算結果
- 峰值頻寬
- –
- 估計有效頻寬
- –
- 每支接腳資料速率
- –
- 每奈秒位元組數
- –
典型標準比較(每單位)
峰值為 DDR4 與 DDR5 每個 DIMM、LPDDR5X 每 64 位元、GDDR6 每顆晶片、HBM3 每個堆疊的數值。傳輸速率為各標準的典型速度等級,也有更快或更慢的產品。
以圖表檢視
其他輸入維持目前的值,只讓選擇的輸入在目前值的 1/4 到 4 倍之間變化時的結果。紅點是目前的值。
頻寬公式的原理
記憶體峰值頻寬等於每支資料接腳每秒的傳輸次數(傳輸速率)乘以接腳數(匯流排寬度),再除以 8 將位元換算為位元組。DDR(雙倍資料速率)記憶體在時脈的上升緣與下降緣都傳輸資料,因此傳輸速率是時脈頻率的兩倍。DDR4-3200 以 1,600 MHz 時脈運作,達到 3,200 MT/s。在 64 位元匯流排上,得到 3,200 × 64 ÷ 8 = 25,600 MB/s,即 25.6 GB/s。若把 MHz 與 MT/s 混淆,答案就會減半或加倍。
峰值頻寬與持續頻寬
峰值頻寬是每個週期都有資料流動時的理論上限。實際的 DRAM 會因刷新(維持儲存的電荷)、記憶庫衝突(必須在忙碌中的記憶庫開啟新的列)以及匯流排切換方向時的讀寫轉換而損失時間。因此持續頻寬低於峰值。它很大程度上取決於存取模式,但大約為峰值的 60% 至 90% 是常見的粗略參考:連續循序讀取時較高,隨機存取及讀寫混合時較低。
寬而慢,還是窄而快
頻寬來自更多接腳或更快的接腳。GDDR6 每顆晶片以每接腳 16 Gb/s 驅動窄的 32 位元匯流排,每顆晶片可達 64 GB/s。HBM3 則透過非常寬的 1,024 位元匯流排連接堆疊的 DRAM 晶粒;即使每接腳僅 6.4 Gb/s,單一堆疊也可達約 819 GB/s。HBM 的連線短,每位元耗能較低,但需要矽中介層等昂貴的封裝。GDDR 可安裝在一般電路板上,但其高速訊號使佈線與電源設計更加困難。
記憶體牆與 Roofline 模型
記憶體牆是指處理器運算效能的成長速度超過記憶體頻寬與延遲的改善速度時所產生的差距。每搬移一個位元組只做少量運算的程式,會讓運算單元閒置等待資料,因此其速度由頻寬決定。Roofline 模型描述了這一點:可達成的效能為峰值運算能力與「頻寬 × 運算強度(每位元組運算數)」兩者中的較小值。例如在 100 GB/s、每位元組一次運算的情況下,效能不可能超過每秒 1,000 億次運算。在快取中重複使用資料以提高運算強度,是緩解頻寬限制的基本方法。
練習 DRAM 題目
- A約204.8 GB/s
- B約25.6 GB/s
- C約3.2 GB/s
查看答案與解析
正確答案:B. 約25.6 GB/s
尖峰頻寬為傳輸次數 × 匯流排寬度,即 3,200 × 10⁶ 次/s × 8位元組 = 25.6 GB/s。名稱中的「DDR4-3200」表示傳輸次數(MT/s),而模組的規格名稱「PC4-25600」表示頻寬(MB/s)。實際上,因更新、列切換、讀寫切換會產生等待時間,有效頻寬多半約為尖峰的七到八成。
- A摩爾定律
- B矽週期
- C記憶體牆(memory wall)
查看答案與解析
正確答案:C. 記憶體牆(memory wall)
處理器的運算效能曾有一段時期以每年50%以上的速度成長,但DRAM的存取延遲自數十ns起幾乎沒有改善,使CPU得等待資料長達數百個週期。這就是記憶體牆。作為對策,正持續推進多層快取、記憶體的平行存取、預取、HBM這類高頻寬記憶體,以及在記憶體附近進行運算的記憶體內處理(processing-in-memory)等。
- A0.064 GB/s
- B0.64 GB/s
- C6.4 GB/s
查看答案與解析
正確答案:C. 6.4 GB/s
頻寬可由同時處理中的資料量除以等待時間求得(利特爾法則,Little's law)。未命中只有1個時為 64 B ÷ 100 ns = 0.64 GB/s,若能同時處理10個,則為 10 × 64 B ÷ 100 ns = 6.4 GB/s。要用盡主記憶體的頻寬,除了縮短等待時間之外,同時處理許多未命中的記憶體階層平行度(memory-level parallelism)不可或缺。0.64 GB/s仍是同時只有1個時的值,0.064 GB/s則是反過來除以10的值。
常見問題
DDR4-3200 的頻寬是多少?
3,200 MT/s × 64 位元 ÷ 8 = 25.6 GB/s。這是單一 64 位元通道(一個 DIMM)的峰值;兩個通道為 51.2 GB/s。實際可用頻寬會更低。
MT/s 與 MHz 有什麼不同?
MHz 是時脈頻率,而 MT/s 是每秒百萬次資料傳輸。DDR 記憶體在時脈的兩個邊緣都進行傳輸,因此 MT/s 是時脈頻率的兩倍。DDR4-3200 使用 1,600 MHz 時脈。
為什麼 DDR5 DIMM 分成兩個通道?
DDR5 DIMM 具有兩個獨立的 32 位元子通道(不含 ECC)。總寬度與 DDR4 同樣為 64 位元,但較小且獨立的單位可同時處理更多請求,往往能提高實際效率。一個 DDR5-6400 DIMM 的峰值為 51.2 GB/s。