【特集】
Radeon X1000シリーズ徹底解説 - 新アーキテクチャで何が変わったのか
6 X1000シリーズのプログラマブルシェーダ - 頂点シェーダ・ピクセルシェーダ(1)
2005/12/30
ここからは、Radeon X1000シリーズのシェーダの内部アーキテクチャに迫っていくことにしよう。
![]() |
![]() |
|
ATI Radeon X1000シリーズのハイエンドモデル、Radeon X1800 XTの全体ブロック図 |
NVIDIA GeForce 7シリーズのハイエンドモデル、GeForce 7800 GTXの全体ブロック図(参考) |
Radeon X1000シリーズのプログラマブル頂点シェーダ
Radeon X1000シリーズのプログラマブル頂点シェーダは、下図のようになる。この図はRadeon X1800シリーズを表したものであり、頂点シェーダ(Vertex Processor)は8基描かれているが、Radeon X1600/X1300シリーズではその個数は異なる。
各頂点シェーダには、4要素32ビット浮動小数点(FP32)からなるベクトル演算に対応した128ビットベクトル演算器(128bit Vector ALU)と、1要素FP32のスカラ演算に対応した32ビットスカラ演算器(32bit Scalar ALU)が内包されており、この2つのALUに対して同時命令発行が可能となっている。
Radeon X800/X850の時点で頂点シェーダの動的分岐は対応していたので、Flow Controlユニットがあるのも同じで、このアーキテクチャは実際のところ、Radeon X800/X850からほとんど変わっていない。拡張点を挙げるとすれば、Radeon X800/X850で256個だった命令スロット数が1,024個に、13個程度だったテンポラリレジスタが32個に増強された程度だ。
参考までに、GeForce 7系のプログラマブル頂点シェーダのブロック図も示しておくが、前段で解説したように、GeForce 7系ではVTF対応のために、頂点シェーダにテクスチャユニットが接続されているのが特徴となっている。
Radeon X1000シリーズのプログラマブル・ピクセル・シェーダ(1)〜念願のピクセル演算精度の32ビット化、動的分岐機能の高効率支援
Radeon X1000シリーズの改良点はむしろプログラマブルピクセルシェーダに集中している。
まず、機能面における拡張点は2点。
1つ目は、Radeon 9700より3年間も続いた96ビット(=24ビット浮動小数点×4)のピクセル陰影処理精度が、ついにGeForce 6/7と同じ、128ビット(=FP32×4)へと高められたこと。
SM3.0世代のリアルタイム3Dグラフィックスでは、HDR(High Dynamic Range)レンダリングの導入が本格化してきており、その際、浮動小数点ピクセル演算精度の重要度が高まってきている。また、GPUで汎用科学技術計算などを行うGPGPU(General Purpose GPU)という応用活用においても、24ビット浮動小数点では精度が不十分だ。Radeon X1000シリーズのピクセル演算精度32ビット化は、時代が要求した機能拡張といったところだろうか。
2つ目は、SM3.0のトピックともいえる、ピクセルシェーダにおける動的分岐の対応だ。
ピクセルシェーダのブロック図に専用の分岐実行ユニット(Branch Execution Unit)が組み込まれているのがその証だ。機能的にはGeForce 6/7に追いついたということになるわけだが、競合よりもこの分岐実行ユニットのアーキテクチャが進んでおり、同一シェーダを動作させたときにRadeon X1000シリーズはパフォーマンス面で上を行く可能性が高い。
Radeon X1000シリーズでは動的分岐命令に遭遇すると、分岐条件の吟味を開始したと同時に、分岐条件成立、不成立、それぞれのケースにおける分岐先の命令の実行を同時に開始してしまう。分岐条件の吟味が完了して飛び先が確定すると、"当たり"だった方の実行は継続し、"外れ"だった方の実行結果は破棄することになる。そう、これはCPUの分岐命令処理でいうところの投機実行に相当する。民生PC向けGPUとしては初めての仕組みだ。
ちなみに、GeForce 6/7における動的分岐処理は順次実行方式であるため、分岐命令に遭遇するとベクトル/スカラ演算器の実行が一時的に停止する。
なお、Radeon X1000シリーズの投機実行には制限があり、分岐条件成立/不成立の2つの分岐先が、それぞれベクトル演算とスカラ演算という組み合わせに限られる。よって、この投機実行を効果的に活用するためにはシェーダコンパイラの最適化が必要不可欠になる。とはいえ、この専用分岐実行ユニットにより、動的分岐の実行速度はGeForce 6/7を凌駕する可能性は高く、ATI自身も「ピクセルシェーダにおける動的分岐を実用レベルに引き上げた」と鼻息が荒い。
ヘッドライン
- アップル「Aperture 3」発表、プロ向けの性能にiPhotoの容易さを融合[02:28 2/10]アップル
- Appleの「A4」プロセッサとは何か? - エンジニアらの意見[01:54 2/10]アップル
- 医療ソリューション企業Epocrates、iPadは医療現場で人気と報告 - 臨床医2割が購入意向[21:00 2/9]アップル
- 米Apple CEOジョブズ氏がNYで秘密の会合 - 大手新聞社幹部らを訪問[21:00 2/9]アップル
- コーレル、「Corel WinDVD 2010」のアップデートを公開[20:46 2/9]ソフト
- Microsoft、Windows 7の「バッテリ交換」警告問題に回答[20:33 2/9]Windows 7
- ネットユーザーがキーボードでこだわるポイント - アイシェアが調査[19:53 2/9]周辺機器
- クレオ、"ブライダル"に欠かせないソフト「筆まめ Braidal 6」2製品を発売[19:42 2/9]ソフト
- ドスパラ、ドイツ「ROCCAT」製ゲーミングマウスとキーボードを販売開始[19:39 2/9]ドスパラ
- 米Micron台湾とNanya、42nmの2GビットDDR3を共同で開発[18:47 2/9]自作













