【レビュー】

GeForce 6800 Ultraを試す

1 実16パイプラインの構成

  • <<
  • <

1/8

すでに報じられた通り、NVIDIAは4月16日にGeForceシリーズの次世代製品であるGeForce 6800 Ultraを発表した。相変わらず実製品の登場は遅れているが、今回リファレンスカードを入手することができたので、これを使ってその性能を確認してみたいと思う。

実16パイプラインの構成

内部構造については、Yoichi Yamashita氏のレポートあるいは大塚実氏のニュースにもあるが、重複することをご容赦いただきたい。

今回の最大の特徴は、実16パイプライン構成となっていることである。この「実」とは何か、というと、先代のGeForce FXが「8パイプライン相当」という、ちょっと微妙な構成になっていたためだ。これについては西川善司氏の記事 が詳しいが、要するにGeForce FX系では(まるでスーパースケーラのCPUのように)複数の演算ユニットを搭載しておき、それを動的にパイプラインに割り当てるということをしていたためで、だから非常にシンプルなレンダリングなら非常に多くの描画パイプラインが成立するし、複雑なレンダリングになると実質的な描画パイプラインが8を切ることもあるという、まことに「nパイプライン」と表現しにくい構造になっていたからだ。もちろんこれは、限られたトランジスタで十分な精度を保つための言わば「苦肉の策」でもあったわけだが。

これに対しGeForce 6系ではこの複雑な構造を捨て、まるでATIと同じかのようなシンプルな構成となった。この理由に関してSteven Sims氏(Photo01)は「GeForce FXのComplexなシェーダ構成は非常に効果的なものだった。ただプログラマがこれに対して最適化を行おうとした場合、ちょっと難しいケースがあった。もちろんコンパイラは非常に優れたコードを出すが、それでも最適化が十分でない場合があった。こうしたことを考えて、GeForce 6ではより最適化が行いやすいSimpleなシェーダ構成に切り替えた」と語っている。

また、パイプラインの内部構成にも違いが見られる。従来はテクスチャユニットとシェーダが1対づつで、1本のピクセルパイプラインを構成していた。これに対し、GeForce 6ではテクスチャユニットの前後に4命令を処理するシェーダユニットを配することで、1ピクセルあたり8命令の処理を可能にしている(図1)。当然これはシェーダープログラミングが複雑になった場合に、大きな威力を発揮することになる。ちなみにこのシェーダーユニットは、Pixel Shader 3.0の規格に準じたものになる。従来のGeForce FXはDirectX 9.0の要求するPixel Shader 2.0の規格を独自に拡張したもののサポートとなっていたが、GeForce 6ではDirecX 9.0cという形で提供されるPixel Shader 3.0をフルサポートということを大きく打ち出している。この結果、これで要求されるピクセル分岐とかMRT(Multiple Render Target)、非常に大きなサイズのPixel Programなどがちゃんとカバーされるようになった。当然ながらこれは、Vertex Shaderについてもいえることで、こちらはやはりDirectX 9.0cが要求するVertex Shader 3.0に準拠したものになっている。

図1:パイプライン構成

なお、気になるピクセル精度であるが、GeForce 6シリーズは引き続き32bit精度をキープする。パイプライン自体は32bit精度で構成される。演算精度は最大で32bit×4の128bitとなっている。従来のNVIDIAのグラフィックチップの場合、これを16bit精度に落とすと性能が倍増するといった柔軟性があったが、GeForce 6シリーズでは16bitと32bitのどちらでも性能は変わらないとされており、その意味では実32bitパイプライン化された訳だ。

Photo01:Desktop GPU担当シニア・プロダクト・マネージャのSteven Sims氏

  • <<
  • <

1/8

インデックス

目次
(1) 実16パイプラインの構成
(2) Video Processor
(3) ダイサイズとトランジスタ数、消費電力
(4) Forceware 60
(5) パフォーマンス(1) 2D系テスト
(6) パフォーマンス(2) 3D系のテスト
(7) パフォーマンス(3) OpenGL系のテスト
(8) 結論

もっと見る

人気記事

一覧

イチオシ記事

新着記事