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

ATI RADEON 9700(R300)の内部構造


●倍になった実行ユニットや帯域、そして性能

 ついにATI TechnologiesのDirectX 9世代GPU「RADEON 9700(コードネームR300)」が姿を現した。DirectX 9のフィーチャをフルサポートし、DirectX 9互換のTessellator(テッセレータ:平面分割ユニット)、Vertex Shader 2.0、Pixel Shader 2.0などを備える。

 ハードウェア構成はほぼ予想通り。Vertex Shaderが4ユニット、ピクセルパイプ(Pixel Shader)は8本、メモリインターフェイスは256bit、AGP 8xサポートとなっている。つまり、DirectX 8.1世代GPUと比べると、全てが2倍に増えたことになる。

 性能も相関して倍増する。ATIが発表したベンチマーク結果では、3DMark2001やQuake IIIで軒並みGeForce4 Ti4600の約2~3倍の性能を示している。現時点では最高性能のグラフィックスチップ(ATIではVPU=Visual Processing Unitと呼んでいる)だ。

●0.15μmで1億1千万以上を詰め込む

 だが、これだけの機能を詰め込んだRADEON 9700のトランジスタ数は約1億1千万以上と、前世代のRADEON 8500(R200)の6,000万から約2倍に増えた。そして、ATIはこれを、現行の0.15μmプロセスで製造する。その理由をATIのDavid E. Orton(デビッド・E・オートン)社長兼COOは次のように説明する。

 「プロセッサの連中は常に、アーキテクチャとプロセス技術を同時に変えてはいけないと言う。つまり、安定したアーキテクチャと新プロセス技術か、新アーキテクチャと安定したプロセス技術の組み合わせでなければいけないと。我々の戦略はそれに沿っている。つまり、新しいRADEON 9700は0.15μmでスタートし、次の世代、これはR350だが、そこで0.13μmへと移行する」

 トレードオフはダイサイズ(半導体本体の面積)。ATIは、ダイを小さくするスキルに長けたメーカー(同程度のトランジスタ数でもNVIDIAよりダイが小さい)だが、それでもRADEON 9700のダイは「約14mm角ほど」(Orton氏)と、約200平方mmの大型チップになった。つまり、初代Pentium 4(Willamette:ウイラメット)に匹敵する大きさのチップだ。当然、製造コストも高い。

RADEON 9700のダイ

 公開されたRADEON 9700のダイ写真は右のようになっている。見ての通り、Pixel Shaderが大きな面積を占めている。このダイをそのままメインストリームに持ってくるのは難しいが、ATIはすでに0.13μmへの移植を進めている。さらに、現行プロセスでも、面積を食うピクセルパイプを半分に削ってローコスト版を作るという選択肢もある。

 ちなみに、ATIは今年第4四半期に、メインストリーム市場のやや高めの層を狙ったRADEON 9500を投入することも明らかにした。これは、RADEON 9700の“派生品”になるという。年末までには、ややパフォーマンスを削った廉価版アーキテクチャが登場する可能性は高い。0.13μmに移行すれば、メインストリームは完全にカバーできるようになるだろう。


●リッチになった実行ユニット

 下が推定も交えたRADEON 9700のブロック図だ。

RADEON 9700ブロック図(一部推定)

 これを見て、すぐにわかるのはDirectX 7レガシーハードウェアの多くがほとんど姿を消したことだ。ハードウェアT&Lがなくなっただけでなく、RADEON 9700では固定テクスチャユニットも持たない。「従来ハードウェアT&Lで実行していた処理はVertex Shaderで、固定テクスチャユニットの処理はPixel Shaderで行なう」とATIのEric Lundgren氏(Product Manager)は説明する。ちなみに、DirectX 9世代でも固定テクスチャハードウェアを残すと言っているGPUベンダーもある。

 RADEON 9700のジオメトリ部分の構造は、MatroxのParheliaにかなり似ていると推測される。アダプティブテッセレーションをサポートする強力なTessellator(ATIの名称はTRUFORM 2.0)と、Vertex Shader 4個の組み合わせはDirectX 9世代のハイエンドGPUの標準となりそうだ。少なくとも、現行のハイエンドGPUを凌駕する性能のためには、Vertex Shaderは最低4個は必要となるだろう。

 しかし、3Dパイプラインの後半は、ハーフDirectX 9世代のParheliaとはかなり異なる。ピクセルパイプはPixel Shaderを中心に構成されている。Pixel Shaderは2.0になったことで、命令やレジスタが強化されただけでなく、浮動小数点データタイプをサポートするようになった。つまり、これまで整数演算ユニットだったピクセルパイプが、すべて浮動小数点演算ユニットになった。本数が倍増した以上に強化されている。これが、ピクセルパイプの肥大化の原因だと思われる。

●各ユニットの詳細が明らかに

 RADEON 9700では、Video Processing EngineはPixel Shaderに連結されている。これは、DirectX 9アーキテクチャでは、ビデオ再生処理の後半はPixel Shaderで行なうからだ。目的は、3Dとビデオのシームレスな結合と、Pixel Shaderによるビデオ画像補正とエフェクトを実現することだ。

 下が各ユニットの解説図だ。バーテックスエンジンはこれを見るとそれほど意外な構成ではない。プロセッサでT&Lをやるようになった以外は、自然な流れとなっている。

RADEON 9700のメモリインターフェイス T&L処理を行うバーテックスエンジンの全体の構成 バーテックスエンジン(Vertex Shader)の内部構造

レンダリングを行なうピクセルパイプの全体構造 T&L処理を行なうバーテックスエンジンの全体の構成

 ピクセルパイプは8本だが、同時に実行できるPixel Shader命令は3命令までとなっている。ピクセルユニットの構造図を見ると、内部が浮動小数点演算ユニットになったことがよくわかる。またプロセッサ部分と固定機能のフィルタリングなどが組み合わされていることがわかる。

 意外と強化されていたのがメモリインターフェイス。ここは4チャネル(256bit)DDRになっただけでなく、効率を向上させるさまざまな仕組みが組み込まれた。内部コア側からのメモリアクセスは4つの独立したメモリコントローラで制御。4メモリコントローラとAGPコントローラが、スイッチで4つのDRAMインターフェイスに結ばれる構成となっている。

ATIの発表したRADEON 9700のパフォーマンス

DirectXの仕様比較 Pixel Shaderを使ったビデオ再生

□関連記事
【7月19日】ATIがDirectX 9に対応したVPU「RADEON 9700」をリリース
http://pc.watch.impress.co.jp/docs/2002/0718/ati.htm

バックナンバー

(2002年7月19日)

[Reported by 後藤 弘茂]

【PC Watchホームページ】


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

Copyright (c) 2002 Impress Corporation All rights reserved.