プログラムカウンタ
プログラムカウンタ(英:program counter)とは、レジスタの一種で次に実行すべき命令が入っているアドレス(メモリ上の番地)を記憶しておくものです。
レジスタとは
レジスタ(英:register)とは、CPU内部にある記憶装置のことです。
CPUは次のような手順で命令を順番に処理しています。命令を取り出して解読、解読結果から対象データを読み出して実行という流れです。
命令の実行手順
- 命令の取り出し(命令フェッチ)
- 命令の解読(デコード)
- 対象データの読み出し(オペランドの読み出し)
- 命令の実行
- 結果の書き込み
このとき「取り出した命令の情報」や「次はどの命令を取り出せばよいかの情報」を覚えておく必要があります。この役割を果たすのがCPU内部にあるレジスタです。
プログラムカウンタとは
プログラムカウンタは、次に実行すべき命令が入っているアドレス(メモリ上の番地)を記憶しておくためのレジスタです。
CPUが命令を実行する際、プログラムカウンタと呼ばれるレジスタの内容を参照し、メモリ上から命令を取り出します。
そして、プログラムカウンタを参照してメモリから取り出した命令は、命令レジスタと呼ばれるレジスタに記憶します。
命令を取り出した後は、次の命令に備えてプログラムカウンタの値を加算します。(今回の命令が1002、次の命令が1003の場合は、プログラムカウンタに+1して1003とする)
helpful
この記事は役に立ちましたか?