VRAM

VRAM:画像処理を支える高速メモリ



VRAM(Video RAM)は、コンピュータシステムにおいて、ディスプレイへの画像表示を担うメモリです。グラフィックスメモリやビデオメモリとも呼ばれ、画像データの一時的な保管場所として機能します。CPUとGPU間のデータ転送を高速に行うため、通常のRAMよりも高速なアクセス速度が求められます。

VRAMの種類と進化



初期のVRAMは、グラフィックコントローラとCPUが同時にアクセスすることで発生する競合を避けるため、サイクルスチール方式やデュアルポートRAMが用いられていました。デュアルポートRAMは、入力と出力にそれぞれ独立したバスを持つことで、データ転送の効率を高めていましたが、コストが高いため、広く普及するには至りませんでした。サムスン電子のWRAM(Window RAM)などもこのタイプのVRAMの一種でした。

2000年代以降は、GDDR(グラフィックスダブルデータレート)規格が登場し、高速化が進みました。GDDR4、GDDR5、GDDR6など、世代ごとに性能が向上し、3Dグラフィックス描画における大量のデータ高速転送を実現しています。ゲーム用途では、依然GDDR規格が主流となっています。

さらに、HBM(High Bandwidth Memory)は、TB/秒オーダーの帯域幅を実現するメモリ規格として登場し、高性能なGPUに採用されています。HBMは高価ですが、プロフェッショナルグラフィックスやHPC(ハイパフォーマンスコンピューティング)、特にAI研究開発などで高い需要があります。一方、オフィス用途ではコストパフォーマンスに優れたDDR4やDDR5が主に使用されています。

VRAMの用途



VRAMは、レンダリングされた画像を走査表示するまでのバッファとして使用されるのが主な用途です。しかし、用途はそれだけにとどまりません。レンダリング過程で使用される頂点データ、テクスチャデータなどもVRAMに一時的に保存されます。これらのVRAM上でのデータ配置は、システムアーキテクチャによって大きく異なります。

VRAM上のデータ配置方法はいくつかあります。プレーンドアクセス方式では、カラーコードのビットごとにデータを配置し、パックドピクセル方式ではバイトごとに配置します。また、キャラクタ単位で配置する方式や、プログラマブル・キャラクタ・ジェネレータなども存在します。

テクスチャバッファ


ポリゴンテクスチャマッピングを施す際に、テクスチャデータを格納する領域がテクスチャバッファです。高精細化に伴い、テクスチャデータの大容量化が進んでいるため、現代のGPUではVRAMを節約するためにデータ圧縮機能が搭載されていることが多いです。

Zバッファ・ステンシルバッファ


Zバッファは、ポリゴンを重ね合わせる際の深度情報を格納する領域です。Zソートのような初期の方式では、ポリゴン同士が複雑に重なる場合に表示が不正確になることがありましたが、Zバッファによってピクセルごとの深度情報を管理することで、より正確な表示が可能になりました。ステンシルバッファは、マスク情報を格納し、描画領域のクリッピングなどに使用されます。

頂点バッファ・インデックスバッファ・定数バッファ


頂点バッファは、ポリゴンの頂点情報(位置、色など)を配列形式で格納します。インデックスバッファは、頂点バッファを参照するためのインデックス配列を格納します。定数バッファは、変換行列、材質情報、光源情報などの定数値を格納します。DirectXなどのAPIでは、定数バッファの制御はプログラマーが行います。

レンダーリングバッファ


レンダリングされた画像を、画面走査まで一時的に保存する領域がレンダリングバッファです。レンダリング処理と画面走査のタイミングが異なるため、このバッファが必要となります。

ラインバッファ


容量の少ないVRAMでも高度なグラフィックスを描画するために考案された方式です。走査線1本分のデータのみを保持することで、低価格なハードウェアでも高速な描画を実現していました。しかし、容量が小さいため、レンダリング処理が間に合わないと表示が欠けるという問題がありました。

フレームバッファ


画面1フレーム分のデータをまるごとバッファリングする方式です。表示欠けを防ぐために多くの機種で採用されました。ダブルバッファリング方式では、2つのフレームバッファを交互に使用することで、より滑らかな表示を実現します。

ランダムアクセスバッファ


GPGPU(汎用計算向けGPU)では、ランダムアクセス可能なバッファが必要になります。CUDA、OpenCL、DirectComputeなどのAPIでは、このようなバッファが標準化されています。

VRAMのバスアーキテクチャ



VRAMは高速性が求められるため、通常のRAMとは異なる工夫がなされています。

デュアルポートRAM


入力と出力のバスを独立させることでスループットを向上させたRAMです。高速な処理が可能ですが、回路が複雑で高価です。

UMA(ユニファイドメモリアーキテクチャ)


VRAMを専用のメモリとして持たずに、メインメモリの一部を共有する方式です。コストを抑えられる反面、描画性能は低下する可能性があります。AGPなどもこの方式の一種です。近年は、CPUとGPUでメモリマップを統合したhUMAも登場しています。

VRAMは、コンピュータグラフィックスの進化とともに、常に高速化、大容量化が進んでいます。今後も、より高性能なVRAMの登場が期待されます。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。