概要
コンピューターのディスプレイ表示用に確保されているメモリ。ビデオメモリともいう。独立したビデオカードに実装されているものと、メインメモリの一部を活用する統合メモリアーキテクチャがある。ノートパソコンなどではGPUと一緒にメインの基板に実装されていることもある。
CPUが読み書きするメインメモリに対し、GPUが直接読み書きできるメモリであることから、近年ではGPUメモリと表記することも増えてきている。GPUが人工知能などの汎用演算にも用いられている今では、こちらの呼び名の方が適切かもしれない。
機能
古典的には、ビデオコントローラ(GPU)が描画(レンダリング)中のデータを一時的に保持するレンダリングバッファとして用いられるのがVRAMの基本的な役割である。かなり昔(1980年代ごろ)のゲーム機やホビーパソコンではVRAMの容量が極端に少なかったためラインバッファといって走査線数本分の内容だけを保持する方式だったが、やがてメモリの価格が下がると一画面分の表示内容を丸ごと保持しておくことができるようになり、これはフレームバッファと呼ばれた。
また、1990年代にビデオコントローラが3DCGの描画ができるようになると、画面上のオブジェクトに貼り付けるテクスチャを格納しておくテクスチャバッファ、3Dオブジェクトの前後関係の情報を保存しておくZバッファ(ステンシルバッファ)など、レンダリング前の諸々のデータを一時保持するバッファの役割も担うようになった。
GPUはVRAM内のデータを圧縮格納してバッファを節約する機能を持っていることが多いが、のちにこの技術はメインメモリにも取り入れられている。余談だが、2000年に登場したプレイステーション2は、当時としてもVRAMの容量がきわめて少なかった(4MB)にもかかわらず、テクスチャバッファの圧縮機能を持っていないことが大きな欠点として指摘されていた。
当たり前だが、高解像度ほどバッファ容量を食うため大容量のVRAMが必要。VRAMからデータが溢れた場合はメインメモリに退避する方法も一応用意されているが、フレームレートが大幅に落ちる、描画が遅れる、あるいはまったく描画されないなどさまざまな異常が現れる。
実装形態
VRAMは、毎秒数十回あるいはそれ以上の超高速で書き換えられる画面データのバッファとして用いられる関係上、データの出し入れ速度(メモリ帯域幅)が極端に大きくなければならない。
かつてメインメモリと一緒に汎用バスにぶら下がっていたこともあったが、現在では必ずGPU(あるいはGPU内蔵のCPUやSoC)に専用バスで直接接続されるのはこのためである。ビデオカードで四角いチップがGPUを囲んで整然と並んでいたら、それはおそらくVRAMである(メイン画像のように今時のビデオカードは冷却装置で覆われているので、取り外さない限りチップは見えないと思うが)。
昔のパソコンではメインメモリのようにメモリモジュールで実装されていて、増設できるようになっていたことがあったが、今ではまずない。VRAMを増やしたければビデオカードごと買い換えるしかない。
用いられるメモリ
ビデオカード用VRAMは一般的なコンピュータ用メモリであるDDR SDRAMをベースにグラフィック向けに性能を引き上げたGDDRが主流。特に高帯域が求められるニーズにはHBMが用いられるが、個人ユーザーにはほぼ無縁のものである。
かつてはデュアルポートRAMといって、VRAM専用に入力用と出力用のインターフェースを独立させ同時に読み書きできるようにした特殊なものもあった。デュアルポートRAMは高価な割にそこまで性能が凄いというほどでもなかったので、汎用のSDRAMをベースにしたSGRAMにとって代わられてしまった。
GDDR
DDR SDRAMから派生したDRAMシリーズ。正式な規格名はGDDR SGRAMで、上記のSGRAMの発展系である。2024年現在、GDDR1からGDDR7までの仕様が策定されている。GDDR1はDDR、GDDR2とGDDR3はDDR2からそれぞれ派生し、GDDR4とGDDR5はDDR3から派生している。最大の特徴は高帯域幅で、2020年代初頭のメインメモリで主流のDDR5の帯域幅は毎秒58.12GB程度にとどまるのに対し、同時期のGDDR6の場合は、例えばNVIDIAのGeForce RTX 3060は毎秒240GB(8GB)〜360GB(12GB)もの帯域幅を実現している。
HBM
High Bandwidth Memoryの略。その名の通り徹底した高帯域幅を狙っている。メモリチップをGPUの上に直接積み重ね、TSV(Through-Silicon Vias)という貫通電極で接続するのが特徴。主にGPUサーバー向け。一応個人で購入できるビデオカード製品もあるが非常に高価である。
統合メモリアーキテクチャ
CPUのアクセスするメインメモリとGPUのアクセスするVRAMをまとめた構成をUMA (Unified Memory Architecture)という。CPUとGPUを一つのチップに混載したSoCがUMAになるのは自然であり、ゲーム機やスマートフォンなどに多く採用されている。しかし、パソコン用途ではメインメモリに大容量が求められるのに対し、VRAMは帯域幅の高さが強く求められるため、「帯に短し襷に長し」になりがちである。
UMAを採る代表的なパソコン用プロセッサーであるAMD APU(AMD Accelerated Processing Unit)は、ヘテロジニアスマルチコア的発想でCPUにGPUを統合し緊密に連携動作させるというコンセプトであるが、メモリに普通のDDR SDRAMを採用していものが多いためCPUとGPUの間で帯域の奪い合いが生じプロセッサー性能の足を引っ張ってしまう。このため、APUを使う場合はデュアルチャネル(同一規格、同一容量のメモリを2枚取り付け同時アクセスすることで帯域を2倍にする)の構成が推奨されている。ただし、スマートフォンなどのモバイル端末で広く採用されるLPDDRを搭載しているものもあり、こちらはDDR SDRAMよりも低消費電力かつ帯域幅が高い(GDDRほどではないが)ので、ノートPCなどでの採用が増えている。
これに対し、ゲーム機であるプレイステーション4 / プレイステーション5に搭載されたAPUは、UMAにグラフィック用メモリであるGDDRを採用することで、十分な帯域幅を確保している。GDDR6を搭載したPS5のメモリ帯域は毎秒448 GBの超高速を誇る。ただ、GDDRは価格が高くどうしても容量を抑えないといけない上、実装形態に制約が大きい(GPUの周辺に実装しなければならず、増設も不可能)ため、メインメモリに大容量が求められるパソコンなどでは、そのような思い切った仕様は取りにくい(それでもPS5は16GBと同時代のPCのメインメモリに匹敵する大容量のGDDR5を搭載している)。
一方で、スマートフォン(iPhone)向けから発展したSoCであるAppleシリコンは、LPDDRをSoCに直付けして高帯域幅を実現している。MacBook ProやMac Studioなどに搭載される上位モデルのメモリ帯域幅はGDDRに肩を並べるものもある。また、普通のUMAではVRAMとして使う領域を固定で確保するが、AppleシリコンはDynamic CachingといってVRAM領域を必要に応じてリアルタイムに変化させることができ、メモリの利用効率がよい。
関連項目
ビデオカード GPU メモリ DRAM パソコン ゲーム機 スマートフォン 解像度 3DCG コンピュータゲーム PCゲーム