令和6年秋期試験問題 午前問8

RISCプロセッサの5段パイプラインの命令実行制御の順序はどれか。ここで,このパイプラインのステージは次の五つとする。
  1. 書込み
  2. 実行とアドレス生成
  3. 命令デコードとレジスタファイル読出し
  4. 命令フェッチ
  5. メモリアクセス

  • ③,④,②,⑤,①
  • ③,⑤,②,④,①
  • ④,③,②,⑤,①
  • ④,⑤,③,②,①
正解 問題へ
分野 :テクノロジ系
中分類:コンピュータ構成要素
小分類:プロセッサ
解説
コンピュータは、次のようなサイクルを繰り返して命令を処理していきます。
  1. プログラムカウンターを参照して、次に実行すべき命令が格納されている位置を知る
  2. 主記憶から命令レジスタに命令を読込む(命令フェッチ
  3. その次に実行する命令の主記憶上のアドレスをプログラムカウンターに格納する
  4. 命令レジスタの命令を命令デコーダで解読(解釈)する(命令デコード
  5. 演算で必要となる値(オペランド)を主記憶やレジスタから読込む(オペランド読出し)
  6. 命令を実行する。
  7. 実行結果を主記憶やレジスタに書込む。
命令フェッチ→「取出し」、命令デコード→「解読」ということがわかれば、④命令取出し→③解読→②実行→①書込みという順序が容易に想像できます。ただし、⑤メモリアクセスの位置については少し検討が必要です。

1命令のサイクルにおいて主記憶へのアクセスが行われる可能性のある処理は、"オペランドの読出し"と"実行結果の書込み"の2つです。設問のパイプラインで"命令デコード"と"レジスタファイル読出し"が一体となっている点に注目すると、オペランド読出し時には主記憶へのアクセスは発生せず、常にレジスタファイルから読み出されることがわかります。さらに、"実行"の後に"アドレス生成"が行われることからも、⑤メモリアクセスは書込みのためと考えるのが妥当です。

したがって、メモリアクセスを②実行~アドレス生成と①書込みの間に挿入した「④,③,②,⑤,①」が適切な順序となります。

レジスタファイル…レジスタを複数集めたプロセッサ内のモジュール

この問題の出題歴


Pagetop