2014年12月19日 10:00
コンピュータアーキテクチャの話 (319) CPUに比べて圧倒的に多いレジスタ数
GPUのレジスタファイルアクセスは、図3.4に示したように、スレッドテーブルの読み出し、Reg Baseの加算などの処理が必要であり、また、レジスタのエントリ数が多いので、CPUのレジスタのように高速でアクセスできるように作るのは難しい。このため、例えば、Curr ThreadレジスタからReg Baseの加算までを1サイクル、Reg File内部のデコーダの出力までに1サイクル、アレイを読み出すのに1サイクルというように、レジスタファイルのアクセスがパイプライン構造になっているのではないかと思われる。
シングルスレッドを高速に実行することを目指すCPUの場合は、レジスタファイルのアクセスサイクル数が増えることは性能を大きく低下させてしまうが、GPUの場合は、同一スレッドの次の命令が出てくるのは、10命令サイクル(20サイクル)とか後になるので、レジスタアクセスに3サイクルかかっても性能的な悪影響はないと思われる。
小池貞利(the dadadadys)、弾き語りイベント『吾亦紅』開催決定 ゲストは橋本薫(Helsinki Lambda Club)