2026年11月15日(日) 記事を探す決算カレンダー広告掲載このサイトについて
トップ › 仕組み
仕組み

オンチップメモリとは チップの中に作るメモリの階層、H100はレジスタだけで約33MB

オンチップメモリは、計算の回路と同じチップの中に作るメモリです。エヌビディアのH100は、計算の単位ごとに256KBのレジスタと256KBのL1・共有メモリを持ち、全体で50MBのL2キャッシュを持ちます。

ポイント
  • オンチップメモリは、計算の回路と同じチップの中にあるメモリです。外付けのHBMより小さく、ずっと速く読めます。
  • GPUでは、計算に近い順に、レジスタ、共有メモリとL1キャッシュ、L2キャッシュと並びます。
  • H100は132個の計算の単位(SM)それぞれに256KBのレジスタを持ち、合計は約33MBです(計算)。
  • H100は、近くの単位どうしでチップ内のメモリを直接読み合う仕組みを入れ、外付けのメモリを通すより約7倍速くしました。

半導体のメモリは、チップの外にあるもの(オフチップ)と中にあるもの(オンチップ)に分かれます。GPUの外付けのHBMは数十〜数百GBと大きい一方、計算の回路からは遠く、読み出しに時間がかかります。オンチップメモリは、計算の回路と同じシリコンの上に作るため速く、その分小さくなります。中身はふつうSRAMの回路です。

GPUの中の4つの層

GPUの計算は、SMと呼ぶ単位で行います。H100は132個のSMを持ちます。それぞれのSMの中にも、外にも、メモリが層になって並んでいます。

H100(SXM5)のメモリの階層(エヌビディアの技術解説から)
層場所容量役割
レジスタSMの中SMごとに256KB計算中の値を置く。最も速い
L1キャッシュ・共有メモリSMの中SMごとに256KB(共有は最大228KB)同じ組の処理で値を分け合う
L2キャッシュチップ全体50MB全SMで使う
HBM3(オフチップ)チップの外80GBモデルの重みやデータの本体

レジスタの合計は256KB×132で約33MB、L1・共有メモリの合計も約33MBです(いずれも計算)。L2の50MBと合わせると、チップの中のメモリは100MBを超えます。それでもHBMの80GBの1,000分の1ほどです。

「共有メモリ」は、プログラムが自分で出し入れを決められる領域です。キャッシュは半導体が自動で中身を決めますが、共有メモリはプログラマーが「この行列の一部をここに置く」と指定します。行列の掛け算の部品は、HBMから小さな区画を共有メモリに運び、そこで何度も使い回して速くしています。

運び方の工夫

H100では、チップの中のメモリをうまく使うための回路が2つ加わりました。

1つは「テンソル・メモリ・アクセラレータ(TMA)」です。外付けのメモリと共有メモリの間で、大きなデータの塊をまとめて運ぶ専用の回路です。計算の回路が、運ぶ手順に手を取られずに済みます。

もう1つは「分散共有メモリ」です。近くのSMどうしが、互いの共有メモリを直接読み書きできます。エヌビディアによると、外付けのメモリを通してやりとりする場合より約7倍速くなります。

次のBlackwell世代では、行列の計算の結果を置く専用の「テンソル・メモリ」が加わりました。PyTorchの開発陣は2026年11月の技術解説で、B200向けの計算部品の設定を決める際に、レジスタ、共有メモリ、テンソル・メモリの3つの使用量を見積もっていると説明しています。どれか1つでも足りなくなると、1つのSMで同時に動かせる処理の数が減ります。

関連する用語

  • SM(ストリーミング・マルチプロセッサ):エヌビディアのGPUの計算の単位。
  • SRAM:オンチップメモリの中身に使う回路。
  • HBM:GPUの外に置く、帯域の広いメモリ。
  • キャッシュ:半導体が自動で中身を決める速いメモリ。

H100はTSMCの4N工程で作られ、トランジスタは800億個です。

この記事は公開資料をもとに作成しています。売買をすすめるものではありません。誤りを見つけたら訂正します(編集方針)。

関連する記事