レジスタとは?れじすた
レジスタとは、プロセッサの内部に置かれた、演算やアドレスの保持に使う最も高速な記憶。次に取り出す命令の番地を示すプログラムカウンタ、取り出した命令を保持する命令レジスタ、演算結果を置くアキュムレータ、指標レジスタ、スタックポインタ、状態レジスタなど役割ごとに種類がある。
最終更新:2026-10-06
この語が出る過去問を解く →背景
プロセッサの動作速度だけが年々上がり、主記憶へのアクセスは相対的に何十倍も遅い作業になった。演算のたびに主記憶へ値を取りに行けば、演算器はほとんどの時間を待つことに費やす。そこで演算器のすぐ隣にごく少量の記憶を置き、繰り返し使う値をそこに留める。少量なのは回路面積のコストと、命令語の中でレジスタを指定するビット数が限られるためで、記憶階層の最上位という位置づけになる。本数が限られる以上、どの変数をどのレジスタに割り当てるかはコンパイラの最適化の中心課題になる。
具体例
状態レジスタには演算結果がゼロだったか、桁あふれが起きたかといった情報がビットで残り、条件分岐命令はこれを見て分岐するかを決める。関数呼出しではスタックポインタが戻り番地や引数を積む位置を指し、呼出しが入れ子になるたびに上下する。
試験での引っ掛け
プログラムカウンタが保持するのは、実行中の命令ではなく次に取り出す命令の番地とするのが一般的である。アキュムレータは演算の途中結果を置く作業用で、番地を保持する役目の指標レジスタやベースレジスタとは区別する。名前と役割を入れ替えた選択肢が定番の出題形式になる。
関連用語
出た過去問
出典:平成29年度 春期 応用情報技術者試験 午前 問8(IPA)
CPUのプログラムレジスタ(プログラムカウンタ)の役割はどれか。
正解:命令を読み出すために,次の命令が格納されたアドレスを保持する。
要点:プログラムカウンタは次に実行する命令のアドレスを保持する
プログラムカウンタは、次に読み出して実行すべき命令が置かれている主記憶上のアドレスを保持するレジスタである。命令を読み出すたびに更新され、分岐命令では分岐先アドレスが設定される。
出典:平成30年度 春期 応用情報技術者試験 午前 問22(IPA)
クロックの立上りエッジで、データを入力の最下位ビットに取り込んで上位方向へシフトし、ストローブの立上りエッジで値を確定する8ビットのシリアル入力パラレル出力シフ…
正解:8D
要点:LSB入力・上位シフトなら最初のビットが最上位になる
データはクロックの立上りごとに最下位ビットへ取り込まれ、既存の値は上位へシフトしていく。したがって最初に取り込んだビットが最終的に最上位ビットとなり、最後に取り込んだビットが最下位に残る。波形の順にビットを並べて8ビットにまとめ、ストローブの立上りで確定した値を16進数で表すと8Dとなる。
出典:令和元年度 秋期 応用情報技術者試験 午前 問9(IPA)
CPUのプログラムレジスタ(プログラムカウンタ)の役割はどれか。
正解:命令を読み出すために、次の命令が格納されたアドレスを保持する。
要点:プログラムカウンタが持つのは命令そのものでなく次命令のアドレス
プログラムカウンタは、次に実行する命令が格納された主記憶上のアドレスを保持するレジスタです。命令を読み出すたびに自動的に進み、分岐命令ではジャンプ先アドレスが設定されます。データを保持するのではなく、アドレスを保持する点が要点です。
出典・参考
公式シラバスの2 コンピュータシステム > 1. プロセッサ > (5) プロセッサの構造と方式に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。