― 連載 ―
「西川善司の3Dゲームエクスタシー」NVIDIA,GeForce 7900&7600シリーズを発表 ピクセルシェーダユニット数は変わらないが性能は2倍に?

サンノゼで行われた技術解説セミナー会場の様子

 NVIDIAは2006年3月9日23時,新型のグラフィックスチップ「GeForce 7900 GTX/GT」並びに「GeForce 7600 GT」を発表した。GeForce 7900はGeForce 7シリーズのハイエンド向けとしては「GeForce 7800」に続く第2世代。GeForce 7600 GTは,GeForce 7として初のメインストリーム向け製品となる。
 では,これら新型GeForceのアーキテクチャはどうなっているのだろうか。パフォーマンスの詳細はレビュー記事を参照してもらうとして,今回は,2006年2月28日に米国サンノゼで行われた,報道関係者向け事前技術解説セミナーの内容を中心に,詳細を説明してみたいと思う。

GeForce 7900 GTXは90nmプロセスでコア700MHz動作

GeForce 7900 GTXのチップイメージ

 GeForce 7900シリーズの開発コードネームは「G71」で,「G70」と呼ばれていたGeForce 7800の直系となる後継製品だ。
 製造プロセスルールは90nm。GeForce 7800が110nmプロセスなのでシュリンクしたことになるが,90nmというプロセスは,すでにローエンド向けとなるGeForce 7300(開発コードネーム「G72」)で採用されているから,別に初めてというわけではない。

 トランジスタ数は2億7800万。記憶力のいい読者なら「え?」と声を上げてしまう人がいるかもしれない。そう,この数字は,GeForce 7800の3億200万より少ないのだ。グラフィックスチップ内の物理設計を最適化した結果といったところである。
 発表時点のラインナップは,最上位となるGeForce 7800 GTXと,その下位に位置づけられるGeForce 7900 GTの2モデル。いわゆる“無印”GeForce 7900や,下位の“GS”といったモデルは用意されていない。

 

GeForce 7900 GTX(左)とGeForce 7900 GT(右)の,それぞれリファレンスカードのイメージ。GeForce 7900 GTXリファレンスカードは,GeForce 7800 GTX 512と同じ2スロット仕様のチップクーラーを採用する。GeForce 7900 GTのチップクーラーは,GeForce 7800 GTのそれと比べると小型化した印象で,発熱が少ないことを想像できよう

 

 右のスライドはGeForce 7900のスペックを示したものだが,見ると分かるように,動作クロックが3種類併記されている。GeForce 7900 GTXだと「700/650/800」だが,これは順に,頂点シェーダ(Vertex Shader)ユニット,ピクセルシェーダ(Pixel Shader)ユニット,グラフィックスメモリの動作クロックを示す。
 頂点とピクセルの両シェーダユニットで動作クロックが異なるのは,大規模なチップでは時々見られる「マルチクロックドメインデザイン」(Multi-Clock Domain Design)を採用しているためだ。

 

事前説明会で登壇したTony Tamasi氏

 この点について,NVIDIAテクニカルマーケティング部門副社長Tony Tamasi(トニー・タマシ)氏は,「性能解析の段階で『高度の並列化がなされたピクセルシェーダユニットは,頂点シェーダユニットより動作クロックが低くてもパフォーマンス面で支障がない』と判断できたため,このような設計になった」という。これにより,パフォーマンスを損なうことなく,消費電力と発熱量の低減を多少なりとも実現できたとのこと。
 なお,グラフィックスメモリはGDDR3 SDRAMになるので,データレートはこの倍(1.6GHz相当)ということになる。リファレンス容量は512MBで,Radeon X1900シリーズと並んだ格好だ。

 

 GeForce 7900 GTでも同様だ。頂点シェーダユニットが470MHz,ピクセルシェーダユニットが450MHzと,差は縮まるが,やはり動作クロックに差が付けられている。グラフィックスメモリはGDDR3 SDRAMで,リファレンスのデータレートは1.32GHz相当(660MHz DDR)。チップスペック上のグラフィックスメモリサポートは最大512MBでGeForce 7900 GTXと同じだが,リファレンスデザインでは256MBなので,主流製品は256MB搭載モデルになるだろう。

 チップ自体は当然のごとくNVIDIA SLI(以下SLI)をサポートするが,GeForce 7900では,内部的にこのインタフェースが2系統になっている。そう,これは4個のグラフィックスチップを並列動作させるNVIDIAの新技術「Quad SLI」(クワッドSLI)用だ。
 ただし,Quad SLIは当面の間,メーカー製PC専用のソリューションとなるので,リファレンスカードに用意されるSLIブリッジコネクタは一つとなる。Quad SLIを正式サポートするNVIDIAの次世代チップセット「nForce 590 SLI」を利用すれば,すぐにでもGeForce 7900のQuad SLI仕様のPCを構築できる……というわけではないので,この点は注意が必要だ。このQuad SLIについては,改めて解説したいと思う。
 ちなみに,リファレンスの出力インタフェースはGeForce 7900 GTX/GTともにデュアルリンクDVIに対応したデジタルRGB×2。いわゆるデュアル・デュアルリンクDVI構成となっている。

ピクセルシェーダは24基に据え置きだが
48基相当の性能を発揮!? その不思議の秘密

 さて,Radeon X1900がGeForce 7800 GTXの2倍にあたる,48基ものピクセルシェーダユニットを搭載して,業界に衝撃を走らせたが,GeForce 7900ではどうなったのだろうか。
 (トランジスタ数が減っていることから想像が付いていた人は多いと思われるが)結論からいうと,シェーダユニット構成はGeForce 7800 GTXからまったく変わっていない。頂点シェーダユニット8基,ピクセルシェーダユニット24基のまま据え置かれたのである。もちろん,ROPユニットも16基のままだ。

 

左がGeForce 7900 GTX,右がGeForce 7800 GTXのブロックダイアグラム。(スライドの縦横比が異なるだけで)見事なまでにまったく同じ

 

 ただし,ROPユニットにはマイナーな改良が施され,αブレンディングのパフォーマンスが向上しているという。何をどう改良したのかは非公開らしいので,おそらく物理設計か論理設計の改良程度だろう。ちなみに,カラー出力が1クロック当たり16ピクセル,Z出力のみだと1クロック当たり32ピクセルというスループット特性もGeForce 7800と同じ。

 「ピクセルシェーダユニットの動作クロックはRadeon X1900 XTと同じ650MHz。だとしたら,ピクセルシェーダ数が半分のGeForce 7900 GTXは,まったく太刀打ちできないのでは?」――こういった質問/疑問が寄せられることは,当然NVIDIAも予測していたようだ。Tamasi氏はこれに答える形で,GeForce 7900/7800が持つ演算ユニット(Arithmetic and Logic Unit,ALU)のベクトル演算性能が,1ピクセルシェーダユニットあたりRadeon X1900の2倍あると強調する。「GeForce 7900 GTXもGeForce 7800 GTXもピクセルシェーダユニットの個数自体は24基で同じ。しかし,GeForce 7900 GTXとGeForce 7800 GTXでは,Radeon X1900の2倍のベクトル演算性能があるから,“ATI換算”なら48基」というのだ。

 Radeon X1900/X1800シリーズだと,ピクセルシェーダ1基が1サイクルで行えるベクトルの積和算は1個。Radeonのピクセルシェーダユニットは2基のベクトル演算器を搭載するが,それらには機能格差があって,片方しかベクトルの積和算を処理できないためである。
 これに対して,GeForce 7900/7800シリーズでは,ピクセルシェーダユニット1基あたり2個の演算器を内包するところまではRadeon X1900/X1800と同じだが,この2基に機能差がほとんどなく,1サイクルでベクトルの積和算を2個行える。

 ピクセルシェーダユニットがこなす演算において最も負荷がかかり,かつ頻発するのはベクトルの積和演算。この部分で2倍の実効性能を有するGeForce 7900 GTXなら,24基のピクセルシェーダユニットのままで,Radeon X1900に十分対抗できる――NVIDIAは,こう考えているわけだ。

 

これはGeForce 7800 GTXのピクセルシェーダユニット構造解説したスライドだが,GeForce 7900でもまったく同じ。「4FP MADS/pixel」(4FP MADS:4要素FP32の積和演算)が両方のシェーダユニットで可能と記述されている点に注目。つまりピクセルシェーダユニット1基あたり2個のベクトル演算器でベクトル積和算が行えるわけだ(※クリックすると全体を表示します)

 

Radeon X1000シリーズのピクセルシェーダにも2基のベクトル演算器があるが,「1 vec3 ADD/MUL/MADD」という記述が1個しかないことからも分かるように,ベクトル積和算が出来るのは片方(下の方)だけ

 

 またTamasi氏は,GeForce 7900/7800とRadeon X1900/X1800との,テクスチャユニット数の違いも指摘する。
 GeForce 7900/7800のテクスチャユニットは,各ピクセルシェーダユニットごとに1基ずつ専用のものが用意される形で24基。対するRadeon X1900/X1800では共有型で16基だから,1.5倍の差になるが,これも実際の3Dグラフィックスパフォーマンスでは有利に働くという。

 最近の3Dゲームグラフィックスでは法線マップ,デカールテクスチャ,スペキュラマップなど,多量のテクスチャ参照が実行される傾向にあり,テクスチャユニットは無視できないというのが,NVIDIAが「有利」とする根拠。これに対してATIは,ピクセルシェーダユニットの活用時におけるテクスチャ依存度が減ってきているため,テクスチャユニットの数は16基で必要十分としている。この点はリアルタイム3Dグラフィックスのトレンドに対する認識や見解の違いということなのだろう。
 ちなみに,本連載で解説中(だが,この記事のため解説を一時休止中)の3Dベンチマークソフト「3DMark06」は,どちらかといえばテクスチャ参照重視型のレンダリングパイプラインを形成している。3DMark06に関して言えばGeForce 7900/7800の方が有利ということになりそうだ。