グラフィックス アドレス リマッピング テーブル( GART ) [ 1 ]は、グラフィックス アパーチャ リマッピング テーブル[ 2 ]またはグラフィックス トランスレーション テーブル( GTT ) [ 3 ]とも呼ばれ、アクセラレーテッド グラフィックス ポート(AGP) およびPCI Express (PCIe)グラフィックス カードで使用されるI/O メモリ管理ユニット(IOMMU)です。GART により、グラフィックス カードはホスト システム メモリに直接メモリ アクセス(DMA) することができ、これによりテクスチャ、ポリゴン メッシュ、その他のデータのバッファがロードされます。AMDは後に、ディスク コントローラやネットワーク アダプタなどの他の周辺機器でI/O 仮想化に同じメカニズムを再利用しました。[ 4 ]
GARTは、メインメモリとビデオメモリ間のデータ交換手段として使用され、テクスチャ、ポリゴンメッシュ、その他のデータのバッファ(ページング/スワッピングなど)がロードされますが、Intel HD Graphicsプロセッサなど、統合グラフィックスまたは共有グラフィックスのみを搭載したシステム(つまり、ディスクリートグラフィックスプロセッサや内蔵グラフィックスプロセッサがないシステム)で使用可能なビデオメモリの量を拡張するためにも使用できます。ただし、このタイプのメモリ(拡張)再マッピングには、システム全体に影響を与える注意点があります。具体的には、GARTで事前割り当てられたメモリはプール化され、グラフィックスメモリとディスプレイレンダリング以外の目的で使用できなくなります。
PCI Express以降、GARTはGTT(Graphics Translation Table)に拡張され、システムメモリとグラフィックスカード間のバッファまたはキャッシュとして機能し、PCI ExpressではGTTバッファサイズはGPUドライバによって変更可能になった。[ 5 ]
AGP GARTのサポートはWindows 95 OSR2以降で追加されました。その後、GTTのサポートはWindows XP SP2およびWindows Vista以降で追加されました。
ジェフ・ハートマンは、ブライアン・ポールのユタGLXアクセラレーテッドMesa 3Dドライバプロジェクトの一部として始まったLinuxカーネルのagpgartドライバの主要メンテナーを務めた。開発者は主にLinux 2.4.xカーネルを対象としていたが、古い2.2.xカーネルに対するパッチも提供した。デイブ・ジョーンズは、ジェフ・ハートマンの貢献もあって、Linux 2.6.xカーネル向けにagpgartを大幅に改良した。[ 6 ]
AGPgart のサポートは、Solaris Express Developer Editionの 7/05 リリースから導入されました。[ 8 ]