CPUとGPUのパイプライン役を果たしているのが、ブロックダイアグラム最上段の「コマンドプロセッサ」(Command Processor)だ。具体的にはドライバソフトから送られてきたコマンドやデータを処理して実際にGPUコアに流し込む作業を担当している。

AMDによれば「Radeon HD 2000シリーズのコマンドプロセッサは、歴代Radeonシリーズの中で最も高度なものとなっている」とのことで、(ビデオ)メモリからマイクロコードを読み込みつつプログラムを実行していくCPU的な動作が行えるとしている。

従来のGPUでは、アプリケーションからの描画依頼を、CPUで実行されるドライバソフトがかみ砕いて理解し、これをGPUが実際に描画を行うのに都合のよいコマンドやデータに変換していた。Radeon HD 2000シリーズではこの作業のかなりの割合を、GPU側のこのコマンドプロセッサで行うようにしたのだという。

いわばドライバ動作を、GPU内部で行うようにした、というようなイメージになる。これにより、ドライバソフトの負荷が低減されることになり、これはつまりCPU負荷が低減されることになる。AMDによれば、従来のRadeonシリーズ比較してCPU負荷を30%低減できたとしている。

メリットはこれだけではない。

コマンドプロセッサはGPU内部にあるわけだから、常にGPUコアの動作状況を調査、把握することが出来る。また、これから実行しようとする描画コマンドやデータの状況も管理下においている。そこで、コマンドプロセッサは、現在積まれている描画依頼から、GPU内部の暇な部署がたくさん働いてくれるように描画コマンド発行のハンドルリングをする。これにより、GPU内部のボトルネックが起こりにくくなり、つまりはGPU内部が常にフル回転しやすくなる。RTSゲームのユニット表示のような、小単位の描画を多量に行うような「スモール・バッチ問題」についても、この構造が効果的に働く、とAMDも説明している。

いわばAIのような適応型のGPU駆動を行うのもこのコマンドプロセッサの仕事なのだ。なお、このコマンドプロセッサの働きはWindows XP/DirectX 9環境下でも実現される。

もう一つ、この部分が強化されることで、GPU仮想化が実装しやすいというメリットも生まれる。

次世代DirectX 10.1ではドライバモデルがさらに進化してWDDM2.1となり、GPUの仮想化粒度がさらに進む予定だ。あるアプリケーションから3Dグラフィックス描画が依頼され、また別のアプリケーションからは動画のエンコード処理が依頼されたり…というような状況の時に、このインテリジェントなコマンドプロセッサならば複数のGPU活用のタスクを効果的にハンドリングできる。現行、Radeon HD 2000シリーズならば、このままWDDM2.1への対応が可能なはずだ。ちなみに、NVIDIA GeForce 8000シリーズにはこの仕組みはまだない。

ブロックダイアグラムの上段拡大図