久保田隆成
<コンピュータにおけるパターンの識別>
(4) 画像の識別・表示機能
A GPU(Graphics Processing Unit)
パソコンメーカーのカタログ(仕様一覧)では「GPU」なる項目はなく、「GPU」は、「グラフィックアクセラレータ」という項目のなかに記載されている。このことは、「GPU」を搭載していないパソコンがあることを意味している。
そもそも「グラフィックアクセラレータ」というのは、「CPU」のグラフィック計算を担当して、「CPU」の負担を軽くするチップであり、前述した、「VGA」の出現(1987 年)を契機に、「VGA」を含め、その後のグラフィックカード上に実装され、普及してきた。このため、「VGA」との互換機能は、現在でも、すべてのグラフィックカードが保持している。
1999 年、Microsoft 社がゲーム及びマルチメディア処理用の API 群である「DirectX」 の Version 7.0 がリリースされて 、「ハードウェア T & L 」 (ハードウェアによるTransform (座標変換) & Lighting (光源計算) )がサポートされたのを契機に、3Dグラフィックス処理の多くの部分が 「GPU」 に移って行った。
現在の 「CPU」 と 「GPU」 の仕事分担:
「CPU」: ・ 描画すべき内容を生成し、そのデータを「GPU」に送る。
・ 「GPU」の動作を制御する。
「GPU]; ・ グラフィック処理を行う。
「CPU」からデータをもらった後の「GPU」の仕事の主な内容は、「3次元座標変換」、「頂点処理(vertex shader)」、「ピクセル処理」(pixel shader)、「VRAM への書込」及び「ディスプレイへの出力」である。
PC 本体にディスプレイを接続して、PCから所望の情報を表示するためには、文字情報の表示を含めて、最小限の画像(文字もディスプレイに表示された段階で「字体(フォント)」として画像である)を表示する機能が必要である。この機能を果たしているのが「グラフィックコントローラ」である。
前節で説明したように、1987 年、IBM が提供した「VGA」などもビデオ出力のための最小限の機能を持った「グラフィックコントローラ」でもあるが、1999 年に至って、Intel が 統合グラフィックチップセット「Intel 810」を発表したことによって、マザーボードの設計が大きく変わった。
「Intel 810」は、そこそこの描画機能・性能を持った同社の「i 752」を改良してノースブリッジに統合したものである。このように、「GPU」を組み込まなくても、最初から、マザーボード上に「GPU」機能が搭載されている形態は「オンボード・グラフィック」と呼ばれている。
「統合グラフィックチップセット」の性能は逐次向上しているが、単体の「GPU」の性能には遠くよばない。両者は、価格や用途によって住み分けている。
2009 年 9 月、Intel から発売されたCPU、Core i5-600 シリーズ と i3 では、従来、ノースブリッジが備えていた機能のほか、グラフィックス機能も内蔵している。これによって、基本的には「GPU」ボードを搭載しなくとも、グラフィックスのディスプレイは可能だ。ただし、より高いグラフィックスの機能性能を望むなら、単体の「GPU」ボードが必要だ。
最近の「GPU」の内部構成は、画面描画に特化したものではなく、自由度が高い演算ユニットを組み合わせた構成になっている。この高性能化した「GPU」の能力を画像処理以外の汎用的な計算処理に使おうとする技術として「GPGPU」(General Purpose computation on GPU)が脚光を浴びている。
「GPGPU」の具体的なプログラミング環境として、NVIDIA が提供している「CUDA」(Compute Unified Device Architecture) がある。「CUDA」 は、「GPU」 向けの C 言語の統合開発環境である。
グラフィックス機能の変遷を次に図示する。
図2.20 グラフィックス機能の変遷 | ||||
Intel Core 2 プロセッサー世代まで | Intel Core i (Clarkdale) 世代 | |||
⇒ | ⇒ | |||
参照:「パソコンの自作」、日経WinPC, 2010 春号 |
上図に対応する「2010 年春モデル」のカタログ仕様の一例を次に示す。
図2.21 2010 年 春モデル「CPU 及び GPU」関連カタログ仕様(例) | ||||
品 名 | CE/G50 | F/G50T | F/G900 | |
CPU | 型 名 | Intel Core i5-750 | Intel Celeron T3100 | Intel Core i5-430M (HT対応) |
動作周波数 |
2.66 GHz (max 3.20 GH) (TB対応) |
1.90 GHz | 2.26 GHz (max 2.53 GHz) (TB対応) |
|
チップセット |
I ntel HM55 Express | Intel GM45 Express | Intel HM55 Express | |
表示 機能 |
グラフィックアクセラレータ | NVIDIA GeForce GT 240 | Intel 4500MHD (チップセット内蔵) |
Intel HD Graphics (CPUに内蔵) |
ビデオメモリ | 1 GB (専用メモリ) | 最大 1,288 MB
(メインメモリと共有) |
最大 1,305 MB (メインメモリと共有) |
|
HT: Hyper Threading, TB: Turbo Boost |
「HT」:演算回路の空きを利用して、複数のプログラムの流れ(thred)を同時に処理する技術。
「TB」:CPU に発熱・電力などの余裕があるとき、動作周波数を自動的に通常より高める技術。
上表中、「グラフィックアクセラレータ」の主要な仕様を次に示す。
図2.22 「グラフィックアクセラレータ」の主要な仕様 | ||||
主 な 仕 様 | GeForce GT 240 | Intel 4500MHD | Intel HD Graphics | |
GPU エンジン | 計算コア数 | 96 | 10 | 12 |
グラフィッククロック | 550 MHz | 400 MHz | 500 MHz | |
メモリ | 標準メモリ | 512 MB or 1 GB | 512 MB | 最大1.7 GB |
帯 域 幅 | 54.4 GB/s | 12.8 GB/s | 17.0 GB/s | |
API サポート | DirectX | ver.10.1 対応 | ver.10.0 対応 | ver.10.0 対応 |
openGL | ver. 3.2 対応 | ver. 2.1 対応 | ver. 2.1 対応 |
上の表から、単体「GPU」である「GeForce GT 240」が「計算コア数」及び「メモリ帯域幅」(1秒間にメモリ間を転送可能なデータのバイト数)において他を圧倒していることがわかる。
B VRAM (Video Random Access Memory )
「GPU」は、最終的に処理結果をディスプレイに出力する前に、いったん、「VRAM」に結果を書き込む。それは、「GPU」とそれに接続されるディスプレイの特性が異なるからである。
特に、ディスプレイの場合は、ヒトの視覚特性に合わせて表示しなければならないので、「VRAM」でバッファリングした後に、「ビデオ出力回路」によってディスプレイとのインタフェースを合わせてから、「VRAM」の内容をディスプレイに転送する。
「buffering」は、データを一時的にメモリに蓄えておくことであり、転送速度などが異なる2つの装置を接続した場合、必ず、その調整役を果たす「buffer」が必要になる。
「GPU」に搭載される専用の「VRAM」の規格として「GDDR」(Graphics Double Data Rate)がある。その規格のうち主な仕様をを次に示す。
図2.23 GDDR の 仕様 | |||||
仕 様 | GDDR | GDDR2 | GDDR3 | GDDR4 | GDDR5 |
動作クロック (MHz) | 350 | 500 | 1,200 | 1,600 | 4,800 |
転送レート(Mb/s) | 700 | 1,000 | 2,400 | 3,200 | 6,000 |
最大バンド幅 (x 32 GB/s) | 2.8 | 4.0 | 9.6 | 12.8 | 24.0 |
図2.21 の「ビデオメモリ」の欄で「メインメモリと共有」と記載されているところは、グラフィックス用の専用メモリがなく、メインメモリと共有しているころを示している。この方式は「Unified Memory Architecture」(UMA) と呼ばれている。
「GDDR」は、メインメモリ用の「DDR」に比べて動作周波数が高く、その反面、発熱量が小さく設計されている。また、メモリ上の連続したデータを高速に入出力できるように動作の高速化が図られている。
コンピュータの役目は情報の処理であるが、コンピュータ内における物理的な情報の姿は、数学的に表現すれば「0」と「1」の並びの「パタン」である。実際には、「0」と「1」に対応した、数百億個にも及ぶ多数の半導体素子の「ON]と「OFF」の作る「パタン」である。
「情報の本質」が「パタン」であるからこそ、コンピュータは、他の装置と違って、寸法と重量の制約から逃れて、小型・軽量そして高性能化と発展してきたのである。
「情報の本質」から、理論的には、「寸法・重量」→「0」 であるが、実際には、ハードウェアとしての実現の可能性の問題がある。
パソコンのハードウェアの中核である CPU の性能は LSI 微細加工技術に支えられているが、その技術は、現在、極限に向かいつつある。
微細加工技術の指標として、「プロセス・ルール」(process rule)がある。「プロセス・ルール」は LSI を製造するプロセスにおける条件で、最小加工寸法をもって表す。また、この「プロセス・ルール」は、LSI の設計(デザイン)上の指標として、「デザイン・ルール」 (design rule) と呼ばれている。
「プロセス・ルール」(最小加工寸法)が小さくなると、次のことが期待できる: @ 高集積度、A 低電圧高速スイッチング(高速動作)、B 消費電力低下、C 製造歩留まりの向上、など。
次図に、Intel 「CPU」の「プロセス・ルール」と「クロック周波数」 の推移を示す。
1985 年、32 ビット CPU(i386DX/SX)が発表された時の「プロセル・ルール」は、1,500 nm〜1,000 nm (平均 1,250 nm) であった。現在(2010 年)のそれは、32 nm までに短縮されているから、この25年間に、平均で、およそ 1/40 になった。
図2.24 Intel 「CPU」 の推移 |
なお、1985 年における CPU の使用トランジスタス数は約 275,000 個、2008 年発売の 「CPU i7 」のそれは、約 4 億 100 万個であるから、「集積度」は約 1,500 倍、上昇したことになる。
また、「クロック周波数」は、「12 〜40 MHz」(平均 26 MHz) から 「2,130 〜 3,060 MHz」(平均 2,595 MHz) へと、平均で 100倍 ほど上がっている。
本節(2.4節)の次の項へ戻る:
(1)パターン認識 (2)文字の識別 (3)音声の識別 (4)画像の識別・表示機能
以下、他の節へ:
2.1 物質と情報 2.2 情報伝達メディアとセンサ 及び 2.3 感覚器官の領域拡大 ←前節に戻る
次節に続く → 2.4 識別・認識・理解(2)
他の章へ: