最新のGPU:それらはどの程度「インテリジェント」ですか?
3Dプログラミング(OpenGLまたはDirectX)および対応するグラフィックスパイプラインには多くのリソースがありますが、最新のGPUにどのレベルで実装されているのでしょうか。 これまでのところ、グラフィックパイプラインのさまざまな段階を実装する非常に専門的なサーキュリーから、より一般的なアプローチへの移行があったことがわかりました。この変換は、プログラマブルシェーダーの形で3D APIに部分的に反映されています。ほとんどのトランジスタは、実際のシェーダー命令を実行する超並列SIMDユニット専用です。 しかし、残りのグラフィックスパイプラインはどうでしょうか。それはまだハードウェアに実装されていますか? 最新のGPU(Nvidia Fermiなど)は基本的に、CPUとさまざまなキャッシュからの命令とデータが供給される「愚かな」SIMDアレイのセットであり、グラフィックスパイプラインをそれらの命令にマッピングする実際のロジックはすべてグラフィックスドライバーで発生します? または、GPUのどこかに、入ってくる高レベルの命令とデータストリーム(コンパイルされたシェーダープログラム、頂点データと属性、およびテクスチャ)を実際のSIMD命令に変換し、同期、メモリ割り当てなどを処理する制御ユニットがありますか? 現実はこれらの両極端のどこかにあると思われ、答えはかなり長く、多くの推測に基づいています(特定のGPUベンダーが製品についてのドキュメントを公開することを拒否し、ドライバーはもちろん理由があるはずです)ソースコード...)、しかし正しい方向のヒントや有用なリソースは大歓迎です。 これまでのところ、最新のGPUについてより深く理解するのに非常に役立つ一連のブログ記事を見つけましたが、アーキテクチャ全体に関する何らかの高レベルの概要がありません-言及された概念のほとんどを理解できますが、それらがどのように組み合わされるかについてはよくわかりません。