消費電力の制約

このようなムーアの法則や、デナードスケーリングを超えるトランジスタ数の増加やクロック周波数の向上は、プロセサの性能向上にとっては望ましいのであるが、デナードスケーリングよりも素子数やクロックが向上すると、チップの消費電力一定とはならず、ハイエンドプロセサでは消費電力が100Wを越えるようになってしまった。

また、微細化に伴い電源電圧を下げることがデナードスケーリングの消費電力の低減の原動力であるが、スイッチ速度の比例的改善を維持するためにはMOSトランジスタのスレッショルド電圧も電源電圧に比例して低減する必要がある。しかし、スレッショルド電圧を下げるとMOSトランジスタのリーク(漏れ)電流が指数関数的に増加し、漏れによる無駄な電力が動作電力と同程度、さらにスレッショルド電圧を比例低減すると動作電力を超えるようになってしまうという問題が出てきた。このため、図10.3に示すように、電源電圧が1~1.5Vに達した2000年頃から、その後の電源電圧の低下には急ブレーキがかかることとなった。

図10.3 マイクロプロセサの電源電圧の推移

そして、結果として、電圧についてはデナードスケーリングが適用できなくなり、消費電力の制約から性能向上の第一の牽引力であったクロック周波数の向上が大きくスローダウンすることになってしまい、性能向上はムーアの法則によるトランジスタ数の増加に頼ることになってしまった。

マルチコア化による性能向上

そこで増加するトランジスタをどのように使うかであるが、これまで述べてきたスーパスカラによる並列実行やOut-of-Order実行などのIPC(Instruction Per Cycle)を向上させるアーキテクチャ機構に増加するトランジスタを注ぎ込んできたが、その効果は飽和しつつある。このため、多数のトランジスタを注ぎこんでも、消費電力の増加に見合った性能向上が得られなくなってしまった。

ということから、各社とも、1つの半導体チップに、ある程度のIPCを持つコアを複数搭載するマルチコア化で性能を上げるという方向に転換することになった。これが、現在、マルチコアが主流となっている理由である。

マルチコアプロセサは、その名の通り、物理的には複数のプロセサコアを1つの半導体チップ上に搭載したものであるが、論理的には、これまで個別のプロセサチップを複数使用して作られてきたマルチプロセサシステムを1つの半導体チップの上に集積し、さらにプロセサ間を接続するコモンバスやクロスバもチップに内蔵したものであり、これまでに述べたマルチプロセサシステムの考え方が適用できる。

なお、アプリケーションを作る側からは、複数のコアに効率よく仕事を分担させることは必ずしも簡単ではなく、処理によっては1つのコアしか使えないというケースもあり、性能の高い単一コアのCPUが欲しいという要望が聞かれる。しかし、単一コアの性能向上は、超音速機のコンコルドのようなもので、音速より若干遅めに飛ぶジャンボジェットなどと比べて目的地に早く着くという大きな利便性はあるのであるが、燃費が大幅に悪く、運べる乗客数も少ない。航空機が音速の壁を超えると経済性が損なわれるのと同様に、プロセサもスケーリングの壁にぶつかっており、残念ながら高速単一コアは経済的な解には成りえない。