平成28年度 春期 午前 問10
コンピュータ構成要素
パイプラインの命令実行制御の順序
RISC プロセッサの 5 段パイプラインの命令実行制御の順序はどれか。ここで,このパイプラインのステージは次の五つとする。
- ① 書込み
- ② 実行とアドレス生成
- ③ 命令デコードとレジスタファイル読出し
- ④ 命令フェッチ
- ⑤ メモリアクセス
- ア③,④,②,⑤,①
- イ③,⑤,②,④,①
- ウ④,③,②,⑤,①
- エ④,⑤,③,②,①
答えと解説を見る
✓ これが正解ウ④,③,②,⑤,①
解説
命令フェッチから書込みまでの5段が実行順序です。
パイプラインは、1つの命令を実行する処理を、いくつかの独立した段に区切って、複数の命令を並行に流す仕組みです。5段構成では、まず主記憶から命令の並びを取り出し、次にその内容を解読して必要になるレジスタの値を読み出し、続いて演算やアドレスの計算を行い、そのあとで結果を主記憶に対して読み書きし、最後にレジスタへ書き込む、という順序をとります。判定の軸は、命令の準備から実行、そして結果の書き戻しまでを、情報が必要になる順に並べているかどうかです。データの受け渡しの向きを考えると、レジスタの読出しが演算より前になり、主記憶とのやり取りが演算のあとに来て、書き戻しがいちばん最後に来る形しかありません。ここで扱っているのは、簡略化された命令実行の流れを段に分けて理解する考え方です。
ほかの選択肢はなぜ違うのか
- ア③,④,②,⑤,①:先頭に命令デコードとレジスタファイル読出しを置いています。しかしそもそも命令の内容を主記憶から取り出さなければ解読ができないため、必ず命令フェッチが先に来る必要があります。順序の先頭が入れ替わっていました。
- イ③,⑤,②,④,①:命令デコードのあとにメモリアクセスを置き、そのあとに実行を並べています。演算やアドレスの計算より先に主記憶を読み書きしても、対象のアドレスが決まっていないので処理が成立せず、順序が前後してしまっていました。
- エ④,⑤,③,②,①:命令フェッチのあとにメモリアクセスを置き、そのあとで命令デコードを続けています。しかし命令の内容を解読しないうちに主記憶に読み書きしても、何を対象にすべきかが決まらないため、順序がかみ合いませんでした。
出典:平成28年度 春期 基本情報技術者試験 午前 問10
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)