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

2006年後半にサンプル出荷が始まるDirectX 10世代GPU




●DirectX 10へのハードとソフトの移行が2007年前半に始まる

 はるか後ろまでずれ込んでしまったDirectX 10(Shader Model 4.0)世代GPUが、ようやく姿を見せようとしている。GPUベンダーは、来年前半までに、DirectX 10世代GPUを投入しようとしている。また、Microsoftは、Windows Vista(Longhorn:ロングホーン)の2007年春のリフレッシュ版「Windows Vista Spring Refresh 2007」でDirectX 10ハードをサポートする見込みだ。ドライバモデルも、若干変わるという。このVista Spring Refreshは、「LH +1」のコードネームで呼ばれていたVistaのリフレッシュの最初のバージョンだと見られる。DirectX 10のハードとソフトの両輪が、ようやく2007年には回り始める。

 GPUのアーキテクチャ上の進化はAPI側の発達と連動している。そして、現在、PC向けGPUを牽引しているAPIは、MicrosoftのDirectXだ。しかし、API側はDirectX 9が登場して以来3年、大きなジャンプは止まっている。Shader Model 2.0から3.0への移行はあるものの、DirectXの世代が変わる抜本的な変革は足踏み状態のままだ。その原因は明瞭で、Windows Vistaの新ユーザー“エフェクト”「Aero Glass」がDirectX 9をベースにし、次のDirectX 10(Windows Graphics Foundation 2.0と一時呼ばれていた)はWindows Vistaに組み込まれることになったからだ。

 OSの土台となるサブシステムの辿る道は、常に同じだ。遅延されるOSの道連れになる。DirectX 10も、最初の計画では、2004年頃には登場するはずだったのが、約3年遅れで登場することになる。

 もちろん、APIが定義されてなければGPUも設計できない。DirectX 10の定義が確定される頃から設計をスタートさせると、どうしてもGPUは2006年末から2007年前半頃のタイミングとなるという。ある業界関係者は「DirectX 10世代GPUは、2006年の第3四半期終わりから第4四半期にサンプル、2007年の第1四半期から第2四半期に最初の製品出荷だろう」と語る。発表前倒しで最速で出荷するとして、2006年末がいいところと推定される。

DirectX 10 GPUへの以降の概略(別ウィンドウで開きます)
PDF版はこちら

●ATIのR6xxとNVIDIAのG8xがDirectX 10世代

 ATIでは「R600」系が、NVIDIAでは「G80」系がDirectX 10世代に当たると言われる。両GPUのスケジュールは、それほど大きくは変わらないはずだ。NVIDIAの方が若干早いと言う関係者もいるが、GPUのスケジュールは水物なので、フタを開けてみないとわからない。

 もっと早いタイミングで出すとOEMに伝えたベンダーもいるが、ある業界関係者は、DirectX 10の定義のスケジュールを考えると、それは難しいはずと言う。ちなみに、IntelもOEMに対して、今年第3四半期の次期チップセット「Intel G965(Broadwater-G:ブロードウォータG)」でDirectX 10のサポートを謳っているが、これもハード的には疑問だと言われる。

 たとえ、DirectX 10対応ハードが早く出てきても、意味は薄いだろうという意見もある。それは、今秋に出てくる最初のWindows Vistaでは、OS側のDirectX 10実装が完全ではないからだ。Windows Vista Spring Refresh 2007までは、DirectX 10世代GPUは、サポートできないという。つまり、OS側がハードを活かすことができないわけだ。もし、Windows Vistaがさらに遅れれば、全体がさらに後退してしまう。

 GPUとAPIの関係は、ニワトリと卵の関係に似ている。APIが定義されないとハードが完成できない。ハードが見えてこないとAPIをフィニッシュできない。そのため、ハード側のアーキテクチャができてくると、そのハードをリファレンスにAPI側もすり合わせる必要がある。そのため、定義自体が遅れたDirectX 10は、GPUの設計も遅れ、そのため、OSへの実装もずれ込むことになる。

●プログラマビリティを強化するDirectX 10

 DirectX 10は、GPUアーキテクチャに大きな変化をもたらす。ハードに与えるインパクトとしては、DirectX 8→DirectX 9へのジャンプと同等クラスの変革となる。下が、WGF2.0と呼ばれていた頃のDirectX 10グラフィックスの論理パイプラインだ。実際には、最終スペックはこの図から変更になっているかもしれないが、3月後半の「GDC(Game Developers Conference)」では全貌が明らかになるだろう。

DirectX 10グラフィックスの論理上のパイプライン
(別ウィンドウで開きます)
PDF版はこちら

 DirectX 10の特徴は、一言で言ってしまえばGPUパイプラインの、より一層の汎用プロセッシングユニット化だ。ATI TechnologiesのDavid E. Orton(デビッド・E・オートン)社長兼CEOは、以前のインタビューで次のように語っていた。

 「Shader 4について言えば、パイプラインを通じてのプログラマビリティと一貫性の拡張が、背景にあるアイデアだと考えている。一般的な意味でのプログラマビリティを得る。グラフィックスエンジンを、より汎用化すると言い換えてもいいかも知れない」

 縦型のグラフィックスパイプラインだとわかりにくいが、DirectX 10世代のGPUでは、多くがUnified-Shader型の実装になると見られる(Unified-Shader実装が必須ではない)。つまり、Xbox 360 GPUのように、Shaderの役割の差異はなくなり、統合された機能を備えたUnified-Shaderアレイが並ぶようになる。GPUの抜本的構造変化がDirectX 10世代で起こるわけだ。

DirectX 10時代のGPUの想定図(別ウィンドウで開きます)
PDF版はこちら

 グラフィックスプログラマにとっては、次回のDirectX 10のジャンプは、高級言語へとシフトしたShader 1.x(DirectX 8)→Shader 2.0(DirectX 9)の時と比べると小さい。プログラミングモデルが根底から変わるわけではないからだ。しかし、GPUをより汎用的に使おうという「GP(General Purpose)GPU」には大きなインパクトがある。ようやく、GPUが本格的に汎用プロセッシングに使えるようになる、その出発点がDirectX 10だ。

●DirectX 10 GPUでは30~40%もロジック部のトランジスタが増加

 こうしたDirectX 10世代のGPUアーキテクチャの変化は、GPU設計に2つのインパクトを与える。1つは、GPUの論理設計の複雑化で、例えばShaderアレイの制御やレジスタバンクへのアクセスといった部分がより複雑になる。これには、どちらかというと汎用プロセッサのスキルが重要となる。

 もう1つは、チップの肥大化だ。一般的に言うと、より汎用性の高いアーキテクチャは、より多くのトランジスタを必要とする。

ATI Technologies Senior Vice President, PC Business Unit, Rick Bergman(リック・バーグマン)氏

 ATIのRick Bergman(リック・バーグマン)氏(Senior Vice President, PC Business Unit, ATI Technologies)は「DirectX 10をサポートしようとすると、30~40%程度のロジック(回路)が余計に必要となるだろう」と指摘する。

 Bergman氏が言っているのは、同じパフォーマンスレベルを維持して、DirectX 10のフィーチャを実装する場合のオーバーヘッドだ。新アーキテクチャGPUが、前世代GPUと比べて既存アプリケーションの実行性能で劣るなら、多くのユーザーは新GPUへとすぐに移行してくれない。そのため、GPUベンダーは、アーキテクチャの変わり目では、無理をしても、前世代と同等かより性能が高いGPUを作る必要がある。すると、ロジック部分で、30~40%程度のトランジスタの増加が必要になるということだ。増えるのはロジック部で、キャッシュなどではないため、必ずしもGPU全体のトランジスタ数とダイサイズ(半導体本体の面積)が30~40%増えるわけではない。しかし、かなりインパクトがあるのは確かだ。

 DirectX 9 SM 2.0とDirectX 9 SM 3.0では、GPUベンダーはGPUのダイサイズも大きくすることで、この問題を乗り切ってきた。同じハイエンドGPUでも、DirectX 8世代よりDirectX 9 SM 2.0世代の方が、50%ほどダイサイズが大きい。

 しかし、現在の規模のハイエンドGPUは、R580のように、すでに340平方mmクラスのダイになっている。30~40%程度も回路規模を増やすとなると、かなり負担が大きく、ダイは400平方mmを超えてしまうだろう。CPUならクアッドコアが作れるサイズで、経済的にはかなり難しいはずだ。

GPU Die Size & Process Technology(別ウィンドウで開きます)
PDF版はこちら

●DirectX 10には新プロセス技術が必要?

 そのため、DirectX 10世代GPUでは、プロセス技術の移行が必要になると推定される。少なくともATIはプロセス技術の刷新をセットで考えているフシがある。「30~40%程度の増加となると、65nmなど新しいプロセス技術が必要となるだろう」と、ATIのBergman氏は示唆する。

 皮肉なことに、DirectX 10全体のスケジュールがずれ込んだことで、DirectX 10世代GPUでプロセスを刷新するチャンスが生まれている。TSMCのテクノロジロードマップでは、65nmのハイスピードロジック向けプロセス「CLN65HS」は2006年第3四半期の途中からリスクプロダクションが始まることになっている。GPUの場合、シリコンが完成してから量産までミニマム3カ月、長くて6カ月。GPUベンダーが、65nmの立ち上げに沿って最初のシリコンの設計を進めると、2007年の前半には65nm GPUを出荷できることになる。

 例えば、ATIは90nmではTSMCの立ち上げに沿って製品を開発、2004年後半からリスクプロダクションで、2005年の前半に出荷する予定だった。しかし、さまざまなトラブルでRadeon X1800(R520)の開発は遅れ、その結果、90nm投入はずれこんだ。ATIが65nmでは順調なコースを辿るとすると、65nm GPUは2007年前半に投入できることになる。

 もっとも、新アーキテクチャの先端製品に新プロセスを使うことはリスクが大きい。R520のようにずれ込む可能性も高くなる。そのため、DirectX 10は、90nmプロセスのハーフピッチである80nmプロセスで来るケースも考えられる。

 自社の都合で遅れた負い目かもしれないが、MicrosoftはDirectX 10への移行に意欲的だと言われる。実際、DirectX 10対応ハードを、2007年第1四半期からは、Windows VistaのPremiumロゴの必須条件にしようというプランも持ち出したほどだ。こうした状況では、当然、グラフィックス統合チップセットもDirectX 10への移行を急ぐ必要が出てくる。もっとも、ある関係者によると、Microsoft内部でも、部門によってDirectX 10への温度は大きく異なり、一枚岩というわけではないという。そのため、DirectX 10ハードの普及やソフトの移行は、まだ明確には見えてきていない。また、万が一、Windows Vistaが遅れた場合には、全体のスケジュールが再び仕切り直しになる。

□関連記事
【1月27日】【海外】R580とG71で衝突するATIとNVIDIA
http://pc.watch.impress.co.jp/docs/2006/0127/kaigai236.htm
【2005年12月20日】【海外】Windows Vistaへの対応で混乱するPC業界
http://pc.watch.impress.co.jp/docs/2005/1220/kaigai230.htm
【2005年10月24日】【海外】マルチスレッディング化が性能の重要な鍵となる新世代GPU
http://pc.watch.impress.co.jp/docs/2005/1024/kaigai218.htm

バックナンバー

(2006年2月28日)

[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.