【ユニファイドメモリ】

ユニファイドメモリ とは?

公開:
💡 「みんなで1つの机を使う」メモリの設計

CPUとGPUなどの異なるプロセッサが、同じメモリ領域を共有して読み書きできるようにする仕組み。データを別々のメモリへコピーし直す手間を減らせる。

📌 このページのポイント
メモリを分けるか、共有するか 別々のメモリ CPU GPU コピー メインメモリ VRAM データの受け渡しが必要 ユニファイドメモリ CPU GPU 同じメモリ領域を共有 コピーの往復を減らせる
ユニファイドメモリはCPUとGPUが同じ領域を読み書きする設計
ひよこ ひよこ
ユニファイドメモリって、普通のメモリとは別の部品なの?
ペンギン先生 ペンギン先生
部品の名前というより「使い方の設計」を指す言葉だよ。ふつうの構成だと、CPUが使うメインメモリと、グラフィックボードが使うVRAMが別々にあるんだ。ユニファイドメモリは、その2つを分けずに同じ領域をCPUとGPUの両方が読み書きできるようにする考え方なんだよ。
ひよこ ひよこ
分かれてると何が困るの?
ペンギン先生 ペンギン先生
受け渡しに手間がかかるんだ。CPU側で用意したデータをGPUに計算させたいとき、GPU側のメモリへコピーしてから渡す必要があるからね。データが大きいほどこのコピーに時間がかかるんだ。同じ領域を共有していれば、その往復を減らせるというのが利点だよ。
ひよこ ひよこ
Macで聞いたことがある気がする。
ペンギン先生 ペンギン先生
Apple siliconはその代表だね。CPUやGPUと同じパッケージにメモリを載せる作りで、物理的に1つのメモリを共有しているんだ。たとえばAppleは2026年9月22日発売のM6搭載Mac miniについて、ユニファイドメモリ16〜32GB、メモリ帯域幅は最大170GB/sと発表しているよ。
ひよこ ひよこ
じゃあユニファイドメモリって、いつもチップが1つってこと?
ペンギン先生 ペンギン先生
そこは分けて覚えておくといいよ。NVIDIAのCUDAにも「Unified Memory」という機能があるけれど、こちらはCPU側とGPU側に別々の物理メモリがある状態で、プログラムからは1つの領域に見えるようにする仕組みなんだ。中身は必要に応じて使う側のメモリへ移動する、とドキュメントに書かれているよ。
ひよこ ひよこ
名前は同じなのに中身が違うんだ…!
ペンギン先生 ペンギン先生
そう、「1つに見える」という結果は同じでも、物理的に1つなのか、裏で移動させて1つに見せているのかが違うんだ。だから記事で見かけたときは、ハードウェアの話かプログラミングの話かを確かめるといいよ。ちなみに共有すれば必ず速いわけでもなくて、CPUとGPUが同じメモリ帯域を取り合う分、混み合えば遅くなることもあるんだ。
もっと詳しく知りたい人へ

ハードウェア方式とソフトウェア方式は何が違うの?

Apple siliconのように1つのチップにCPU・GPU・メモリをまとめた構成では、そもそも物理メモリが1つなので、共有そのものがハードウェアの作りです。一方、CUDAのUnified Memoryは、CPU側とGPU側に別々の物理メモリがある前提で、プログラムからは1つの領域に見えるようにし、必要に応じて中身を移動させる仕組みです。どちらも「1つに見える」点は同じですが、裏で移動が起きるかどうかが違います。

共有すれば必ず速くなるの?

必ずではありません。コピーが減る効果は大きいものの、CPUとGPUが同じメモリ帯域を取り合うため、両方が同時に大量のデータを読み書きすると帯域が不足することがあります。実際の性能は、メモリ帯域幅・容量・処理の内容によって変わります。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ユニファイドメモリ」って出てきたら「CPUとGPUが同じメモリを使う仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Unified Memory」 = 統合されたメモリ
💬 Unify(統合する)から来た言葉で、バラバラだったメモリを1つにまとめる、というイメージなんだ

参考資料

← 用語集にもどる