ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
マイクロプロセッサーの性能は、そのダイサイズの平方根に比例する、という経験則。
CPUコアのサイズを2倍、3倍にしても、そのCPUの整数演算性能は約1.4倍や約1.7倍程度にしかならない。
つまり、集積するトランジスタ数をいくら増やしても整数演算の性能はその平方根倍にしか向上しないため、ダイサイズを大きくすればするほど効率がどんどんと悪化する。
これは、Intelのフレッド・ポラック(Fred J. Pollack)が経験から発見した法則で、これがやがてポラックの法則と呼ばれるようになった。この法則が示されて以降、Intelはプロセッサーの設計方針を転換することになる。
そもそもかつては、シングルスレッドで整数演算をするソフトウェアが主流だった。したがってCPUは、そのようなソフトウェアを高速に動作できるよう、改良を進めることになる。
しかしそれは単一のコアを高速に動かすということであり、速度の向上と引き換えに、ダイサイズの拡大と効率の悪化を招くものだった。
もっとも最近のものでもっとも効率の良かったプロセッサーはi486である。1クロックで1命令しか実行しないため、演算ユニットが無駄になることは一切無かった。その上、命令をそのままの順序で実行するインオーダー実行であり、命令制御の機構も簡易に済み、消費電力も少なく済む。
次はP5と呼ばれるPentiumだが、若干効率が落ちた。Pentiumはインオーダー実行で2命令発行できる。最大で2命令実行できるため整数演算の性能は上がるが、同時実行できない組み合わせがあり、この場合は片方の実行ユニットが遊んでしまう。したがってi486より効率が悪くなる。
さらに次のP6と呼ばれるPentium Pro/Ⅱ/Ⅲは3命令同時実行が可能になり、性能は更に向上したが、効率はますます悪化した。並列処理のために命令の順序を入れ替えて実行するアウトオブオーダー実行が採用されたが、このために命令制御の機構が複雑化し、消費電力が増大した。
そして次のNetBurstと呼ばれるPentium 4では、パイプラインを深くして高クロック化を図った。これにより効率はいっそう悪化している。
従来のような拡張方法はこの時点で限界を迎え、新たな方針へと転換せざるをえなくなった。
従来のような、「シングルスレッドで整数演算をする」ことを高速化する、という方針を、捨てることになった。
ポラックの法則が示されて以降、従来方針の最後の製品がPentium 4で、これ以降は低消費電力とマルチコア化がトレンドとなっている。
そもそも、マルチタスクはおろかマルチスレッドが当たり前となり、さらにゲームなどで浮動小数点演算を使うものが増えた現在においては、従来の方針はもはや呪縛でしかない。こうして、Intelのプロセッサーも、「マルチスレッド」「浮動小数点演算」といったものにシフトすることになった。
Pentium 4の後継がIntel Core 2であり、Core 2の目玉がマルチコア化とSSEの強化であるのは、当然の帰結である。
GPGPUが話題になるような時代になってからは、ベクトル演算にも注目が集まった。Intelは、Larrabeeとして512ビット長のベクトル幅を持ったGPUの研究開発をしている。
さらに、通常のCPU向けに、ベクトル演算への拡張にも対応し、かつSSEの処理効率向上を目指したIntel AVXを発表した。AVXでは従来のSSE用128ビットXMMレジスターを拡張して256ビットとし、ここでベクトル演算をする。将来的にはベクトル幅をさらに広げ、Larrabeeと同じ512ビット幅への拡張も想定されていると思われる。
対するAMDもCPUとGPUの融合を視野に製品を発表している。この流れは既定路線となっており、製品化は2011(平成23)年以降と見込まれている。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます