エンベデッドシステムスペシャリスト 2009年 午前2 問03
問題文
コンピュータの命令実行順序として、適切なものはどれか。
選択肢
ア:オペランド読出し→命令の解読→命令フェッチ→命令の実行
イ:オペランド読出し→命令フェッチ→命令の解読→命令の実行
ウ:命令フェッチ→オペランド読出し→命令の解読→命令の実行
エ:命令フェッチ→命令の解読→オペランド読出し→命令の実行(正解)
🔒 解説は解答すると表示されます
命令実行サイクル【午前2解説】
正解の理由
命令を実行する基本的な順序は、命令フェッチ → 命令の解読 → オペランド読出し → 命令の実行です。この順序に一致するエが適切です。
まず、主記憶から命令を取り出します。次に、取り出した命令を解読して、どの処理を行うか、どのデータを使うかを確認します。その後、必要なデータ(オペランド)を読み出し、最後に命令を実行します。
解法ステップ
- 命令フェッチ:主記憶から次に実行する命令を取り出します。
- 命令の解読:命令の種類や、必要なオペランドの場所などを確認します。
- オペランド読出し:命令の実行に必要なデータを読み出します。
- 命令の実行:読み出したデータを使って、演算やデータ転送などを行います。
選択肢別の誤答解説
- ア:命令の解読より前にオペランドを読み出しています。命令を解読して、必要なオペランドを特定してから読み出します。
- イ:命令フェッチより前にオペランドを読み出しています。まず命令を取り出す必要があります。
- ウ:命令フェッチの後にオペランドを読み出し、その後で命令を解読しています。命令を解読してから、必要なオペランドを読み出します。
- エ:命令を取り出し、解読してから必要なオペランドを読み出し、命令を実行する順序です。
よくある誤解
- 命令フェッチとオペランド読出しを混同する:フェッチするのは命令であり、オペランド読出しでは命令の実行に使うデータを読み出します。
- 命令を解読する前にオペランドを読み出せると思う:オペランドの場所や種類は命令の内容から判断するため、通常は命令の解読後に読み出します。
- この順序が、すべてのCPU内部処理の詳細を表すと思う:これは基本的な命令実行の流れです。実際のCPUでは、パイプラインなどにより複数の命令処理が重なることがあります。
補足コラム
命令は一般に、命令部とオペランド部から構成されます。命令部は処理の種類を表し、オペランド部は処理対象となるデータやその場所を示します。命令を解読してからオペランドを読み出すのは、何をどこから読み出すかを判断するためです。
FAQ
Q. 命令フェッチでは何を読み出しますか?
A. 次に実行する命令を読み出します。
A. 次に実行する命令を読み出します。
Q. オペランドは必ず主記憶から読み出しますか?
A. 必ずしも主記憶とは限りません。命令の指定によって、レジスタなどから読み出す場合もあります。
A. 必ずしも主記憶とは限りません。命令の指定によって、レジスタなどから読み出す場合もあります。
Q. 命令フェッチ後、すぐに命令を実行しないのはなぜですか?
A. 命令を解読し、実行に必要なオペランドを用意してから処理するためです。
A. 命令を解読し、実行に必要なオペランドを用意してから処理するためです。
関連キーワード: 命令フェッチ、命令解読、オペランド、命令実行サイクル

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

