コンピュータアーキテクチャの話 (312) 固定小数点の演算から、浮動小数点の演算へ
○大量の計算を効率的に実行するGPUの構造
このように頂点シェーダやピクセルシェーダは大量の計算を行う必要がある。これらの計算は、初期には計算が簡単な固定小数点の演算が用いられたが、ピクセルの明るさなど取り得る値の範囲が大きい量を扱うには不便であるので、現在では、表せる値の範囲が広い浮動小数点の数値を用いて計算を行うというのが普通である。一般的には32bitで1つの数を表す単精度の浮動小数点数が用いられ、数の表現や演算の精度などについてはIEEE 754規格に準拠するものが一般的である。しかし、ハードウェアを減らして性能を上げるために、24bitや16bitの浮動小数点数を用いる場合もある。
いずれにしても、頂点座標の変換やピクセルの明るさや色の計算は大量の計算となるので、GPUとしては、大量の計算を高速で実行できるアーキテクチャであることが重要である。
これらの計算は浮動小数点演算であるが、アドレスの計算など整数の計算も必要であるので、浮動小数点演算器、整数演算器、ロードストアユニットなどのいくつかのユニットを持ち、これらのユニットそれぞれの動作を指定するためにVLIW(Very Long Instruction Word)