プログラムカウンタ 【program counter】 プログラムレジスタ / PCレジスタ / 命令アドレスレジスタ / instruction address register / 命令ポインタ / instruction pointer / インストラクションポインタ / IPレジスタ / 逐次制御カウンタ / SCC / Sequential Control Counter
概要
プログラムカウンタ(program counter)とは、マイクロプロセッサ(MPU/CPU)内部でデータを保持するレジスタの一種で、次に実行すべき命令が格納されているメモリ上の番地(アドレス)を保存しているもの。また、その保存しているアドレス値。「PC」と略記されることもある。レジスタ(register)はプロセッサの回路内に存在する極めて高速に読み書きできる記憶装置で、用途に応じて様々なものが用意されている。プログラムカウンタはそのうちの一つで、次に実行すべき命令がメモリ上のどの番地に格納されているかを指し示している。
プログラムの実行が開始され、メモリ上のある番地から実行すべき命令が読み出されると、プロセッサ内の制御回路によって命令の長さの分だけプログラムカウンタの値が加算され、次に実行すべき命令(の先頭位置)の番地を指し示すようになる。分岐やジャンプは、プログラムカウンタの内容を飛び先のプログラムが格納されている番地に書き換えることで実現される。
(2020.1.9更新)