メモリ帯域幅の計算

1ピンあたりの転送レート、データバスの幅、DIMMやチップ、スタックの数を入れると、メモリのピーク帯域を計算します。実効効率を入れれば、実際に使える帯域のおおよその目安も分かります。代表的な規格はプリセットから選べます。

条件

結果

ピーク帯域
–
実効帯域の目安
–
1ピンあたりの速度
–
1 nsあたりに運べるバイト数
–

代表的な規格の比較(1単位あたり)

規格(単位)MT/sバス幅 (ビット)ピーク帯域

DDR4・DDR5はDIMM 1枚、LPDDR5Xは64ビット分、GDDR6はチップ1個、HBM3はスタック1個あたりのピーク値です。転送レートは各規格の代表的な速度で、より速い品種や遅い品種もあります。

帯域の式の意味

メモリのピーク帯域は、1本のデータピンが1秒間に送れるデータの回数(転送レート)にピンの本数(バス幅)を掛け、8で割ってバイトに直したものです。DDR(ダブルデータレート)のメモリはクロックの立ち上がりと立ち下がりの両方でデータを送るため、転送レートはクロック周波数の2倍になります。例えば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を取り違えると、帯域を半分や2倍に見誤ります。

ピーク帯域と実効帯域

ピーク帯域は、データが途切れずに流れ続けたときの理論上の上限です。実際のDRAMでは、記憶を保つためのリフレッシュ、同じバンクの別の行にアクセスするときの行の切り替え(バンク衝突)、読み出しと書き込みを切り替えるときの待ち時間(ターンアラウンド)などで、データを送れない時間ができます。そのため持続して得られる帯域はピークより低くなります。アクセスのパターンで大きく変わりますが、おおよそピークの60〜90%程度が目安で、連続したアドレスの読み出しでは高く、ランダムなアクセスや読み書きが混ざる場合は低くなります。

広く遅いか、狭く速いか

同じ帯域は、ピンを増やすか、1ピンの速度を上げるかで得られます。GDDR6はチップあたり32ビットの狭いバスを1ピン16 Gb/sという高速で動かし、1チップで64 GB/sを出します。一方HBM3は、DRAMのダイを積み重ねたスタックを1,024ビットという非常に広いバスでつなぎ、1ピンは6.4 Gb/sと控えめでも、1スタックで約819 GB/sに達します。HBMは配線が短く、1ビットを送るエネルギーが小さい反面、シリコンインターポーザなどの高価な実装が必要です。GDDRは通常の基板に実装できますが、高速な信号を扱うため、配線や電力の設計が難しくなります。

メモリの壁とルーフライン

プロセッサの演算性能の伸びに、メモリの帯域や遅延の改善が追いつかない問題はメモリの壁と呼ばれます。読み書きするデータ量に対して演算が少ないプログラムでは、演算器がデータを待って遊んでしまい、性能は帯域で決まります。これを表すのがルーフラインモデルで、到達できる性能は「ピーク演算性能」と「帯域 × 演算強度(1バイトあたりの演算回数)」の小さいほうになります。例えば帯域100 GB/sで演算強度が1バイトあたり1回なら、性能は最大でも毎秒1,000億回の演算です。キャッシュでデータを再利用して演算強度を上げることが、帯域の制約を和らげる基本です。

DRAMの問題を解く

データ転送速度3,200 MT/s、データバス幅64ビットのDDR4メモリ1チャネルのピーク帯域に最も近いものはどれか。

  1. A約204.8 GB/s
  2. B約25.6 GB/s
  3. 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)を表しています。実際にはリフレッシュや行の切り替え、読み書きの切り替えで待ち時間が生じるため、実効帯域はピークの7〜8割程度になることが多いです。

プロセッサの性能向上に比べて、メモリの帯域や遅延の改善が追いつかないことによって生じる性能の制約を何と呼ぶか。

  1. Aムーアの法則
  2. Bシリコンサイクル
  3. Cメモリウォール
答えと解説を見る

正解:C. メモリウォール

プロセッサの演算性能は年率50%以上で伸びた時期がありましたが、DRAMのアクセス遅延は数十nsからほとんど改善しておらず、CPUが数百サイクルもデータを待つことになりました。これがメモリウォールです。対策として、多段のキャッシュ、メモリの並列アクセス、プリフェッチ、HBMのような広帯域メモリ、演算をメモリの近くで行うプロセッシング・イン・メモリなどが進められています。

1回のミスで64バイトのラインを読み、主記憶の待ち時間が100 nsのとき、同時に処理できるミスが1つだけなら読み出しの帯域は約0.64 GB/sにとどまる。同時に10個のミスを処理できれば、帯域はおよそいくらになるか。(ほかの制約はないものとする)

  1. A0.064 GB/s
  2. B0.64 GB/s
  3. C6.4 GB/s
答えと解説を見る

正解:C. 6.4 GB/s

帯域は、同時に処理中のデータ量を待ち時間で割って求められます(リトルの法則)。ミスが1つなら 64 B ÷ 100 ns = 0.64 GB/sで、同時に10個処理できれば 10 × 64 B ÷ 100 ns = 6.4 GB/sになります。主記憶の帯域を使いきるには、待ち時間を短くするだけでなく、多くのミスを同時に処理するメモリレベル並列性が欠かせません。0.64 GB/sは同時に1つの場合の値のままで、0.064 GB/sは逆に10で割った値です。

よくある質問

DDR4-3200の帯域はいくつですか?

3,200 MT/s × 64ビット ÷ 8 = 25.6 GB/s です。これは64ビット幅の1チャネル(DIMM 1枚)のピーク値で、2チャネルなら51.2 GB/sになります。実際に使える帯域はこれより低くなります。

MT/sとMHzの違いは何ですか?

MHzはクロックの周波数、MT/sは1秒間のデータ転送の回数(百万回単位)です。DDRのメモリはクロックの立ち上がりと立ち下がりの両方で転送するため、MT/sはクロック周波数の2倍になります。DDR4-3200のクロックは1,600 MHzです。

DDR5のDIMMが2つのチャネルに分かれているのはなぜですか?

DDR5のDIMMは、32ビット幅(ECCなしの場合)の独立したサブチャネル2つでできています。合計の幅はDDR4と同じ64ビットですが、小さな単位で別々にアクセスできるため、同時に処理できる要求が増え、実効的な効率を上げやすくなります。DDR5-6400のDIMM 1枚のピーク帯域は51.2 GB/sです。

関連する用語

DDR SDRAM LPDDR HBM

半導体の計算ツール

ダイ数・歩留まり計算ツールウエハ径・チップサイズ・欠陥密度から、ダイ数・歩留まり・良品1個のコストを計算露光の解像度・焦点深度の計算波長・NA・k1から、解像できる線幅と焦点深度、必要なパターン分割の回数を計算セットアップ・ホールドのタイミング計算クロック周期と遅延から、セットアップ・ホールドの余裕(スラック)と最大周波数を計算MOSFETの電流-電圧特性(ID–VDS)しきい値電圧やW/Lを変えて、ID–VDS特性と動作点(領域・ID・gm・ro)を確かめる問題セットを作る分野と問題数を選ぶだけで、授業や研修で配れるクイズのURLを発行接合温度(Tj)と熱抵抗の計算消費電力と熱抵抗から、チップの接合温度、最大接合温度までの余裕、使える最大電力を計算ADコンバータのSN比と有効ビット数(ENOB)分解能、クロックジッタ、オーバーサンプリングから、ADコンバータのSN比と有効ビット数を計算アムダールの法則と並列化の速度向上並列化できる割合とプロセッサ数から、アムダールの法則とグスタフソンの法則で速度向上率と並列効率を計算キャッシュのアドレス分割と平均メモリアクセス時間容量・ラインサイズ・連想度から、タグ・インデックス・オフセットのビット数と平均メモリアクセス時間を計算CMOS回路の消費電力(動的電力と静的電力)活動率・容量・電圧・周波数とリーク電流から、動的電力と静的電力、DVFSで電圧と周波数を下げたときの電力を計算PN接合の内蔵電位と空乏層幅不純物濃度と逆バイアス電圧から、PN接合の内蔵電位、空乏層幅、最大電界、接合容量を計算熱酸化の膜厚(Deal-Groveモデル)温度・時間・ドライ/ウェット・面方位から、Deal-Groveモデルでシリコン酸化膜の厚さと消費されるシリコンを計算LSIの配線のRC遅延配線の金属・幅・厚さ・間隔・比誘電率・長さから、配線の抵抗と容量、分布RC線路の遅延とドライバを含めた遅延を計算位相雑音からRMSジッタへの換算位相雑音のプロファイル(dBc/Hz)を積分して、クロックのRMS位相誤差とRMSジッタを計算PDNの目標インピーダンスとデカップリングコンデンサ電源電圧・許容リップル・電流の変化から目標インピーダンスを求め、デカップリングコンデンサの自己共振周波数と効く周波数範囲を計算