【ぱいぷらいんあーきてくちゃ】
パイプラインアーキテクチャ とは?
💡 流れ作業で命令をさばく、CPUの高速化テクニック
📌 このページのポイント
パイプラインアーキテクチャって何なの?
工場の流れ作業をイメージするとわかりやすいよ。1人がすべての工程をやると時間がかかるけど、工程ごとに担当者を分けて流れ作業にすると全体の処理速度が上がるよね。CPUもこれと同じことをしているんだ
具体的にはどんなステージに分かれてるの?
基本は5段階だよ。命令を取り出す「フェッチ」、命令を解読する「デコード」、計算する「実行」、メモリにアクセスする「メモリ」、結果を書き戻す「ライトバック」。5人の作業員がベルトコンベアのように次々と命令を処理していくイメージだね
でもパイプラインがうまくいかないこともあるの?
あるよ。「パイプラインハザード」と呼ばれる問題だね。たとえばif文の分岐で次の命令がわからなくなったり、前の命令の結果を使う命令が来たりすると、流れ作業が止まってしまう。ベルトコンベアに不良品が流れてきて止まるようなものだね
止まっちゃったらどうするの?
パイプラインのステージは増やせるの?
増やせるよ。Pentium 4は31段もあったんだ。ステージを細かくするとクロック周波数を上げやすくなるけど、分岐予測が外れたときのペナルティが大きくなる。だから現代のCPUは10〜20段程度に落ち着いているね。バランスが大事なんだよ
まとめ:ざっくりこれだけ覚えればOK!
「パイプラインアーキテクチャ」って出てきたら「命令処理を流れ作業で分担して高速化する仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Pipeline Architecture」 = パイプライン構造
💬 石油パイプラインのように、データが段階的に流れていく様子から名付けられたんだよ