レジスタとは、CPU内にある超高速の記憶装置です。CPU外には主記憶装置(メインメモリ)がありますね。
CPUには、その目的に応じていくつかのレジスタがある。たとえば、命令を記憶する命令レジスタや命令のアドレスを記憶する命令アドレスレジスタ(プログラムカウンタ)

過去問で登場したレジスタの種類を紹介します。

①スタックポインタ
過去問(H28春AP問8)では「CPUのスタックポインタが示すもの」として、「サブルーチン呼出し時に,戻り先アドレス及びレジスタの内容を格納するメモリのアドレス」とあります。

②プログラムレジスタ(プログラムカウンタ)
・過去問(H29春AP問8)では、「CPUのプログラムレジスタ(プログラムカウンタ)の役割」として、「命令を読み出すために,次の命令が格納されたアドレスを保持する」とあります。
・過去問(H28春AP問8不正解選択肢)では、「次に読み出す機械語命令が格納されているアドレス」

③命令レジスタ
・命令レジスタに関して過去問(H29春AP問8)では、「命令のデコードを行うために,メモリから読み出した命令を保持する」とあります。命令のデコードとありますが、デコードは「解読」の意味です。

---------過去問をみてみましょう。

■H23秋IP
問79 データの読み書きが高速な順に左側から並べたものはどれか。
ア 主記憶,補助記憶,レジスタ
イ 主記憶,レジスタ,補助記憶
ウ レジスタ,主記憶,補助記憶
エ レジスタ,補助記憶,主記憶

正解はウ

■H25秋FE午前
問2 32ビットのレジスタに16進数ABCDが入っているとき,2ビットだけ右に論理シフトした値はどれか。
ア 2AF3  イ 6AF3  ウ AF34  工 EAF3

■平成29年春期 午前 問8
問8 CPUのプログラムレジスタ(プログラムカウンタ)の役割はどれか。

ア 演算を行うために,メモリから読み出したデータを保持する。
イ 条件付き分岐命令を実行するために,演算結果の状態を保持する。
ウ 命令のデコードを行うために,メモリから読み出した命令を保持する。
エ 命令を読み出すために,次の命令が格納されたアドレスを保持する。


ウは、命令レジスタです。命令のデコード(解読)をするために、命令を保持します。
正解は、エです。

■H24秋IP
問76 コンピュータにおける命令の実行順序に関する次の記述中のa,bに入れる字句の適切な組合せはどれか。
コンピュータにおける命令の実行順序は,
 (1)プログラムカウンタの参照
 (2)命令の【 a 】
 (3)次の命令の主記憶アドレスをプログラムカウンタにセットする。
 (4)命令の【 b 】
 (5)命令に応じた処理を実行
 (6)(1)へ戻る。
を繰り返す。
  a   b
ア 解読 読込み
イ 書込み 解読
ウ 読込み 解読
工 読込み 書込み




正解はウ 

■H28春
問8 CPUのスタックポインタが示すものはどれか。
ア サブルーチン呼出し時に,戻り先アドレス及びレジスタの内容を格納するメモリのアドレス
イ 次に読み出す機械語命令が格納されているアドレス
ウ メモリから読み出された機械語命令
エ 割込みの許可状態,及び条件分岐の判断に必要な演算結果の状態




【正解】ア