ほんの数年前まで、CPUコアの性能は、年に数十%ずつ上がっていた。しかし、Pentium 4世代でCPUコアの性能アップは鈍化し、それ以降は、CPUコア数を増やすことで性能を稼いできた。だが、CPUメーカーは再びCPUコアの性能をアップさせようとしている。ベクター演算を強化することによって。
CPUコアの性能のアップが止まってマルチコア化へ
「フリーランチが終わった」─ソフトウエアの世界では数年前からこう言われている。
6~7年前までは、ソフトウエアにとって、何もしなくても性能が上がるフリーランチ(タダ飯)を食べられる、楽な時代だった。従来のCPU向けに書かれたソフトウエアを、そのまま新しいCPUで走らせると速く走った。シングルスレッドのスタイルのソフトウエアのままで、新しい命令や新しいモードに対応しなくても、性能がグンと上がった。
フリーランチが実現できたのは、CPUコアの整数演算性能が年平均で約50%ずつ向上していたからだ。しかし、フリーランチなんてうまい話が永遠に続くわけはない。15年ほどフリーランチが続いたあとの2002年ごろ、突然、CPUは壁にぶち当たってしまった。CPUの整数演算性能が上がらなくなったのだ。
それ以来、これまで、CPUコアの性能は年に平均で15~20%アップにとどまっているという。以前の半分から3分の1のペースだ。CPUコアの性能が上がらなくなったので、CPUメーカーは、その代わりにマルチコア化でCPUコアの数を増やすことにした。でも、CPUコア自体の性能はあまり上がらないから、ソフトウエアはマルチスレッド化しないと性能を大きく上げられない。フリーランチを食べることができなくなった。
ここまでが今の状況だ。では、次のステップは?