基本情報技術者平成28年春期 午前問10

午前問10

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

分類

テクノロジ系 » コンピュータ構成要素 » プロセッサ

正解

解説

コンピュータは、次のようなサイクルを繰り返して命令を処理していきます。
  1. プログラムカウンタを参照して、次に実行すべき命令が格納されている位置を知る。
  2. 主記憶から命令レジスタに命令を読込む。(命令フェッチ)
  3. その次に実行する命令の主記憶上のアドレスをプログラムカウンタに格納する。
  4. 命令レジスタの命令を命令デコーダで解読(解釈)する。(命令デコード)
  5. 演算で必要となる値(オペランド)を主記憶やレジスタから読込む。(オペランド読出し)
  6. 命令を実行する。
  7. 実行結果を主記憶やレジスタに書込む。
命令フェッチ→「取出し」、命令デコード→「解読」ということがわかれば、④命令取出し→③解読→②実行→①書込みという順序が容易に想像できますが、⑤メモリアクセスの位置については少し悩むかもしれません。
1命令のサイクルの中で主記憶へのアクセスが行われる可能性がある処理は「オペランド読出し」と「実行結果の書込み」の2ヶ所があります。設問のパイプラインにおいて"命令デコード"と"レジスタファイル読出し"がひとまとまりになっていることに注目すると、読出し時には主記憶へのアクセスは発生せず、オペランドは常にレジスタファイルから読み出されることがわかります。さらに"実行"の後に"アドレス生成"が行われることからも、⑤メモリアクセスは書込み目的である、と考えるのが妥当です。

したがってメモリアクセスを②実行〜アドレス生成と①書込みの間に挿入した「④,③,②,⑤,①」が適切な順序となります。
レジスタファイル
レジスタを複数集めたプロセッサ内のモジュール
© 2010-2019 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop