グラフィックコントローラ

グラフィックコントローラ (Graphics Controller) とは、パーソナルコンピュータやワークステーション等のコンピュータシステムにおける、画像表示を担当する集積回路の総称。
実現する機能によってCRTC (CRT Controller) やVDP (Video Display Processor) 、グラフィックアクセラレータ、GPU（Graphics Processing Unit）など複数の種類が存在する。
概要.
もともとは、文字表示のみを行えるコントローラ（キャラクタディスプレイコントローラ）の機能を拡張し、1ドット単位で表示を行えるようにしたものを指す。
表示する内容をVRAM内に保持し、CPUからのVRAMアクセスと調停を行いながらVRAMを定期的に読み込み、映像信号を生成する。
出力する映像信号は、アナログRGBやコンポジット映像信号 (NTSC) など、用途に応じた形式をとる。
歴史.
1970年代〜1980年代.
当時のチップは非常に限定的なスプライトのBitBLTや、形状（多角形、矩形など）の描画を支援するにすぎなかった。なかには、いくつかの命令をディスプレイリストとしてまとめて実行したり、DMA転送を用いることでメインCPUの負荷を減らしたりするものもあった。専用のグラフィックコントローラを用いず、汎用CPUをグラフィック処理専用に割り当てたグラフィックサブシステムを充てるコンピュータも存在した。汎用的なグラフィックス・コプロセッサは古くから開発されてきたが、当時の技術的な制約から安価な製品では機能や性能に乏しく、また高機能なものは回路の規模が増大し非常に高価なものとならざるを得ず、結果的にパーソナルコンピュータ市場においては普及には至らなかった。
当時のパソコンに搭載されたグラフィックコントローラとして有名なものに、MSXに搭載されたVDPがある。低価格汎用設計であり、低解像度での表示に特化したものであるが、スプライトやハードウェアスクロール等のハードウェアアクセラレーション機能を有していた。MSXが同一規格、低価格での普及を目指していたことから、相当数（1990年代に400万台出荷、出荷を記念してMSX関連雑誌で特集が組まれた）が売られた。
初期のMacintoshは、当時としては高度なGUIを搭載していたにもかかわらず、一切のビデオアクセラレーション機能を搭載していなかった。Macintoshの描画機能はQuickDrawというグラフィックエンジンをCPUで実行することにより実現されていたが、1987年に登場したMacintosh IIでQuickDrawアクセラレータをサポートし、システムに複数のグラフィックカードを導入することにより、マルチモニターが利用できるようになった。
1981年に発表された日本電気 (NEC) のGDC (Graphics Display Controller) μPD7220は、直線や円弧、多角形の描画とその塗り潰し機能（現在で言うポリゴンの描画・フィル機能）を搭載した、画期的なプロセッサであった。μPD7220はその後同社のPC-9800シリーズに搭載され、PC-9800シリーズは1980年代半ばから約10年間にわたり、国内市場をほぼ独占する。当時のゲーム用途にはスプライト機能が有利とされていたが、PC-9800シリーズのグラフィック・コントローラはスプライト機能を持っておらず、同時期のホビーユースパソコンの一部 (X68000、MSX、 FM TOWNS) はスプライト機能や同時発色数については当時のPC-9800シリーズや、後継の上位機PC-9821シリーズをはるかに凌駕していた。ただし、これらのゲーム用パソコンが採用したグラフィックサブシステムは図形やウィンドウの描画アクセラレーションに類する機能は搭載しておらず、ゲームにのみ特化した処理にシリコンの多くを割いていた点で性質を異にする。
1980年代から1990年代前半にかけてはBit Block Transfer (BitBlt) をサポートするチップと、描画を高速化するチップは別々のチップとして実装されていたが、チップ処理技術が進化するとともに安価になり、VGAカードをはじめとするグラフィックカード上に実装され、普及していった。AmigaはビデオハードウエアにBlitterを搭載した最初のコンシューマ向けコンピュータで、1987年のVGA発表とともにリリースされたIBMの8514グラフィックスシステムは2Dの基本的な描画機能をサポートした最初のPC用グラフィックアクセラレータとなった。
2000年代.
2000年代以降では、上記2D描画機能に加え、より高度な3D描画に特化したジオメトリエンジンをハードウェアとして搭載した製品が登場した。これらの製品はGPU（Graphics Processing Unit）と呼ばれる。