正答4
解説
正解は4です。
プログラムレジスタ(プログラムカウンタ)は、命令実行サイクルの命令フェッチで使われるレジスタです。
CPU内の各レジスタが何を保持するかを区別できるかが問われています。
【選択肢別解説】
1:× メモリから読み出した演算対象のデータを保持するのは、汎用レジスタやアキュムレータです。
プログラムレジスタはデータではなくアドレスを保持します。
2:× 演算結果がゼロか負かなどの状態を保持するのは、フラグレジスタ(ステータスレジスタ)です。
条件付き分岐はこの値を参照します。
3:× メモリから読み出した命令そのものを保持するのは、命令レジスタです。
命令デコーダは命令レジスタの内容を解読します。
4:○ プログラムレジスタは、次に実行する命令が格納されたアドレスを保持します。
命令を読み出すたびに次の命令のアドレスへ更新されます。
【ポイント】
命令実行は、プログラムレジスタが示すアドレスから命令を読み出し、命令レジスタに格納してデコードする流れで進みます。
分岐命令では、プログラムレジスタに分岐先アドレスが設定されます。