【ぱいぷらいんあーきてくちゃ】

パイプラインアーキテクチャ とは?

💡 流れ作業で命令をさばく、CPUの高速化テクニック
📌 このページのポイント
パイプライン処理(5段) フェッチ デコード 実行 メモリ 書戻し T1 T2 T3 T4 T5 命令1 命令1 命令1 命令1 命令1 命令2 命令2 命令2 命令2 命令3 命令3 命令3 命令4 命令4 命令5 T5時点: 5つの命令が同時に各ステージで処理中 パイプラインなしだと命令1つに5クロック必要 パイプラインありなら毎クロック命令が完了!
パイプラインアーキテクチャのイメージ
ひよこ ひよこ

パイプラインアーキテクチャって何なの?

ペンギン先生 ペンギン先生

工場の流れ作業をイメージするとわかりやすいよ。1人がすべての工程をやると時間がかかるけど、工程ごとに担当者を分けて流れ作業にすると全体の処理速度が上がるよね。CPUもこれと同じことをしているんだ

ひよこ ひよこ

具体的にはどんなステージに分かれてるの?

ペンギン先生 ペンギン先生

基本は5段階だよ。命令を取り出す「フェッチ」、命令を解読する「デコード」、計算する「実行」、メモリにアクセスする「メモリ」、結果を書き戻す「ライトバック」。5人の作業員がベルトコンベアのように次々と命令を処理していくイメージだね

ひよこ ひよこ

でもパイプラインがうまくいかないこともあるの?

ペンギン先生 ペンギン先生

あるよ。「パイプラインハザード」と呼ばれる問題だね。たとえばif文の分岐で次の命令がわからなくなったり、前の命令の結果を使う命令が来たりすると、流れ作業が止まってしまう。ベルトコンベアに不良品が流れてきて止まるようなものだね

ひよこ ひよこ

止まっちゃったらどうするの?

ペンギン先生 ペンギン先生

現代のCPUは「分岐予測」という技術で、if文の結果を予測して先に処理を進めるんだ。予測が当たれば止まらずに済む。最近のCPUは予測精度が95%以上もあるよ。外れたら巻き戻してやり直すけど、それでも止まって待つよりずっと速いんだ

ひよこ ひよこ

パイプラインのステージは増やせるの?

ペンギン先生 ペンギン先生

増やせるよ。Pentium 4は31段もあったんだ。ステージを細かくするとクロック周波数を上げやすくなるけど、分岐予測が外れたときのペナルティが大きくなる。だから現代のCPUは10〜20段程度に落ち着いているね。バランスが大事なんだよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「パイプラインアーキテクチャ」って出てきたら「命令処理を流れ作業で分担して高速化する仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Pipeline Architecture」 = パイプライン構造
💬 石油パイプラインのように、データが段階的に流れていく様子から名付けられたんだよ
← 用語集にもどる