ITサービスマネージャ 2019年 午前2 問19
問題文
図はプロセッサによってフェッチされた命令の格納順序を表している。aに該当するプロセッサの構成要素はどれか。

選択肢
ア:アキュムレータ
イ:データキャッシュ
ウ:プログラムレジスタ(プログラムカウンタ)
エ:命令レジスタ(正解)
🔒 解説は解答すると表示されます
命令レジスタの役割【午前2解説】
正解の理由
主記憶から読み出された命令は、命令デコーダで解読される前に、プロセッサ内の命令レジスタに一時的に格納されます。
図では、主記憶から命令デコーダへ向かう途中にある「a」がこの命令の格納場所です。したがって、該当する構成要素はエです。
解法ステップ
- 図の矢印をたどり、主記憶から読み出された命令の流れを確認します。
- 命令デコーダの直前にある「a」に注目します。
- 命令を一時的に保持し、デコーダへ渡す役割を持つ構成要素を選びます。
この役割を担うのが、命令レジスタです。
選択肢別の誤答解説
-
ア:アキュムレータ
演算対象のデータや、演算結果を保持するレジスタです。命令をデコーダへ渡すための格納場所ではありません。 -
イ:データキャッシュ
プロセッサが主記憶へアクセスする時間を減らすため、データを一時的に保持する記憶装置です。図のように、命令をデコーダへ渡す役割を表すものではありません。 -
ウ:プログラムレジスタ(プログラムカウンタ)
次に実行する命令が格納されているアドレスを保持します。命令そのものを保持するレジスタではありません。 -
エ:命令レジスタ
主記憶からフェッチした命令を一時的に保持し、命令デコーダへ渡します。図の位置と役割に一致します。
よくある誤解
-
プログラムカウンタが命令を保持すると考える
プログラムカウンタが保持するのは、次の命令の「アドレス」です。命令そのものを保持するのは命令レジスタです。 -
命令レジスタと命令デコーダを同じものと考える
命令レジスタは命令を保持し、命令デコーダはその命令を解読します。それぞれ役割が異なります。 -
キャッシュなら命令も保持できるため、図の「a」もキャッシュだと考える
キャッシュは主記憶へのアクセスを高速化する仕組みです。この図が示す「命令をデコーダへ渡す前の格納場所」は、命令レジスタです。
補足コラム
命令の実行は、一般に「命令のアドレスを指定する」「主記憶から命令を読み出す(フェッチ)」「命令レジスタに保持する」「命令デコーダで解読する」「命令を実行する」という流れで進みます。
特に、プログラムカウンタはアドレス、命令レジスタは命令、命令デコーダは解読と、役割を分けて覚えると区別しやすくなります。
FAQ
Q. フェッチとは何ですか?
A. 主記憶から、実行する命令を読み出す処理です。読み出された命令は命令レジスタに格納されます。
A. 主記憶から、実行する命令を読み出す処理です。読み出された命令は命令レジスタに格納されます。
Q. プログラムカウンタは、いつ更新されますか?
A. 通常は命令を読み出した後、次に実行する命令のアドレスを指すように更新されます。ただし、分岐命令などでは、更新先が変わることがあります。
A. 通常は命令を読み出した後、次に実行する命令のアドレスを指すように更新されます。ただし、分岐命令などでは、更新先が変わることがあります。
Q. 命令レジスタに格納された命令は、何に使われますか?
A. 命令デコーダが命令の内容を解読し、必要な演算やデータ移動などを実行するために使われます。
A. 命令デコーダが命令の内容を解読し、必要な演算やデータ移動などを実行するために使われます。
関連キーワード: 命令レジスタ、命令デコーダ、フェッチ、プログラムカウンタ、アキュムレータ

\ せっかくなら /
ITサービスマネージャを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

