プログラムカウンタ【program counter】プログラムレジスタ

別名  :PCレジスタ/命令アドレスレジスタ/instruction address register/命令ポインタ/instruction pointer/インストラクションポインタ/IPレジスタ/逐次制御カウンタ/SCC/Sequential Control Counter

概要

プログラムカウンタとは、CPU内部でデータを保持するレジスタの一種で、次に実行すべき命令が格納されているメモリ上の番地(アドレス)を保存しているもの。また、その保存しているアドレス値。
プログラムカウンタのイメージ画像

レジスタ(register)はプロセッサの回路内に存在する極めて高速に読み書きできる記憶装置で、用途に応じて様々なものが用意されている。プログラムカウンタはそのうちの一つで、次に実行すべき命令がメモリ上のどの番地に格納されているかを指し示している。

プログラムの実行が開始され、メモリ上のある番地から実行すべき命令が読み出されると、プロセッサ内の制御回路によって命令の長さの分だけプログラムカウンタの値が加算され、次に実行すべき命令(の先頭位置)の番地を指し示すようになる。分岐やジャンプは、プログラムカウンタの内容を飛び先のプログラムが格納されている番地に書き換えることで実現される。

(2020.1.9更新)

他の用語辞典による「プログラムカウンタ」の解説 (外部サイト)

資格試験などの「プログラムカウンタ」の出題履歴

▼ ITパスポート試験
平24春 問61】 CPUにおけるプログラムカウンタの説明はどれか。
▼ 基本情報技術者試験
令4修1 問11】 CPUのプログラムレジスタ(プログラムカウンタ)の役割はどれか。
平30秋 問10】 割込み処理の終了後に,割込みによって中断された処理を割り込まれた場所から再開するために,割込み発生時にプロセッサが保存するものはどれか。
平27修7 問9】 CPUのプログラムレジスタ(プログラムカウンタ)の役割はどれか。
平23秋 問10】 CPUのプログラムレジスタ(プログラムカウンタ)の役割はどれか。