忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【コンピュータ構成】次にやるべきことを忘れない!「プログラムカウンタ」|情報処理問題1000本ノック

CPUがプログラムを順番に実行できるのは、常に「次はこの場所(アドレス)」と教えてくれるガイドがいるからです。その役割を担う「プログラムカウンタ」を攻略しましょう。

1. 【 問題 】:CPU内のレジスタ

【 問題 】 CPUの構成要素であるレジスタのうち、次に実行すべき命令が格納されている主記憶装置(メインメモリ)のアドレスを保持しているものはどれでしょうか?

① アキュムレータ
② 命令レジスタ
③ プログラムカウンタ
④ インデックスレジスタ

2. 正解:

正解: ③ プログラムカウンタ(Program Counter)

3. 解説:CPUの「しおり」の役割

プログラムは主記憶(メモリ)上に一列に並んでいます。CPUはそれを一つずつ取り出して実行しますが、その「読み取り位置」を覚えているのがプログラムカウンタです。

【CPUが命令を実行する流れ】

1. 命令の取り出し(フェッチ)
プログラムカウンタが指すアドレスの命令を、メモリから読み出します。

2. カウントアップ
・命令を取り出したら、プログラムカウンタの値は自動的に次の命令のアドレスに更新されます。

3. 命令の解読と実行
・取り出した命令を「命令レジスタ」に入れ、解読(デコード)して実行します。
[ 混同しやすい「命令レジスタ」との違い ]
プログラムカウンタ:次に実行する命令の「場所(アドレス)」を指すもの。
命令レジスタ:取り出した命令の「中身そのもの」を一時的に置くもの。

1. 理解のコツ: 読書をしている時の「指先」や「しおり」をイメージしてください。今読んでいる場所ではなく、「次に読むべき行」を指し示しているのがプログラムカウンタです。
2. 試験対策の視点: 「次に実行すべき」「命令のアドレス」「記憶・保持」という言葉が揃ったらプログラムカウンタが正解です。分岐命令(ジャンプ)が実行されたときは、このカウンタの値がジャンプ先のアドレスに書き換えられることで、実行順序が飛びます。


4. まとめ

「次に実行する命令のアドレスを保持するレジスタ」。これがプログラムカウンタです。CPUが迷子にならずにプログラムを先へ進めるための、ナビゲーターのような存在です。


PR