CPUアーキテクチャーの進化
CPU高速化の常套手段 パイプライン処理の基本 【その1】
2010年09月06日 12時00分更新
パイプライン処理の基本
ステージごとに次々と処理させる
以上の基礎知識を踏まえた上で、もう少しCPU内部の話をする。一般にCPUの場合、行なう処理は次の5段階(ステージと呼ぶ)からなる。
- Fetch
- 次に処理すべき命令を、メモリーやキャッシュから取得する。
- Decode
- 取得した命令を解釈し、どんな処理を実行すべきかを決定する。
- Data Fetch
- 必要なら、処理に必要なデータを取り込む。
- Execute
- 処理する。
- Writeback
- 処理結果を出力。
古いCPUでは、DecodeとData Fetchが一緒になって4ステージとか、ExecuteとWritebackを一緒にして3ステージとか、FetchとDecodeも一緒にして2ステージとか、いくらでも簡単にはできるのだが、機能で分割すればおおむねこの5ステージとなる。
そしてこれらを実装する場合、内部回路は大雑把に図4のようになる。上の5つのステージはそれぞれ、複数の回路をつなげる形で実装されている。基本的には、Writebackの最終処理が終わったら、それをトリガーに次の命令のFetchを開始するような仕組みだ。
そして図4の場合、どのように命令が処理されてゆくかを示したのが図5である。ここではとりあえず、5つのステージがいずれも同じ時間で処理できるという前提にしているが、仮に1ステージ1クロックで処理できるとしても、1命令あたり5クロックを要することになる。図のように4命令実行なら、20クロック必要になる計算だ。
これを「もう少し高速化できないか?」ということで考えられたのが、パイプライン処理である。基本的な構造は変わらないが、これまでは「Writebackの出力が終わったら次のFetchを開始する」だったのが、「各ステージごとに、処理が終わったら次の命令の処理を始める」形に変更されている(図6)。
これを実行した場合、処理の進み方は図7のようになる。
各々のステージに要する時間は変わらないが、各ステージが常に処理を行なっているため、実質的な処理能力が(この図の場合)5倍になっているわけだ。こうした形で、常にCPUの内部回路全体が動作するようにしたものが、パイプラインと呼ばれる高速手法である。

この連載の記事
-
第854回
PC
巨大ラジエーターで熱管理! NVIDIA GB200/300搭載NVL72ラックがもたらす次世代AIインフラの全貌 -
第853回
PC
7つのカメラと高度な6DOF・Depthセンサー搭載、Meta Orionが切り開く没入感抜群の新ARスマートグラス技術 -
第852回
PC
Google最新TPU「Ironwood」は前世代比4.7倍の性能向上かつ160Wの低消費電力で圧倒的省エネを実現 -
第851回
PC
Instinct MI400/MI500登場でAI/HPC向けGPUはどう変わる? CoWoS-L採用の詳細も判明 AMD GPUロードマップ -
第850回
デジタル
Zen 6+Zen 6c、そしてZen 7へ! EPYCは256コアへ向かう AMD CPUロードマップ -
第849回
PC
d-MatrixのAIプロセッサーCorsairはNVIDIA GB200に匹敵する性能を600Wの消費電力で実現 -
第848回
PC
消えたTofinoの残響 Intel IPU E2200がつなぐイーサネットの未来 -
第847回
PC
国産プロセッサーのPEZY-SC4sが消費電力わずか212Wで高効率99.2%を記録! 次世代省電力チップの決定版に王手 -
第846回
PC
Eコア288基の次世代Xeon「Clearwater Forest」に見る効率設計の極意 インテル CPUロードマップ -
第845回
PC
最大256MB共有キャッシュ対応で大規模処理も快適! Cuzcoが実現する高性能・拡張自在なRISC-Vプロセッサーの秘密 -
第844回
PC
耐量子暗号対応でセキュリティ強化! IBMのPower11が叶えた高信頼性と高速AI推論 - この連載の一覧へ











