【基本情報技術者試験】レジスタとその種類について解説
Contents
レジスタとは?
レジスタとは、CPUが命令を実行するために取り出した情報を保持するための場所です。
主記憶装置からCPUが命令を読み込んで、その命令は、CPU内部のレジスタといわれる記憶装置の中で保持されます。
保持と言ってもUSBメモリのように長期的に保持するのではなく、あくまでも一連の処理を終えるまでの短い期間です。
レジスタはごく小さな容量 で、かなり高速で読み書きを行えるという特徴があります。
レジスタの種類
レジスタの中にもいくつか種類があります。
プログラムカウンタ
次に実行するべき命令が入っているアドレスを記憶するレジスタです。
命令レジスタ
取り出した命令を一時的に記憶するためのレジスタです。
プログラムカウンタと似ていますよね。
イメージとしては、プログラムカウンタの方が一歩手前って感じですかね。
インデックス(指標)レジスタ
アドレス修飾に用いるためのレジスタです。
アドレス修飾って言われてもよく分からないですよね。正直、私もよく分かっていません(笑)。
連続したデータの取り出しに使うための増分値を保持するレジスタです。
100番から200番のデータを取り出したいときに、+1、+2…という増分値を保持するというイメージで良いかと思います。
ベースレジスタ
こちらもアドレス修飾に用いられるレジスタのようです。
さきほどのインデックスレジスタが増分値を保持するのに対し、ベースレジスタはプログラムの先頭アドレスを保持します。
アキュムレータ
演算の対象となる数や、演算結果を記憶するレジスタです。
「2+3=5」という演算を行う場合、演算の対象である「2」「3」、演算結果の「5」を記憶します。
汎用レジスタ
こちらは、特に機能を限定していないレジスタです。一時的な値の保持、アキュムレータなどの代用に使われるようです。
いろんな役割をこなすオールラウンダーのようなイメージですね。
例題
CPUのプログラムレジスタ(プログラムカウンタ)の役割はどれか。
ア 演算を行うために、メモリから読み出したデータを保持する。
イ 条件付き分岐命令を実行するために、演算結果の状態を保持する。
ウ 命令のデコードを行うために、メモリから読み出した命令を保持する。
エ 命令を読み出すために、次の命令が格納されたアドレスを保持する。
正解はエです。
プログラムカウンタは、次に実行するべき命令が入っているアドレスを記憶するレジスタです。
キーワードは、「次に実行するべき命令」「アドレス」です。
まとめ
- CPUが命令を実行するために取り出した情報はレジスタに保持される。
- プログラムカウンタは、次に実行するべき命令が入っているアドレスを記憶する。
- 命令レジスタは、取り出した命令を一時的に記憶する。
- インデックスレジスタは、連続したデータの増分値を保持する。
- ベースレジスタは、プログラムの先頭アドレスを保持する。
- アキュムレータは、演算の対象となる数・演算結果を記憶する。
- 汎用レジスタは、一時的な値の保持や、アキュムレータの代用など、複数機能をこなすレジスタ。
ということで、今回の記事はここまでです。何か参考になる情報があれば嬉しいです。
このブログでは、他にも基本情報技術者試験に関する内容を投稿しています。
今後も随時追加していきます。
最後までお読みいただき、ありがとうございました。