レジスタの種類(プログラムカウンタ・命令レジスタ)とは?れじすたのしゅるい
レジスタの種類(プログラムカウンタ・命令レジスタ)とは、CPUが命令を実行する間、番地・命令語・演算の値・結果の状態といった作業中の情報を保持しておく内部の高速な記憶回路。役割ごとに専用の器が用意されており、次に読む命令の番地はプログラムカウンタ、読み出した命令語は命令レジスタ、計算の対象と結果は汎用レジスタやアキュムレータ、桁あふれやゼロの有無はフラグレジスタが受け持つ。
最終更新:2026-10-06
この語が出る過去問を解く →背景
主記憶との速度差は桁で開いており、命令を読むたびに主記憶へ取りに行っていては演算器が待たされ続ける。命令の実行を取出し・解読・実行・格納の段に分けて流すには、各段の途中の値を置く場所が要る。役割を固定した小さな置き場をCPUの中に並べる、という設計はこの二つの要請から来ている。
具体例
命令実行サイクルでは、プログラムカウンタが指す番地から命令を読んで命令レジスタへ入れ、解読と並行してプログラムカウンタを次の番地へ進める。分岐命令ではプログラムカウンタに飛び先が書き込まれて流れが切り替わり、条件分岐はフラグレジスタの値を見て判断する。このフラグはx86ではEFLAGS、Armではプログラムステータスレジスタと呼ばれる。
試験での引っ掛け
プログラムカウンタは実行中の命令の番地ではなく、原則として次に読み出す命令の番地を指す。命令レジスタも、プログラムが自由に読み書きできる汎用の置き場ではなく、命令の一時保管専用である。OSがタスクを切り替えるときにこれらの内容をまとめて退避・復元する処理(コンテキストスイッチ)が、切替えの負荷として問われることもある。
関連用語
出た過去問
出典:令和元年度 秋期 ITサービスマネージャ試験 午前Ⅱ 問19(IPA)
図はプロセッサによってフェッチされた命令の格納順序を表している。aに該当するプロセッサの構成要素はどれか。
正解:命令レジスタ
要点:フェッチした命令は命令レジスタを経てデコーダへ渡る
主記憶から読み出された命令は、いったん命令レジスタに保持され、そこから命令デコーダへ送られて解読される。命令の格納順序としては主記憶→命令レジスタ→命令デコーダとなるため、aは命令レジスタである。プログラムカウンタは次に実行する命令のアドレスを保持するもので、命令そのものは入らない。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。