命令レジスタ

読み:めいれいれじすた / 英語表記:instruction register

CPUが主記憶から取り出した(フェッチした)命令を、解読して実行するまでの間、一時的に保持しておくレジスタ。命令レジスタの内容は、命令デコーダに渡される。

イマシルちゃんの解説

CPUは、主記憶というメモリから命令を読み出して計算などを進めるんだ。
命令レジスタは、その読み出した命令を一時的に保管するCPU内部の記憶回路だよ。
そこから命令を受け取る命令デコーダは、どんな操作が指示されているかを読み取る回路なんだ。
命令レジスタが内容を保ってくれるから、後に続く回路がその指示を使えるわけだね。
命令が置かれていた場所ではなく、読み出した指示の内容を覚えておくのが役割だよ。

より深い解説

命令実行の流れ

CPUは、次のサイクルを繰り返して、プログラムを実行する。

段階内容使う構成要素
1. 命令の取出し(フェッチ)プログラムカウンタが示す番地の命令を、主記憶から読み出すプログラムカウンタ、命令レジスタ
2. 命令の解読(デコード)命令レジスタの命令を解読し、何をするかを決める命令デコーダ
3. オペランドの読出し演算に使うデータを、レジスタや主記憶から読み出す汎用レジスタ
4. 実行演算を行うALU(演算装置)
5. 結果の書込み結果を、レジスタや主記憶に書き込む汎用レジスタ、アキュムレータ

フェッチした命令は、「主記憶 → 命令レジスタ → 命令デコーダ」の順に渡される。

主なレジスタ

レジスタ役割
プログラムカウンタ(プログラムレジスタ)次に実行する命令が格納されている主記憶の番地を保持する。命令を取り出すたびに、次の番地に進む
命令レジスタ取り出した命令そのものを保持する
アキュムレータ演算の結果を一時的に保持する
汎用レジスタデータや番地など、様々な値を一時的に保持する
フラグレジスタ演算結果がゼロか、負か、桁あふれしたかなどを保持する

プログラムカウンタは「どこから取り出すか」という番地を持ち、命令レジスタは「取り出した命令」を持つ。

データキャッシュとの区別

キャッシュメモリは、主記憶とCPUの速度の差を埋めるための高速な記憶装置で、命令用(命令キャッシュ)とデータ用(データキャッシュ)に分けることがある。フェッチした命令がデコーダに渡る前に保持される場所は、命令レジスタである。

実際の試験ではここに出る!全2問

ネットワークスペシャリスト

午前Ⅱ

この用語が出てくる記事

↑