正答4
解説
正解は4です。
プログラムレジスタ(プログラムカウンタ)は、CPUが次に実行する命令の場所を管理するレジスタです。
CPUの主なレジスタの役割を区別できるかが問われています。
【選択肢別解説】
1:× 演算に使うためにメモリから読み出したデータを保持するのは、データレジスタやアキュムレータの役割です。
プログラムカウンタはデータではなくアドレスを保持します。
2:× 演算結果の状態(ゼロ、負、桁あふれなど)を保持するのは、フラグレジスタ(ステータスレジスタ)です。
条件付き分岐命令は、このフラグを参照して分岐するかを決めます。
3:× 主記憶から読み出した命令を、デコードのために保持するのは命令レジスタです。
プログラムカウンタは命令そのものではなく、その格納場所を保持します。
4:○ プログラムカウンタは、次に読み出す命令が格納された主記憶のアドレスを保持します。
命令を読み出すたびに次の命令のアドレスに更新され、分岐命令では分岐先のアドレスに書き換えられます。
【ポイント】
命令実行の流れは「プログラムカウンタのアドレスから命令を読み出し、命令レジスタに入れて解読する」です。
アドレスはプログラムカウンタ、命令は命令レジスタと対にして覚えましょう。