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

Intelの次期チップセットIntel 96xの強力なグラフィックスコア




●ディスクリートGPUと同等の機能を持つBroadwater

 Intelは、今年中盤に新しいMerom(メロン)アーキテクチャのCPU群を投入、デスクトップでは、第3四半期にチップセットも「Intel 96x(Broadwater:ブロードウォータ)」系へとアップデートする。

 Intelチップセットでは、Broadwaterは非常に重要な意味を持っている。それは、BroadwaterはWindows Vista(Longhorn:ロングホーン)対策用のチップセットだからだ。

 言うまでもなくWindows Vista対応で最も重要となるのは、3Dグラフィックスパフォーマンスだ。Windows Vistaの新ユーザーエフェクト「Aero Glass」が要求する3Dパフォーマンスのバーは非常に高い。Intelは、自社のグラフィックス統合チップセットでも、Aero Glassの高水準のサポートを実現したいため、Broadwater世代からの「Generation 4(Gen 4)」グラフィックスコアでは機能を大幅に拡張する。また、MicrosoftはWindows VistaでDirectX 10への移行も急いでいるが、Intelは、Gen 4コアで、このDirectX 10への対応も睨む。

 IntelのBroadwaterは、SKUによって異なるグラフィックスコアを持つ。1つは、上位版の「Intel G965 Express Chipset」で、こちらはフルフィーチャのグラフィックスコアを備える。もう1つは、廉価版の「Intel Q965 Express Chipset」で、こちらのコアは従来のIntel 915/945系のGen 3コアの拡張に近い。ここで説明するフィーチャのほとんどは、G965のみにしか適用されない機能だ。

 G965のGen 4グラフィックスの最大のポイントは、一言で言うと「GPUベンダーのディスクリートGPUと同等の3Dグラフィックス機能を備えたこと」だ。Gen 4は、Pixel Shader(PS)だけでなく、Vertex Shader(VS)もハードウェアで実装。どちらも、DirectX 9 Shader Model(SM) 3.0をサポートし、内部データ演算精度は32bit浮動小数点(FP)、FPレンダーターゲットをサポートするなど、専門GPUベンダーの現在世代アーキテクチャの基本フィーチャを揃える。3Dグラフィックス機能はお世辞にも十分なレベルと言えなかった、以前のIntel統合グラフィックスとは、かなり方向性が異なる。

Broadwater Block Diagram
PDF版はこちら

●Vertex Shaderを内蔵するG965のGen 4グラフィックス

 BroadwaterのGen 4アーキテクチャでまず目立つのは、Vertex Shaderを搭載したこと(G965のみ)。これまでのIntelグラフィックスは、セットアップから後のピクセルプロセッシングはGPU側で行なうが、ジオメトリプロセッシングはCPU上でソフトウェアで実行していた。全パイプをハードで備えるディスクリートGPUとは、明瞭にアーキテクチャの方向性が異なっていた。

 ジオメトリパイプをCPU側に留めることは、CPUメーカーであるIntelにとって、当然の方向だった。CPUに対する負荷を増やす方向へ持って行く方が、より高パフォーマンスのCPUが売れるからだ。実際、数年前、あるIntel関係者は「ジオメトリパイプのチップセットへの搭載は、CPUメーカーの戦略としてどうしてもできないだろう」と言っていた。

 だが、Gen 4グラフィックスでは、この点の戦略が大きく変わった。Intelは、CPUからジオメトリプロセッシングをオフロードすることで、CPUに、もっとAIや物理シミュレーション、サウンドエフェクトといった処理を行なわせるとOEMに伝えている。まるで、GPUメーカーのようなことをIntelが言い出したわけだ。まさか、CPU性能が頭打ちになるからオフロード、と考えたわけではないだろう。この動きは、おそらく後で述べるDirectX 10への布石だと考えられる。

 G965のVertex Shaderは個数はわからない。Aero Glassは、ピクセルプロセッシングの比重が高く、ジオメトリプロセッシングの比重が軽いため、1個か、多くても2個止まりだろう。スペック的にはVertex Shader 3.0で、Displacement Mappingのサポートも入っている。おそらく、Vertex Shaderからのテクスチャロード機能である「バーテックステクスチャフェッチ(VTF)」をサポートしていると推定される。ハードウェアT&L(座標変換&ライティング)も、Shaderエミュレーションでハードウェアサポートするようだ。

●RADEON 9700(R300)クラスのピクセル性能を持つ

 G965のPixel Shaderはピクセルパイプと同数としたら4個。スペック的にはPixel Shader 3.0。内部データ演算精度は32-bit浮動小数点(FP)で、16-bit/32-bitのFPレンダターゲットをサポートする。ちなみに、廉価版のQ965はPixel Shader 2.0だ。

 Broadwaterのピクセルパイプは4本と相変わらず狭い。現行世代の945Gと同じ数だ。ただし、これは、メモリ帯域とのバランスのためもあるだろう。生ピクセル打ち込みのパフォーマンスはメモリ帯域に制約される。限られた共有メモリの帯域と釣り合うのはこの程度と判断していると推定される。

 もっとも、BroadwaterはG965とQ965のどちらも、パイプラインが4本の割に、ピクセルフィルレートは2.66Gpixel/secと高い。Intelのフィルレート表示は、純粋にピクセルパイプ数×コア周波数なので、ここから周波数が逆算できる。計算上、Broadwaterのグラフィックスコアの周波数は666MHzとなる。コアクロックは、ディスクリートGPUのトップクラスレベルとなる。つまり、Intelは少ないパイプを高速に回すことで性能を稼ぐアーキテクチャを採ったわけだ。

 面白いのは、以前、あるGPUベンダーが、MicrosoftからWindows VistaのAero Glassでは、RADEON 9700(R300)クラスのピクセル性能が必要になると言われたと、語っていたこと。R300のフィルレートは2.6Gpixel。ちょうどBroadwaterのフィルレートと一致する。つまり、ラフに言えば、Windows Vistaで要求されるR300と同クラスの性能を、Broadwaterでは統合グラフィックスに持ってきたことになる。

 ちなみに、現行の945Gは400MHzで1.6Gpixel/sec。Intelは一気に周波数を1.6倍に引き上げたことになる。となると、プロセス技術側も、刷新が必要になると推定される。

 このほか、3D以外の機能も拡張されており、例えば、MPEG-2デコードでは、従来のMC(Motion Compensation)に加えてiDCTもハードウェアで実装された。ハイビットレートのHD MPEG-2再生もサポートする。また、従来はハードウェアサポートがなかったWMV9ビデオデコードも、MCとインループフィルタのサポートが加わった。アダプティブデインターレースも実装されている。HDMI出力も加えられた。

 Intelは以前からOEMに対してオールインワンのエンターテイメントPCソリューションを提供すると説明していた。Broadwaterによって、今年中盤のViiv(East Fork) 1.5/1.6に合わせたタイミングで提供することになる。

●DirectX 10サポートを謳うIntel

 BroadwaterのGen 4グラフィックスで最大の謎は、DirectX 10サポートだ。IntelはBroadwaterでは異常にDirectX 10を意識しており、Gen 4での「DirectX 10レディ」を強調している。GPUベンダーが統合チップセットでのDirectX 10サポートをまだ謳い出していない段階なのにだ。

 そして、次々に出てくる証拠は、IntelがGen 4でDirectX 10対応を本気で目指していることを示し始めている。前回、IntelのBroadwaterのDirectX 10レディは疑問符付きとしたが、もしかすると、本気でIntelが実装した、またはVista DirectX 10 Updateに合わせて完成させつつある可能性がある。そうでないとつじつまが合わないことが多すぎるからだ。

 Microsoftは2007年の第1四半期からはWindows Vista Premiumのロゴ要求条件にDirectX 10を入れるつもりだ。少なくとも、今年頭の段階では、まだこのプランは活きていた。その通りになるとすれば、DirectX 10対応グラフィックスハードを載せたPCでないと、Vista Premium以上のロゴが取れなくなることになる。プランが遅延したとしても、Microsoftが早晩、DirectX 10をPremiumロゴの条件に加えることは間違いない。

 Intelは、Gen 4グラフィックスでPremium以上もカバーできることをPCメーカーに対して保証している。もしGen 4がDirectX 10をサポートできないとなると、2007年に、Intelは困った立場に追い込まれてしまうことになる。だが、IntelはOEMに対する通知の中で、VistaのDirectX 10要求にも、G965が対応できると強調している。

 Intelの政治力があれば、もしG965でDirectX 10サポートができなければ、Microsoftに対してゴネるはずだ。現実に、Intel 945Gについては、Windows VistaのAero Glassサポートで(フェイルしかけたのを)強力にMicrosoftにゴネている。しかし、G965でそれをしていないことは、IntelがDirectX 10サポートについて、かなり自信を持っていることを示す。

 また、Intelは2007年頭に投入するモバイル向けチップセット「Crestline(クレストライン)」でも、Broadwaterと同じGen 4グラフィックスコアを使う。モバイルでは、パフォーマンスPCでも統合グラフィックスの比率が高いため、Premiumロゴのためには、DirectX 10サポートが必須となる。

 実際、Gen 4では、グラフィックスコア自体が大幅に拡張された形跡がある。例えば、Gen 4グラフィックスコアの3D&ビデオ機能のトランジスタ数は、Gen 3系の約3倍にまで拡張されていることが判明した。Gen 3からGen 4では、ピクセルパイプ数自体は拡張されていない。新たにVertex Shaderを加え、演算コアは32-bit浮動小数点に対応と拡張しているが、それで3倍にまで増えるのは不自然だ。

●既存アーキテクチャの延長でDirectX 10に対応?

 では、IntelはどうやってDirectX 10に対応するつもりなのか。現状を見る限り、物理的にUnified-Shader化してDirectX 10に対応するという路線ではないと推定される。となると、DirectX 9パイプを保ったままで、DirectX 10サポートに拡張するアプローチを取っている可能性が高い。DirectX 10をサポートするにはUnified-Shader化した方が自由度が増すため有利だが、既存パイプを拡張する方法もある。

 その場合、ハードウェア的にいくつかの拡張が必要となる。API的に同等のプログラマビリティが各Shader間に要求されるからだ。

 まず、Vertex Shaderにテクスチャフェッチとフィルタリング機能が必要になる。これは、Gen 4グラフィックスがDirectX 9 SM 3.0のバーテックステクスチャフェッチをサポートしていれば、フィルタリングなどのパイプを強化することで対応できると推定される。

 次に、プリミティブプロセッシングを担当するGeometry Shaderの実装が必要となる。これは、物理的にはVertex Shaderを兼用させることもできると見られる。例えば、NVIDIAのDavid B. Kirk(デビッド・B・カーク)氏(Chief Scientist)は以前、Geometry Shaderを物理的にはVertex Shaderと兼用にする実装もできると示唆している。そのためには、ジオメトリパイプの中で、Shaderの役割を割り振るスケジューラと、両Shader間でデータを再帰させる構造が必要となる。

 この他、ジオメトリパイプからメモリへとデータを出力する、シェーダエクスポートも必要となる。物理的に、新たなデータパスを実装しなければならない。この他にもいくつかの要素があるが、ハードウェア実装に大きな影響を与えるのはこのような要素だ。

 実は、構成要素の少ない統合グラフィックスでは、こうした拡張が比較的容易であることがわかる。例えば、DirectX 10化して行くと、メモリにアクセスするメモリクライアントの数がどんどん増える。そのため、ユニット数の多いハイエンドGPUでは、メモリコントローラへのデータパスが非常に複雑になってしまう。GPU設計は配線地獄だという話はよく聞く。しかし、Intelの統合グラフィックスの場合はユニット数が少ないため、ずっと容易に実装できるはずだ。

●NVIDIAのDirectX 10対応はIntelと同じ路線?

 こうやって考え始めると、NVIDIAとATI、両社のDirectX 10対応の交錯する話も、別な見方ができてくる。もしかすると、DirectX 10対応の中身が、NVIDIAとATIで異なる可能性がある。

 ATIの路線は明瞭で、プロセス技術を変更(おそらく65nmプロセス)して、物理的にUnified-Shader化したGPUアーキテクチャでDirectX 10に対応する。アグレッシブでハードルが高いが、うまく行けば、DirectX 10の実効性能が高くなるプランだ。

 ATIのこれまでのアーキテクチャ拡張を見ていれば、こうした意図がよくわかる。過去2世代のATIアーキテクチャは、明らかにDirectX 10世代のUnified-Shaderを意識している。

 例えば、ATIのR5xx系はメモリコントローラ回りにリングバスを使っているが、これは、メモリクライアントの増大にフレキシブルに対応しやすい。Pixel Shaderの演算パイプからテクスチャパイプを分離したが、これはVS機能も統合するUnified-Shaderでは、テクスチャリングよりShaderの演算パフォーマンスのニーズの方が比率として高くなるためだ。Pixel Shaderアレイに共有の大きなレジスタファイルセットを持たせ、スケジューラでアレイのマルチスレッディングを制御する構造も、Unified-Shaderを意識しているように見える。

 ATIのアプローチの問題は、設計に時間がかかることで、どうしても出荷は2007年、それも中盤に近くなる可能性が高い。

 それに対して、NVIDIAのDirectX 10サポートは、複数の情報が交錯している。そもそも、「G80」と呼ばれる次のコア自体、正体がよくつかめない。異なるプランが複数あり、G80という名前が、違うプランに対して付け替えられている形跡がある。先月、あるGPUメーカー関係者は「どれが本当にG80なのかよくわからない」と言っていた。G80は、最初に聞こえてきた時は2007年だったのが、年内、Windows Vistaに合わせるという情報もあり明確ではない。G80のラベルの貼り替えがあった可能性がある。

 NVIDIAも中期プランとして、DirectX 10の潜在性をフルに引き出すことができるUnified-Shader化を進めているらしい。しかし、その前の段階として、既存パイプラインをDirectX 10に適合させる、Intelと同様のアプローチを採るとしたら、スケジュールを早めることもできるかもしれない。もっとも、一番可能性が高いのは、NVIDIAが、同社がよくやるコードネームチェンジを行ってDirectX10サポートではないGPUに"G80"のラベルを貼り、DirectX10 GPUは別コードネームになったというパターンだ。

 いずれにせよ、NVIDIAのGeForce 6800(NV40)/GeForce 7800(G70)系アーキテクチャは、ATIの現行アーキテクチャよりDirectX 10サポートへと拡張しやすい。例えば、Vertex ShaderはVTFを備えている。すでに、ジオメトリパイプからのデータパスがあるわけだ。また、NV40/G70系はVertex Shaderもマルチスレッディング機能を備えている(テクスチャフェッチのレイテンシを隠蔽する必要から)。すでに、ある程度のスケジューリング機能は備えているわけで、その延長でGeometry Shaderとしてのタスク振り分けをできるように拡張しやすいかもしれない。

 いずれにせよ、明瞭なのは、Windows Vistaによって、GPUとグラフィックス統合チップセットの地図が大きく塗り替えられつつあることだ。Intelは、ハイパフォーマンス統合グラフィックスへの舵を切った。DirectX 10以降のアーキテクチャにもアグレッシブに対応しようとしている。これが、2006年以降のチップセットのトレンドになりそうだ。

□関連記事
【2月28日】【海外】2006年後半にサンプル出荷が始まるDirectX 10世代GPU
http://pc.watch.impress.co.jp/docs/2006/0228/kaigai245.htm

バックナンバー

(2006年3月3日)

[Reported by 後藤 弘茂(Hiroshige Goto)]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp ご質問に対して、個別にご回答はいたしません

Copyright (c) 2006 Impress Watch Corporation, an Impress Group company. All rights reserved.