応用情報技術者 2024年 秋期 午前2 問08
問題文
RISCプロセッサの5段パイプラインの命令実行制御の順序はどれか。ここで、このパイプラインのステージは次の五つとする。
① 書込み
② 実行とアドレス生成
③ 命令デコードとレジスタファイル読出し
④ 命令フェッチ
⑤ メモリアクセス
選択肢
ア:③、 ④、 ②、 ⑤、 ①
イ:③、 ⑤、 ②、 ④、 ①
ウ:④、 ③、 ②、 ⑤、 ①(正解)
エ:④、 ⑤、 ③、 ②、 ①
RISCプロセッサの5段パイプラインの命令実行制御の順序【午前2 解説】
要点まとめ
- 結論:RISCの5段パイプラインは「命令フェッチ→命令デコード→実行→メモリアクセス→書込み」の順で処理される。
- 根拠:命令はまずメモリから取得され、解読後に演算やアドレス計算を行い、必要に応じてメモリ操作し、最後に結果をレジスタに書き込む流れだから。
- 差がつくポイント:各ステージの役割と順序を正確に理解し、特に「命令フェッチが最初」「書込みが最後」であることを押さえることが重要。
正解の理由
選択肢ウは、①命令フェッチ(④)、②命令デコードとレジスタ読出し(③)、③実行とアドレス生成(②)、④メモリアクセス(⑤)、⑤書込み(①)の順で並んでおり、RISCの基本的な5段パイプラインの流れに完全に一致します。命令はまずメモリからフェッチされ、次に命令の内容を解読し、演算やアドレス計算を行い、必要に応じてメモリにアクセスし、最後に結果をレジスタに書き込みます。
よくある誤解
命令デコードを最初に行うと誤解しやすいですが、実際には命令をまずメモリから取得(フェッチ)してからデコードします。書込みを途中で行う選択肢も誤りです。
解法ステップ
- 命令フェッチ(④)でメモリから命令を取得する。
- 命令デコードとレジスタファイル読出し(③)で命令内容を解読し、必要なレジスタ値を読み出す。
- 実行とアドレス生成(②)で演算やメモリアドレス計算を行う。
- メモリアクセス(⑤)で必要に応じてデータメモリの読み書きを行う。
- 書込み(①)で演算結果や読み出したデータをレジスタに書き込む。
選択肢別の誤答解説
- ア: 命令デコードが最初で命令フェッチが後ろにあり、命令取得の順序が逆。
- イ: メモリアクセスが命令デコードの前にあり、実行順序が不自然。
- ウ: 正解。正しいパイプライン順序。
- エ: メモリアクセスが命令デコードの前にあり、命令の流れとして不適切。
補足コラム
RISC(Reduced Instruction Set Computer)プロセッサの5段パイプラインは、命令の高速処理を実現するために設計されています。各ステージは独立して動作し、命令を分割して並列処理することでスループットを向上させます。代表的な5段階は「IF(Instruction Fetch)」「ID(Instruction Decode)」「EX(Execute)」「MEM(Memory Access)」「WB(Write Back)」と呼ばれます。
FAQ
Q: なぜ命令フェッチが最初なのですか?
A: 命令を実行するためにはまず命令自体をメモリから取得する必要があるため、フェッチが最初です。
A: 命令を実行するためにはまず命令自体をメモリから取得する必要があるため、フェッチが最初です。
Q: 書込みはなぜ最後のステージですか?
A: 演算やメモリアクセスの結果をレジスタに反映させるため、処理の最後に書込みを行います。
A: 演算やメモリアクセスの結果をレジスタに反映させるため、処理の最後に書込みを行います。
関連キーワード: RISC, パイプライン、命令実行順序、CPUアーキテクチャ、命令フェッチ、命令デコード、実行ステージ、メモリアクセス、レジスタ書込み

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

