平成21年度 春期 午前Ⅱ 問3
プロセッサ
コンピュータの命令実行順序
コンピュータの命令実行順序として,適切なものはどれか。
- アオペランド読出し → 命令の解読 → 命令フェッチ → 命令の実行
- イオペランド読出し → 命令フェッチ → 命令の解読 → 命令の実行
- ウ命令フェッチ → オペランド読出し → 命令の解読 → 命令の実行
- エ命令フェッチ → 命令の解読 → オペランド読出し → 命令の実行
答えと解説を見る
✓ これが正解エ命令フェッチ → 命令の解読 → オペランド読出し → 命令の実行
解説
命令フェッチ、命令の解読、オペランド読出し、実行の順に進みます。
CPUは、プログラムカウンタが指すアドレスから命令を取り出す命令フェッチから始めます。取り出した命令を解読して初めて、何をする命令か、どこにあるデータを使うかが分かります。そのため、オペランドの読出しは解読の後になります。必要なデータがそろったところで、演算などの実行に進みます。見分ける軸は、各段階が前の段階の結果を必要としているかどうかです。命令を手元に持つ前に解読はできず、解読する前にはオペランドの場所が決まらない、という依存関係をたどると、命令実行の順序は一つに決まります。
ほかの選択肢はなぜ違うのか
- アオペランド読出し → 命令の解読 → 命…:オペランドを最初に読み出す順序は成り立ちません。どのデータを読むかは命令を解読して分かることなので、命令を取り出す前にオペランドの場所を決めようがありません。命令フェッチが三番目にある点も並びとして無理があります。
- イオペランド読出し → 命令フェッチ → …:先頭にオペランド読出しを置いている点が誤りです。命令を取り出して解読しないうちは、読み出すべきデータのアドレスが決まりません。後半のフェッチと解読の順が合っていても、全体の流れとしては成立しません。
- ウ命令フェッチ → オペランド読出し → …:命令を取り出した直後にオペランドを読みに行く並びです。命令を解読しなければオペランドの指定方法も場所も分からないので、解読より前に読出しを置くことはできず、二つの段階が入れ替わっています。
出典:平成21年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問3
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)