プログラムカウンター

提供: MonoBook
ナビゲーションに移動 検索に移動

プログラムカウンター英語:Program Counter、通称:PC)とは、 CPUが次に実行すべき命令があるメモリ上のアドレスを格納したレジスターである。

なお、プログラムカウンターの呼称はCPUメーカーごとに方言がいっぱいある。

  • Instruction Pointer (IP) = Intel
  • Instruction Address Register (IAR)
  • Instruction Counter (IC) = IBM
  • Instruction Sequencer (IS)

概要[編集 | ソースを編集]

通常、CPUは命令をフェッチするとPCはインクリメントされ次に実行する命令のメモリアドレスを保持する。 この繰り返しにより順次命令が実行される。

条件分岐命令はこのPCにジャンプ先となる新しい値を入れることで実行順序を変更する。

サブルーチンコールは、前述の条件分岐命令の直前にPCの値をどこかに保存しておくことで、リターンできるようにしたものである。

備考[編集 | ソースを編集]

AVRコントローラーなどのRISCチップの一部製品は、 PCがバイナリカウンターになっており、 命令のフェッチではなく1クロックごとに強制的にインクリメントされるものもある。