“共有するシェーダ”でGPUの新しい時代を──G80の革新性に迫る(1/3 ページ)

» 2006年11月14日 19時00分 公開
[笠原一輝,ITmedia]

新しい「共有するシェーダ」の仕組みを採用

 GeForce 8800シリーズの最大の特徴は「ユニファイドシェーダ」と呼ばれる新しいアーキテクチャを採用していることだ。統合型シェーダという言葉で定着しているこの方式のキーワード「Unified」(ユニファイド)は、日本語で「共有されている」という意味も持つ。そのため、共有シェーダと呼ばれることもある。

 なぜ、「共有」なのかを説明するためには、これまでGPU構造の変遷を理解する必要がある。画面1は一般的に3D描画が行われるまでにどのような処理が行われているのかを簡易的に示したものだ。まず、「頂点処理」(Vertex)と呼ばれる物体の頂点の位置が演算され、次いで「三角形処理」(Triangle)と呼ばれる三角形の位置計算が行われる。3Dはポリゴンと呼ばれる三角形の集合体として描かれているからだ。それから、「画素処理」(Pixel)と呼ばれる三角形に模様をつけたりする処理が行われ、「ラスタ処理」(ROP)と呼ばれる物体が重なっている部分の処理や境界部分をスムーズに表示させる処理などが行われ、その後、データがメモリに送られて実際に画面を描画する。

 現在のGPUでは、これらの処理をそれぞれ専用の演算ユニットを割り当てて行われている。例えば、頂点処理は「バーテックスシェーダエンジン」と呼ばれる演算ユニットを利用しているし、画素処理は「ピクセルシェーダエンジン」と呼ばれる演算ユニットを利用して行われている。

 しかし、頂点処理、画素処理の割合は、アプリケーションにより異なっており、例えば、頂点処理の割合が非常に大きなアプリケーションの場合、バーテックスシェーダエンジンはフルに使われているのに、ピクセルシェーダエンジンはあまり使われていないという事態が発生することがある(またはその逆も起こりうる)。こうなると、せっかく多数実装されている演算ユニットを遊ばせていることになる。これでは高価なGPUの性能がフルに発揮されていないことになる。

 GeForce 8800シリーズでは、頂点処理と画素処理に専用の演算ユニットを用意するのではなく、どちらにも利用できるハードウェアを採用することにした。あるアプリケーションで頂点処理と画素処理の割合が2対8である場合、どちらにも対応できる「共有」演算ユニットをその割合でそれぞれの処理に割り当てて利用することになる。これにより、搭載している演算ユニットを常に利用されている状態を作り出すことで、GPUの有効活用が可能になる。このようにハードウェア(ここでは、とくにシェーダユニットが関係する)を共有する(Unified)する仕組みになっているので、「ユニファイドシェーダ」と呼ばれているのだ。

従来の一般的な3D処理の仕組みでは、このように段階を経て処理が行われる
従来型GPUでは専用のシェーダユニットでそれぞれ処理を行っていたが(左)、ユニファイドシェーダでは処理するシェーダの割合によって動的に構成を割り当てられる

従来のGPUではシェーダエンジンの演算ユニットがフルに利用されていないことがある
ユニファイドシェーダではシェーダのハードウェアを有効に活用できる

Direct X 10の新しい仕組みを引き出すユニファイドシェーダ

 NVIDIAがこうした仕様を採用した1つの背景には、まもなくマイクロソフトがリリースを予定しているWindows Vistaで組み込まれる予定のDirect X 10にも関係がある。マイクロソフトは新しいDirect X 10で、新しいプログラミングモデルである「シェーダモデル4.0」(SM 4.0)と「ジオメトリシェーダ」と呼ばれる仕組みを導入する。SM 4.0では、統合(もしくは共有といってもいい)シェーダに対応した命令セットの追加が最大の特徴であるほか、シェーダを利用して整数演算ができるようになるなど、いくつかの新しい機能を備えている。これら新しい機能を実装したDirect X 10を十分に活用するためには、新世代のユニファイドシェーダアーキテクチャを採用することが最適解となる。ちなみに、こうした動きはNVIDIAだけでなく、ライバルのATI Technologies(今やAMDの一事業部であるが)も次世代GPUでは同じようにユニファイドシェーダを採用すると見られている。

 Direct X 10で採用されるジオメトリシェーダと呼ばれる新しい仕組みの特徴は、バーテックスシェーダによる頂点処理のあとに3D描画の最小単位となる三角形のポリゴン単位でまとめて多様な処理を行えることだ。これによって、一度演算が終わっているポリゴンをまとめて回転させたりできるようになる。これは、とくに影や肌、髪の毛の表現などに効果を発揮すると言われている。

 これらの処理は従来CPUで行われていたが、ジオメトリシェーダを使うことでGPUが行うことになる。、CPUに余裕ができるので、「CPUがボトルネックでゲームベンチの結果が上がらない!」という問題を解消できる。GeForce 8800シリーズはユニファイドシェーダという仕組みを採用しているので、ここでも、とくに専用のジオメトリシェーダエンジンをもうけることなく、ユニファイドシェーダの仕組みの中で手軽にジオメトリシェーダの処理が可能になっている。

 なお、ユニファイドシェーダの形になっていても、既存のシェーダモデル 1.x(DirectX 8.xで実装)、シェーダモデル 2.x(Direct X 9.0で実装)、シェーダモデル 3.x(Direct X 9.0cで実装)に対応したソフトウェアもそのまま実行できる。これは、GPU内部でユニファイドシェーダのハードウェアを仮想的に割り当てることができるためだ。ちなみに、Direct X 8以前のDirect X 7やDirect X 6に対応したアプリケーションも動作できる。

Direct X 10の仕組み。Direct X 9までに比べて新しくジオメトリシェーダのエンジンが追加された
シェーダモデル4.0では命令セットが増えたり、共有シェーダの命令を実行することが可能になっている

ジオメトリシェーダの解説。一度頂点処理が行われたあとでも、ポリゴンを移動できるので、影や肌の表現がより容易になる
例えば影の処理などはこれまで3つのプロセスがCPUで行っていたのに対して、Direct X 10ではGPU側に処理が移動している

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

アクセストップ10

2026年05月10日 更新
  1. 画面を持たない約12gの超軽量ウェルネストラッカー「Google Fitbit Air」 1万6800円で5月26日に発売 (2026年05月07日)
  2. USB Type-Cの映像出力をワイヤレスでHDMI入力できる「エレコム ワイヤレス HDMI 送受信機セット DH-CW4K110EBK」がセールで1万2580円に (2026年05月08日)
  3. NAS向け低容量HDD枯渇に「Core Ultra 200S Plus」品薄も――大型連休明けのストレージとメモリ最新動向 (2026年05月09日)
  4. まるで工芸品な3kg超のアルミ塊! 官能的すぎる“磁気×メカニカル”なキーボード「Lofree Hyzen」を試す (2026年05月07日)
  5. VAIO事業が絶好調のノジマ、第4四半期の出荷台数は過去最高に 「AI PC」需要で次期も成長を見込む (2026年05月07日)
  6. 「SwitchBot スマートサーキュレーター(スタンド型)」を試す インテリアになじむ木目調、扇風機の代わりはなる? (2026年05月08日)
  7. Microsoftが4月度のWindows非セキュリティプレビューパッチを公開/PCI-SIGが次世代規格「PCI Express 8.0」のドラフト版を公開 (2026年05月10日)
  8. 16型で約1.2kg、USキーボード搭載! こだわり派のあなたに適した「LG gram Pro 16」が33%オフの19万9800円に (2026年05月08日)
  9. Microsoftが描く「定額+従量課金」のAI新時代と、無制限の“エッジAI”へと向かうWindowsのゆくえ (2026年05月08日)
  10. モジュール型ミニPC「Khadas Mind」をSurface風に変貌させる拡張ディスプレイ「Mind xPlay」レビュー (2026年05月06日)
最新トピックスPR

過去記事カレンダー

2026年