コンピュータアーキテクチャの話 (312) 固定小数点の演算から、浮動小数点の演算へ
の命令を持つアーキテクチャが多く見られた。例えば、NVIDIAのGeForce 6800 GPUは、頂点シェーダは123bit長の命令を使うVLIWで、ピクセルシェーダも2つのシェーダユニットそれぞれにいくつかの演算を並列に指定するVLIWとなっていた。
GeForce 6800でもピクセル処理には2つのシェーダを使っていたが、頂点ごと、ピクセルごとに処理するデータの値は異なるが、演算は同じであることに着目して複数のデータに並列に同じ演算を行うSIMD(Single Instruction stream Multiple Data stream)アーキテクチャのGPUが作られた。
もちろん、各頂点、各ピクセルの処理をそれぞれプロセサコアを使って並列に処理を行っても良いのであるが、同じ命令を複数のコアが読んで解釈するのは無駄で、命令のフェッチとデコードの部分は1つにして、演算器だけを並べてやれば良い。こうすれば、同じ数のトランジスタで、より多くの演算器を作ることができ、演算1回あたりの消費エネルギーの点でも有利である。