基本情報技術者 2016年 春期 午前(科目A) 問10
問題文
RISCプロセッサの5段パイプラインの命令実行制御の順序はどれか。ここで、このパイプラインのステージは次の五つとする。
① 書込み
② 実行とアドレス生成
③ 命令デコードとレジスタファイル読出し
④ 命令フェッチ
⑤ メモリアクセス
選択肢
ア:③、④、②、⑤、①
イ:③、⑤、②、④、①
ウ:④、③、②、⑤、①(正解)
エ:④、⑤、③、②、①
🔒 解説は解答すると表示されます
RISC5段パイプラインの順序【午前解説】
正解の理由
RISCの典型的な5段パイプラインは以下の順で進行します。
④ 命令フェッチ(IF) → ③ 命令デコードとレジスタファイル読出し(ID) → ② 実行とアドレス生成(EX) → ⑤ メモリアクセス(MEM) → ① 書込み(WB)。
したがって,選択肢のうち ④、③、②、⑤、① の順になっている ウ が正解です。命令をまず取得してから解釈し、オペランドを読み出して演算やアドレス計算を行い、その結果でメモリ操作を必要に応じて行い、最後にレジスタに書き戻す流れが合理的だからです。
④ 命令フェッチ(IF) → ③ 命令デコードとレジスタファイル読出し(ID) → ② 実行とアドレス生成(EX) → ⑤ メモリアクセス(MEM) → ① 書込み(WB)。
したがって,選択肢のうち ④、③、②、⑤、① の順になっている ウ が正解です。命令をまず取得してから解釈し、オペランドを読み出して演算やアドレス計算を行い、その結果でメモリ操作を必要に応じて行い、最後にレジスタに書き戻す流れが合理的だからです。
解法ステップ
- 各番号の意味を対応付ける:④=命令フェッチ、③=命令デコード+レジスタ読出、②=実行+アドレス生成、⑤=メモリアクセス、①=書込み。
- 典型的なRISC 5段パイプラインの順序(IF→ID→EX→MEM→WB)を思い出す。
- 与えられた並びと照合して、IF→ID→EX→MEM→WB になっている選択肢を選ぶ(該当はウ)。
選択肢別の誤答解説
- ア: ③、④、②、⑤、①
誤り。デコード(③)が先に来てからフェッチ(④)という順は成立しません。命令を解釈する前に命令自体を取得する必要があります。 - イ: ③、⑤、②、④、①
誤り。デコードが最初でメモリアクセス(⑤)がデコード直後に来る構成で、命令フェッチ(④)が後に来るのは順序が逆転しています。 - ウ: ④、③、②、⑤、①
正解。典型的なIF→ID→EX→MEM→WB の順序に一致します。 - エ: ④、⑤、③、②、①
誤り。フェッチの後に直接メモリアクセス(⑤)してしまい、デコード/レジスタ読出(③)が後回しになるため論理的に不自然です。アドレス計算やレジスタ読出が先に必要になります。
よくある誤解
- 「デコードとフェッチは逆でもよい」:命令を解釈するには命令自体の取得が必要で、フェッチが先です。
- 「メモリアクセスと書込みの順序を逆にする」:メモリ読み書き(MEM)は演算結果やロード/ストアのためにEXの後、書込みは最後に行うのが基本です。
- 「アドレス生成はメモリステージの一部」:アドレス生成(アドレス計算)は通常EX段で行い、MEM段はそのアドレスを使ってアクセスします。
補足コラム
- この5段パイプラインはMIPSなどのRISC設計で広く使われる標準モデルです。実際のプロセッサではフォワーディングやパイプラインフラッシュ、分岐予測などで性能を改善します。
- 「実行」段(EX)でALU演算と同時にメモリアドレスの計算を行い、ロード/ストア命令は次段(MEM)で実データアクセスを行います。
- 例外処理や複雑な命令(マルチサイクル命令)がある場合、段階の追加やバブルの挿入が必要になります。
FAQ
Q1: なぜレジスタの読出しはデコード段で行うのですか?
A1: 命令の種類を解釈して必要なオペランドを特定したうえで、次の実行段で速やかに演算できるようにレジスタ値を読み出します。これがパイプラインの効率を保つ基本です。
A1: 命令の種類を解釈して必要なオペランドを特定したうえで、次の実行段で速やかに演算できるようにレジスタ値を読み出します。これがパイプラインの効率を保つ基本です。
Q2: メモリアクセス(MEM)と書込み(WB)は違うのですか?
A2: はい。MEMは必要なら主記憶(またはキャッシュ)へアクセスする段で、WBは演算結果やロードした値をレジスタファイルに書き戻す最終段です。順序はMEM→WBが基本です。
A2: はい。MEMは必要なら主記憶(またはキャッシュ)へアクセスする段で、WBは演算結果やロードした値をレジスタファイルに書き戻す最終段です。順序はMEM→WBが基本です。
Q3: 分岐命令はどの段で処理しますか?
A3: 分岐判定やターゲットアドレスの一部はEX段で行うことが多く、正しいフロー制御のために分岐予測やフラッシュが併用されます。
A3: 分岐判定やターゲットアドレスの一部はEX段で行うことが多く、正しいフロー制御のために分岐予測やフラッシュが併用されます。
関連キーワード: RISC、5段パイプライン、命令フェッチ、命令デコード、実行ステージ、メモリアクセス、書込み、ハザード、フォワーディング、IF ID EX MEM WB

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

