くらし情報『コンピュータアーキテクチャの話 (319) CPUに比べて圧倒的に多いレジスタ数』

2014年12月19日 10:00

コンピュータアーキテクチャの話 (319) CPUに比べて圧倒的に多いレジスタ数

このようにGPUでは、スレッドによって使うレジスタ数が異なるため、レジスタのアクセス機構は図3.4のようになっていると考えられる。Curr Threadがそのサイクルに実行するスレッド番号を指しており、これを使って、スレッドテーブルからスレッドのStatus、PC(Program Counter)とレジスタ番号のベース値を読み出す。また、論理的にはこのテーブルは命令キャッシュ2ライン分の命令バッファを含んでおり、実行する命令のPC付近の命令をキャッシュから読み出して保持している。また、この図では書かれていないが、命令バッファに格納している命令が無くなってくると、命令キャッシュから自動的にフェッチして命令バッファに入れる機構が設けられている。これはCPUの場合の命令バッファのフィル機構と同じである。

そしてPCを使って、命令バッファから実行する命令を命令セレクタで取り出し、レジスタ番号のフィールドであるRA、RB、RCにReg Baseの値を加えてレジスタファイルをアクセスする。このようにすればスレッドごとにレジスタを使用する範囲を任意に指定することができる。なお、この図では書き込み側については省略しているが、結果を書き込むレジスタ番号についても同様に計算し、パイプラインレジスタを使って、書き込みサイクルまで遅延させて使えば良い。

新着くらしまとめ
もっと見る
記事配信社一覧
facebook
Facebook
Instagram
Instagram
X
X
YouTube
YouTube
上へ戻る
エキサイトのおすすめサービス

Copyright © 1997-2024 Excite Japan Co., LTD. All Rights Reserved.