最終更新日:2026年7月25日
fe fe-technology computer-system
まず結論
RISCプロセッサの5段パイプラインは、命令を次の5段階に分けて処理する考え方です。
IF → ID → EX → MEM → WB
日本語では、次の順番です。
命令フェッチ
↓
命令デコード・レジスタ読出し
↓
実行・アドレス生成
↓
メモリアクセス
↓
書込み
基本情報技術者試験では、取る → 読む → 実行 → メモリ → 書く と覚えると、選択肢を切りやすくなります。
直感的な説明
CPUが命令を処理する流れは、料理の手順に少し似ています。
レシピを取る
↓
内容を読む
↓
作業する
↓
材料置き場を使う
↓
結果を記録する
命令処理も同じように、まず命令を取ってきて、その意味を読み、必要な計算やアクセスをして、最後に結果を書き込みます。
命令を取る
↓
命令を読む
↓
計算する
↓
必要ならメモリを使う
↓
結果を書き込む
この流れを5つのステージに分けたものが、5段パイプラインです。
定義・仕組み
5段パイプラインの代表的なステージは、次の5つです。
| 略称 | ステージ | 役割 |
|---|---|---|
| IF | Instruction Fetch | 命令フェッチ。命令を取り出す |
| ID | Instruction Decode | 命令デコード。命令を解読し、レジスタを読む |
| EX | Execute | 実行。演算やアドレス生成を行う |
| MEM | Memory Access | メモリアクセス。データを主記憶から読む、または書く |
| WB | Write Back | 書込み。結果をレジスタなどに書き戻す |
パイプライン処理では、1つの命令を最後まで終えてから次の命令を始めるのではなく、複数の命令を少しずつずらして同時進行します。
例えば、ある命令がIDに進んだら、次の命令はIFに入れます。
命令1:IF → ID → EX → MEM → WB
命令2: IF → ID → EX → MEM → WB
命令3: IF → ID → EX → MEM → WB
このように、工場の流れ作業のように命令を処理することで、全体の処理効率を高めます。
このテーマは、基本情報技術者試験の「コンピュータシステム」や「プロセッサ」と関係する内容です。公式の出題範囲やシラバスは、IPA:基本情報技術者試験 から確認できます。
科目Aでどう出る?
科目Aでは、5段パイプラインの順番を問う問題として出題されやすいです。
まずは、次の順番を固定で押さえます。
IF → ID → EX → MEM → WB
日本語の選択肢では、次のように対応させます。
| 順番 | 日本語の表現 | 英語略称 |
|---|---|---|
| 1 | 命令フェッチ | IF |
| 2 | 命令デコードとレジスタファイル読出し | ID |
| 3 | 実行とアドレス生成 | EX |
| 4 | メモリアクセス | MEM |
| 5 | 書込み | WB |
例えば、選択肢に次の5つがある場合を考えます。
① 書込み
② 実行とアドレス生成
③ 命令デコードとレジスタファイル読出し
④ 命令フェッチ
⑤ メモリアクセス
正しい順番は、次のようになります。
④ → ③ → ② → ⑤ → ①
考え方は、次の通りです。
命令を取る
↓
命令を読む
↓
実行する
↓
必要ならメモリを使う
↓
結果を書く
どんな場面で使う?
問題文では、パイプラインの表や処理の流れを読んで、どの命令がどの段階にいるかを判断する場面があります。
パイプラインの基本は、複数の命令を1ステージずつずらして処理することです。
時刻1:命令1 IF
時刻2:命令1 ID、命令2 IF
時刻3:命令1 EX、命令2 ID、命令3 IF
ただし、命令同士に依存関係がある場合、すぐに次のステージへ進めないことがあります。
例えば、前の命令の計算結果を次の命令が使う場合です。
命令1の結果がまだ書き込まれていない
↓
命令2がその結果を使いたい
↓
待ちが発生することがある
このような待ちや遅れは、パイプラインの性能問題として扱われます。
まずは、各命令が IF → ID → EX → MEM → WB の順で進むことを押さえると、表を読みやすくなります。
よくある誤解・混同
5段パイプラインでよくある誤解は、命令フェッチとメモリアクセスを同じものとして見てしまうこと です。
| 誤解 | 正しい理解 |
|---|---|
| メモリアクセスが最初に来る | 最初は命令フェッチ |
| 命令フェッチとメモリアクセスは同じ段階 | 命令フェッチは命令を取る。メモリアクセスはデータを読む・書く |
| 命令デコードは命令フェッチの前にできる | 命令を取ってからでないと解読できない |
| 書込みは実行の前に行う | 実行結果を最後に書き戻す |
| MEMは必ず主記憶から命令を取る段階 | MEMは主にデータアクセスの段階 |
特に、次の切り分けが大切です。
| 用語 | 何を扱う? | 位置 |
|---|---|---|
| 命令フェッチ | 次に実行する命令 | 最初 |
| メモリアクセス | 命令が使うデータ | 実行の後 |
どちらも記憶装置に関係するので似ていますが、試験では役割を分けて考えます。
まとめ(試験直前用)
- RISCの5段パイプラインは
IF → ID → EX → MEM → WB - 日本語では、命令フェッチ → 命令デコード → 実行 → メモリアクセス → 書込み
- 命令フェッチは、命令を取る段階
- メモリアクセスは、命令が使うデータを読む・書く段階
- 命令を取る前にデコードはできない
- 実行結果は最後に書き込む
- 覚え方は「取る → 読む → 実行 → メモリ → 書く」