このページの本文へ

前へ 1 2 3 4 次へ

ロードマップでわかる!当世プロセッサー事情 第67回

CPUアーキテクチャーの進化

CPU高速化の常套手段 パイプライン処理の基本 【その1】

2010年09月06日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/)

  • この記事をはてなブックマークに追加
  • 本文印刷

 これをもっと高速化したい、という場合にはさらにパイプラインのステージを細分化することもある。図6では各ステージが3つの回路で構成されていたが、これを全部ばらばらにして、細かくラッチを入れた図8のような回路にした場合、動作周波数をさらに高速化できる(図9)。

図8

図8 さらに細分化したステージ

図9

図9 図8での命令処理の流れ

 これなら各々の処理に起因する遅れはさらに少ないから、ラッチのタイミングをもっと高速にしても十分間に合う。その分クロックの速度を引き上げられるというわけだ。こうした細分化したパイプライン構造を、「Super Pipelinging」(スーパーパイプライニング)、あるいは「Hyper Pipelining」と呼ぶ。

 もっとも、こうしたパイプラインの増加は2つのデメリットがある。ひとつはパイプラインストールやパイプラインハザードなど、予想外の事態によりパイプライン処理が止まったり、やり直しになったりした場合、その影響が非常に大きいことだ。

 もうひとつは、ラッチの数そのものが大幅に増えたことによる、消費電力の増大である。Pentium 4のNetburst Architectureの場合、前者は設計段階から想定されており、これを補うための仕組みが用意されていたが、後者に対する備えが甘かった。これが結果的に消費電力の増大や過大な発熱につながり、最終的には製品寿命を縮めることになってしまった。

 ということで次回はパイプライン処理の問題とその対策を解説したい。

前へ 1 2 3 4 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン