ホーム > システムアーキテクト試験 > 2019年
システムアーキテクト試験 2019年 午前2 問18
図はプロセッサによってフェッチされた命令の格納順序を表している。aに該当するプロセッサの構成要素はどれか。

ア:アキュムレータ
イ:データキャッシュ
ウ:プログラムレジスタ(プログラムカウンタ)
エ:命令レジスタ(正解)
解説
図はプロセッサによってフェッチされた命令の格納順序を表している。aに該当するプロセッサの構成要素はどれか。【午前2 解説】
要点まとめ
- 結論:aは命令レジスタであり、フェッチされた命令を一時的に保持する役割を持ちます。
- 根拠:主記憶から命令を取り出し、命令デコーダに渡す前に命令レジスタで保持するのが基本的なプロセッサの動作です。
- 差がつくポイント:プログラムカウンタは命令のアドレスを保持し、命令レジスタは命令そのものを保持する点を正確に理解することが重要です。
正解の理由
aは主記憶からフェッチされた命令を受け取り、命令デコーダに渡す直前の段階にあるため、命令レジスタが該当します。命令レジスタは命令の内容を一時的に保持し、命令デコーダが命令を解釈できるようにします。プログラムレジスタ(プログラムカウンタ)は命令のアドレスを指し示す役割であり、命令そのものを保持しません。アキュムレータやデータキャッシュは命令の格納やデコードとは直接関係がありません。
よくある誤解
プログラムカウンタと命令レジスタを混同し、命令のアドレスと命令そのものの違いを理解していないことが多いです。命令レジスタは命令の内容を保持する点を押さえましょう。
解法ステップ
- 主記憶から命令がフェッチされる流れを確認する。
- 命令のアドレスを保持するのはプログラムカウンタであることを理解する。
- フェッチされた命令を一時的に保持し、命令デコーダに渡す役割が命令レジスタであることを確認する。
- 選択肢の役割を整理し、命令レジスタが最も適切であると判断する。
選択肢別の誤答解説
- ア: アキュムレータ
主に演算結果を保持するレジスタであり、命令の格納やデコードには関与しません。 - イ: データキャッシュ
データの高速アクセス用のキャッシュであり、命令の一時保持とは役割が異なります。 - ウ: プログラムレジスタ(プログラムカウンタ)
命令のアドレスを保持し、次に実行する命令の位置を指示します。命令そのものは保持しません。 - エ: 命令レジスタ
フェッチされた命令を一時的に保持し、命令デコーダに渡す役割を持つため正解です。
補足コラム
命令レジスタはCPU内部で命令の内容を保持し、命令デコーダが命令を解析して実行制御信号を生成するための重要な役割を担います。プログラムカウンタは命令の実行順序を制御するため、命令のアドレスを管理します。これらの役割の違いを理解することは、CPUの動作原理を深く理解する上で不可欠です。
FAQ
Q: 命令レジスタとプログラムカウンタはどのように連携していますか?
A: プログラムカウンタは次に実行する命令のアドレスを指し示し、そのアドレスから命令をフェッチして命令レジスタに格納します。命令レジスタはその命令を保持し、命令デコーダに渡します。
A: プログラムカウンタは次に実行する命令のアドレスを指し示し、そのアドレスから命令をフェッチして命令レジスタに格納します。命令レジスタはその命令を保持し、命令デコーダに渡します。
Q: アキュムレータはなぜ命令の格納に使われないのですか?
A: アキュムレータは主に算術演算や論理演算の結果を一時的に保持するためのレジスタであり、命令の格納やデコードには関与しません。
A: アキュムレータは主に算術演算や論理演算の結果を一時的に保持するためのレジスタであり、命令の格納やデコードには関与しません。
関連キーワード: 命令レジスタ, プログラムカウンタ, 命令デコーダ, フェッチ, CPU構成要素