コンピュータアーキテクチャの話 (319) CPUに比べて圧倒的に多いレジスタ数
GPUのレジスタファイルアクセスは、図3.4に示したように、スレッドテーブルの読み出し、Reg Baseの加算などの処理が必要であり、また、レジスタのエントリ数が多いので、CPUのレジスタのように高速でアクセスできるように作るのは難しい。このため、例えば、Curr ThreadレジスタからReg Baseの加算までを1サイクル、Reg File内部のデコーダの出力までに1サイクル、アレイを読み出すのに1サイクルというように、レジスタファイルのアクセスがパイプライン構造になっているのではないかと思われる。
シングルスレッドを高速に実行することを目指すCPUの場合は、レジスタファイルのアクセスサイクル数が増えることは性能を大きく低下させてしまうが、GPUの場合は、同一スレッドの次の命令が出てくるのは、10命令サイクル(20サイクル)とか後になるので、レジスタアクセスに3サイクルかかっても性能的な悪影響はないと思われる。
「いいお嫁さんもらったわ」義母が義弟の結婚相手を絶賛! 理由はもちろん…【たかり屋義母をどうにかして! Vol.20】