RISCプロセッサの5段パイプライン|科目A-1(応用情報技術者) 令和6年 秋期午前試験 問8
出典:令和6年秋期 午前 問8
分野:コンピュータ構成要素 / プロセッサ
RISCプロセッサの5段パイプラインの命令実行制御の順序はどれか。ここで,このパイプラインのステージは次の五つとする。
①書込み
②実行とアドレス生成
③命令デコードとレジスタファイル読出し
④命令フェッチ
⑤メモリアクセス
①書込み
②実行とアドレス生成
③命令デコードとレジスタファイル読出し
④命令フェッチ
⑤メモリアクセス
- ア:③,④,②,⑤,①
- イ:③,⑤,②,④,①
- ウ:④,③,②,⑤,①
- エ:④,⑤,③,②,①
TSUNAGARU-ADVICE
まず押さえたいこと
RISCプロセッサの代表的な5段パイプラインは、命令フェッチ → 命令デコード・レジスタ読出し → 実行・アドレス生成 → メモリアクセス → 書込みの順で処理します。つまり、④ → ③ → ② → ⑤ → ①の流れです。
迷ったときの判断軸
まず命令を主記憶などから取り出し、その内容を解読して必要なレジスタ値を読み、その後に演算やアドレス計算を行います。メモリを使う命令ではその後にアクセスし、最後に結果をレジスタへ書き戻す、と考えると順序を整理しやすくなります。
科目Bにつなげるために
特にプロフェッショナルデジタルスキル(システム)試験合格を目指す方は、5段パイプラインの順序だけでなく、データハザード、制御ハザード、構造ハザードによって処理が停止・待機することがある点も押さえておきましょう。

コンピュータは、命令を1つずつ取り出し、内容を解読し、必要なデータを読み出して実行し、結果を書き込む、という流れを繰り返して動作します。
試験で問われているパイプライン処理では、命令フェッチは「命令取出し」、命令デコードは「解読」と考えると整理しやすいです。そのため、基本の流れは「命令取出し → 解読 → 実行 → 書込み」となります。
ここで迷いやすいのが、メモリアクセスをどこに入れるかです。1命令の処理で主記憶にアクセスする可能性があるのは、オペランドを読み出すとき、または実行結果を書き込むときです。
ただし、この設問では「命令デコード」と「レジスタファイル読出し」が一体になっています。つまり、オペランドは主記憶ではなく、プロセッサ内のレジスタファイルから読み出されると考えられます。
さらに、「実行」の後に「アドレス生成」が行われることから、メモリアクセスは実行結果を書き込むための準備として行われると判断できます。
したがって、適切な順序は「④,③,②,⑤,①」です。
レジスタファイルとは、レジスタを複数まとめたプロセッサ内の記憶領域です。主記憶よりもCPUに近い場所にあり、命令実行中に必要な値を高速に読み書きするために使われます。
したがって、ウが適切です。