第2回 Coreマイクロアーキテクチャ [前編]新約・見てわかる パソコン解体新書(2/4 ページ)

» 2006年11月01日 10時00分 公開
[大島篤(文とイラスト),ITmedia]

パイプラインを理解しよう

 CPUの回路は、複数の回路ブロックを直列につないだパイプラインと呼ばれる構造をとっています。

 いま、メモリから足し算の命令がCPUに読み込まれたとしましょう。すると、CPUの内部ではパイプラインの先頭に命令が投入されて、命令がパイプラインの中を流れながらいろいろな処理が行われ、最後に計算結果の値がパイプラインから出てくるのです。

 このページでは、次の4つのことを図解します。

1.パイプラインの基本的な働き

2.パイプラインの段数を増やすと動作周波数を上げられる理由

3.条件分岐命令とプログラムの流れ

4.パイプラインの段数が増えた場合のデメリット


 

1.パイプラインの基本的な働き

 単純なCPUでは、1つの命令が、フェッチ、デコード、実行、ライトバックの4つのステージを通って実行されます。それぞれのステージでは、1つの命令の処理が終わったら、休むことなく次の命令の処理にとりかかります。

 それぞれのステージの回路が1クロックで処理を終えるとすると、1つの命令の実行には4クロックかかることになります。しかし、パイプラインは流れ作業で命令を実行することに注意してください。もしあなたがパイプラインの出口付近に立っていれば、1クロックごとに1命令の実行が完了してパイプラインから命令の処理結果が流れてくるところを目撃できるでしょう。


 

2.スーパーパイプライン

 作業を細分化して、パイプラインのステージ数を増やしたのがスーパーパイプラインです。各ステージの処理時間が短くなるため、より高い周波数のクロックでの動作が可能であり、結果として処理スピードが向上します。

 Pentium 4では、パイプラインを20〜30ステージに細分化することで、3GHz以上の高クロック動作を実現しました。


 

3.分岐命令

 あらゆる種類のプログラムは、多数の命令を組み合わせて作られています。1+1を計算するような、非常に単純なプログラムであれば、数個の命令を直線的に並べるだけでできます。この場合は、すべての命令がパイプラインを滞りなく流れて行き、計算の答えが求まります。

 しかし、ちょっとしたプログラムであれば、計算途中の状況に応じてプログラムの流れを変更する、条件分岐命令を数多く含んでいます。PCのプログラムが、高度で知的な処理を行えるのは、分岐命令のおかげです。

 条件分岐命令にもいくつかの種類がありますが、たとえばjzという命令は、「直前に実行した演算の結果が0ならば、プログラムの流れを変えて別のアドレスにジャンプする。演算の結果が0でない場合はジャンプしない(後続の命令の実行に進む)」という働きをします。

 プログラムにもよりますが、平均して10命令に1つ以上の条件分岐命令が含まれると言われます。


 

4.分岐ミスとペナルティ

 実行中のプログラムに条件分岐命令が出てくると、そこからプログラムの流れは2つに分かれます。どちらに進むかは、条件分岐命令の処理がパイプラインの最後まで来ないと決まりません。それまで続く命令の処理を止めておくのはもったいないので、分岐しそうな方向を予想して、そちらの命令をパイプラインに投入して処理を進めてしまいます。Pentiumシリーズには、こうした分岐予測機能が実装されています。分岐予測機能により、分岐先の確定に先行して命令を実行することを投機実行といいます。

 分岐予測の仕組みは単純で、各分岐命令について過去数回の分岐履歴を記録します。たとえば過去4回続けて分岐が発生していれば、次も分岐する可能性が非常に高いというわけです。

 Pentium 4の分岐予測の的中率は、実に95%以上と言われますが、5%程度は外れるわけです。予想が外れた場合は、処理を進めていたパイプライン上にある命令をすべてフラッシュ(破棄)して、正しい分岐先から命令の処理をやり直します。

 下図ではパイプラインのステージ数を8個で描いています。分岐ミスが判明してから、7クロックの間はパイプラインから処理結果が出てきません。CPUの外からは、7クロックの間CPUの動作が停止したように見えるでしょう。これが分岐予測ミスに伴うペナルティです。このペナルティは、パイプラインのステージ数が多いほど重くなります。


Copyright © ITmedia, Inc. All Rights Reserved.

アクセストップ10

2024年03月19日 更新
  1. 無償版「Copilot」でもフルタイムでGPT-4 Turboが利用可能に/「Copilot for Security」が4月1日から一般提供開始 (2024年03月17日)
  2. ナゼか小型タブレットでお絵描きにハマりそう! NECPC「LAVIE Tab T14/T9」 の実機を試して分かった驚き (2024年03月18日)
  3. 最高6.2GHzで動作するCoreプロセッサ現行最上位の「Core i9-14900KS」がデビュー! (2024年03月18日)
  4. 外付けGPU「ONEXGPU」でビジネスノートPCをパワーアップしてみた オンライン会議における“もっさり”の解決策になる? (2024年03月19日)
  5. 総務省がCHUWI(ツーウェイ)を「行政指導」 一部モデルで認証の取得漏れなどが判明 当該機種では「5GHz帯Wi-Fi」は使わないように (2023年04月13日)
  6. ロープロで2スロット厚! NVIDIA RTX 2000 “Ada世代”のグラフィックスカードが登場! (2024年03月16日)
  7. 新「M3 MacBook Air」は守備範囲の広さが魅力 MacBook Proとの違いはある? 買い替え検討者に伝えたい注目ポイント (2024年03月14日)
  8. PCの累計生産台数5000万台突破目前! 「島根富士通」が出雲にある理由 (2024年03月15日)
  9. あなたのPCのWindows 10/11の「ライセンス」はどうなっている? 調べる方法をチェック! (2023年10月20日)
  10. Copilotで画像を生成できる「Image Creator」を試してみよう (2024年03月15日)
最新トピックスPR

過去記事カレンダー