後藤弘茂のWeekly海外ニュース

DirectX 9対応GPUがまだ登場できない理由


●なぜDirectX 9対応GPUがまだ登場できないのか

 DirectX 9の最先端フィーチャを盛り込んだMatrox Graphicsの次世代グラフィックスチップ(GPU)「Parhelia(パフィリア)」。このGPUは、ジオメトリ部分はほとんどDirectX 9世代で、Pixel ShaderだけがDirectX 8世代(Pixel Shader 1.3)となっている。しかし、ここまでDirectX 9の要素を注ぎ込むのなら、なぜMatroxはParheliaをフルDirectX 9ハードにしなかったのだろう。

 実は、ParheliaがフルDirectX 9でないのには、DirectX 9がまだリリースされていないこと以外にも合理的な理由がある。それは(1)プロセス技術と(2)ソフトウェア側のDirectX 9サポートの時期だ。

 まず、プロセス技術を見ると、今年前半に発表する最先端GPUでは、誰もフルDirectX 9サポートのGPUを作ることができない。その理由は、最先端GPU向けに利用できる、ファウンダリ側のプロセス技術が、今のところ0.15μmプロセス止まりだからだ。

 現在のDirectX 8世代GPUのほとんどは4,000~6,500万程度のトランジスタを搭載しており、0.15μmプロセスで製造されている。しかし、フルDirectX 9サポートGPUになると「0.13μm以降の製造プロセスでないと製造は無理」(SiS、Thomas Tsuiディレクタ:Multimedia Product Division)という。それは、必要なトランジスタ数がDirectX 8世代より倍増してしまうからだという。その分ダイサイズ(半導体本体の面積)が増えるため、製造はさらに難しくなる。

 例えば、ハーフDirectX 9世代であるParheliaは、8,000万トランジスタを搭載する。8,000万はもちろんGPU中最大であり、それを0.15μmプロセスに載せるとなると、ダイサイズは非常に大きくなる。ダイサイズはデザインにも左右されるが、どう見積もっても200平方mmを大きく超えると思われる。ちなみに、MatroxはParheliaでは従来のNECではなく、台湾ファウンダリUMCに製造を委託する。


●0.13μmでは今年後半までは大型チップは製造が難しい

 半導体チップの歩留まりは、ウェハ上のディフェクト(欠陥)密度(Defect Density)×単位面積当たりのダイ(半導体本体)数で左右される。そのため、同じラインで製造しても、ダイサイズの大きなチップの方がずっと歩留まりが悪くなる。それにログイールドとDACのような特殊な回路の歩留まり、そしてスピードビン(ターゲットクロックで動作するかどうか)も考慮すると歩留まりは相当にきついはずだ。つまり、Parheliaはそれだけ高コストなチップとなってしまうわけで、経済的にはほぼ限界と考えていいだろう。

 でも、CPUはもう0.13μmの製品が登場している。なのになぜGPUはだめなのか。それはGPUの方がダイサイズが大きく複雑だからだ。プロセスは立ち上がり時期には、ディフェクト密度が高く、徐々にラーニングカーブ(学習曲線)が下がってゆく。そのため、十分にディフェクト密度が下がらないうちは、大きなチップは経済的に製造しにくい。

 ファウンダリで製造しているCPU、CrusoeやC3などはダイが50~90平方mm程度なので、プロセス技術が成熟していなくても製造できる。しかも、冗長化できるキャッシュSRAMもかなりの面積を占めている。ところが、最先端GPUは200平方mm以上のサイズで、そのほとんどがロジックだ。そうした巨大チップを製造しようとすると、最新プロセスではガクっと歩留まりが悪化してしまう。そのため、0.13μmプロセスの場合は、成熟してディフェクト密度が下がる今年後半にならないと、フルDirectX 9世代のGPUのような巨大なチップは製造できない。

 こうした制約があるため、現在はまだ物理的にDirectX 9世代のGPUは作れない状態にある。逆を言えば、0.13μmに移行した段階で、各社とも一斉にDirectX 9世代へ持って行く可能性が高い。


●Pixel Shaderよりシリコンコストの低いVertex Shader

 それでも、DirectX 9のフィーチャのうち、Vertex Shader 2.0はまだインプリメントがしやすいと思われる。例えば、NVIDIAのDavid B. Kirk(デビッド・B・カーク)氏(Chief Scientist)は「Pixel Shaderは膨大なシリコン面積を消費する。Vertex Shaderよりずっと面積は大きい」と証言する。

 実際、Vertex Shaderの正体は実際には単精度浮動小数点SIMD演算ユニットで、128bit幅で4データのSIMD演算ができる。つまり、Pentium 4で言えば、ほぼSSE2ユニットに当たる。SSE2ユニットも決して小さくはないのだが、CPUのように膨大なスケジューリングユニットを持たないですむGPUでは、演算ユニットにダイ(半導体本体)を割くことができる。それから、Vertex Shaderは従来の1.1から2.0への拡張されても、もっとも面積を食う積和演算ユニット自体はそれほど影響は受けない(と思われる)ので、極端にはトランジスタは増えないと予想される。実際、Parheliaでは、Vertex Shaderを4個搭載している。

 もっとも、Vertex Shader 2.0では分岐命令やサブルーチン命令が入ってしまうため、命令フローはこれまでのような単純なストリームではなくなる。そのため、Parheliaでは何らかの命令スケジューリング機能も搭載しているはずだ。つまり、新たな機能ユニットが必要となるはずだ。しかし、それでもCPUと比べれば、スケジューリングもずっと単純だろう。

 ところが、それに対してPixel Shader 2.0は簡単に搭載ができないという。Pixel Shaderがもともと大きいだけでなく、Pixel Shader 2.0で機能が大きく拡張されるためだ。データ精度まで変わってしまうのは影響が大きい。MatroxのKamran Ahmed氏(Senoir Manager、Technical Marketing and Product Management)は「ParheliaにDirectX 9のPixel Shader 2.0を搭載しなかったのは、Pixel Shaderではフィーチャが大きく拡張されるため、ダイが大きくなってしまうから」と説明する。


●当面は使われないPixel Shader 2.0

 それからソフトウェア側のDirectX 9サポートの態勢も当面は整わない。「今年のクリスマスはまだDirectX 8世代のShaderプログラム。Pixel Shader 2.0のプログラムが出てくるのは、2003年のクリスマスになる。だからまだ必要がない」とMatroxのAhmed氏は言う。

 また、ある関係者はXboxの存在も影響するという。XboxのXGPUはDirectX 8世代なので、ゲームタイトル開発者たちは、PCとXboxで共有できるようにゲームエンジンをDirectX 8に対応してゆく方向にあるという。それに対して、DirectX 9はXbox以降の技術となるため、対応は遅れると言う。

 もっとも、新しいDirectXが出て、かなり経ってから対応ソフトが揃うというのはいつものパターン。しかし、実際には開発現場はタイトルが世に出るずっと前から機能の評価を始めるわけで、そのためにトップランナーは新しいDirectXを、すぐにハードウェアでインプリメントしようとする。

 Matroxが、DirectX 9の「Tessellator(テッセレータ:平面分割ユニット)」とVertex Shader 2.0をインプリメントしたのもそのためだ。このインプリメントにより、Parheliaではハードウェアによる「Displacement Mapping(ディスプレースメントマッピング)」が可能になる。Displacement MappingはMatroxが開発した機能で、同社がMicrosoftにライセンスしてDirectX 9に取り入れられた。

 Matroxとしては自社開発の機能を真っ先にインプリメントして、この部分での優位性を示し、開発者を惹きつけたい。しかし、まだ大きな意味がないわりにやっかいなPixel Shader 2.0は後回しにしたい。Matroxの考えは、このあたりではなかろうか。


●Tessellatorの性能が重要となるDirectX 9世代GPU

 実際、Tessellatorをアピールするのには大きな意味がある。それは、DirectX 9世代GPUになると、このTessellatorの性能と機能が大きな差別化要因となる可能性があるからだ。例えば、DirectX 9 GPUでは、視点位置からの距離に応じて分割率を変えるDepth-AdaptiveのLOD(Level of Detail)機能などを実装する。こうしたフィーチャのため、Tessellatorのアルゴリズムはかなり難しく、また技術蓄積がものをいうと思われる。このあたりは、グラフィックスに詳しいライター西川善司氏の「DirectX 9注目の新テクノロジー「D-MAP」を理解する --その2」に詳しい。

 西川氏は、TessellatorがDirectX 9世代のGPUのカギになると説明しているが、これは間違いないだろう。だから、Tessellatorに自信のあるメーカーは、これを強調するということだ。

□関連記事
【5月15日】MatroxがハーフDirectX 9世代のGPU「Parhelia」で復活
http://pc.watch.impress.co.jp/docs/2002/0515/kaigai01.htm
【5月15日】Matrox「Parhelia-512」技術資料公開
http://pc.watch.impress.co.jp/docs/2002/0515/matrox.htm
【5月14日】Matrox、世界初512bit GPU「Parhelia-512」を発表
http://pc.watch.impress.co.jp/docs/2002/0514/matrox.htm
【3月28日】【西川】DirectX 9注目の新テクノロジー「D-MAP」を理解する --その1
http://pc.watch.impress.co.jp/docs/2002/0328/dmap1.htm
【3月29日】【西川】DirectX 9注目の新テクノロジー「D-MAP」を理解する --その2
http://pc.watch.impress.co.jp/docs/2002/0329/dmap2.htm


バックナンバー

(2002年5月20日)

[Reported by 後藤 弘茂]

【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp
個別にご回答することはいたしかねます。

Copyright (c) 2002 impress corporation All rights reserved.