第1章 パソコンの基礎知識
1-2 CPU
1-2-5 CPUの高速化技術
CPUの高速化技術として、命令を細分化された流れ作業によって処理するスーパーパイプラインと、複数の命令を同時に並列処理するスパースケーラの技術について紹介します。
- スーパーパイプライン
スーパーパイプラインは、命令実行の各ステージをさらに細かく分割することにより、パイプラインの動作の効率を向上させる高速化技術です。ベルトコンベアの前に配置する作業員を2倍に増やし、今まで1人でやっていた作業を2人分に分けることで、流れ作業全体の効率を高めるようなものです。
通常のパイプライン動作のステージ数は、4または5ステージですが、スーパーパイプラインを採用したCPUでは、7〜10ステージ、多いものになると20ステージにも及びます。スパーパイプラインでは、各ステージを構成する回路も簡略化されるので、CPUの動作速度の高速化にもつながります。一般にステージ数の多いCPUほど、高い動作周波数で動作します。
下の図を例に、通常のパイプライン(a)とスーパーパイプライン(b)を比較すると、どちらについても命令の実行に要する時間が変わらないと仮定した場合、(a)で3命令を実行する時間に、(b)では5命令を実行できことが分かります。しかし、スーパーパイプラインは、動作周波数を大きく高めて1ステージあたりの所要時間をできる限り短縮しなければ、全体的な性能向上にはつながらないのです。

- スーパースケーラ
スーパースケーラは、複数のパイプラインを設けることにより複数の命令を同時に実行し、処理速度の向上を図る高速化技術です。工場にあるベルトコンベアの本数を増やして、流れ作業の速度を高める手法に似ています。
下の図を例に、通常のパイプライン(a)と2命令同時実行のスーパースケーラ(b)を比較すると、(a)3命令を実行する時間に、(b)では6命令を実行できることが分かります。スーパースケーラは、IPCを確実に改善する効果があります。

現在発売されているCPUの多くは、スーパーパイプラインとスーパースケーラの併用によって、処理速度の向上を図っています。