現在流行のマルチコアCPUは、1つのCPUパッケージの中に複数のCPUコア(回路)を実装することで、低コストなマルチプロセッシングシステムを可能とするものである。
Windows シリーズのOSは、スレッドと呼ばれる単位プログラムを並列処理する形のマルチタスクシステムを採用している。OS白体や、1つのアプリケーションプログ ラムも複数のスレッドで構成されるため、たとえばWindows XPでInternet Explorer1つを起動しただけで、PCのメモリ上には100以上のスレツドが読み込まれた状態になる。CPUはこれらのスレッドを数ミリ秒ごとに切 り替えて順番に実行することで、すぺてのプログラムが同時に動いているように見せているのだ。
実際には、スレッドによってCPUの負荷 が異なるし、必要なときがくるまで実行されないスレッドもあるが、ここでは話を単純にするため、1つのCPUコアが単位時間に10個のスレッドを1回ずつ 処理できる性能を持つと仮定しよう。そうすると、このCPUを2コア化すれば、単位時間の処理スレッド数は2倍の20になる。つまり、PCの処理速度が2 倍になったわけだ。4コアなら4倍のスピードアップになる。
しかし残念 ながら、2倍、4倍のスピードアップが体感できることはほとんどない。現在のマルチコアCPUの多くは、すべてのコアが1つのFSBを共有してメモリアク セスを行っているため、FSBのデータ転送能力がボトルネックとなり、マルチコアCPUの能力を常に100%発揮することはできないのだ。
実 際のところ、ユーザーが処理速度の遅さを感じるのは、大量のメモリにアクセスするアプリケーションや、入出力デバイスに頻繁にアクセスするアプリケーショ ンであることが多い。こうしたアプリケーションは、2コアのCPUで実行しても、いきなり速度が2倍になったりはしないが、数10%のスピードアップは期 待できる。
設計が古いアプリケーションはプログラムがマルチスレッドでない場合は、マルチコアCPUのメリットはほとんどない。
4 コア以上のCPUの能力を十分に生かすことができるのは、一定のデータに対して膨大な計算処理を行うアプリケーションだ。たとえばビデオエンコードや3D アニメーションのレンダリングなど。それ以外の、一般のビジネスや家庭用のアプリケーションでは、4コアのCPUの性能を生かすことができない。というよ り2コアのCPUで十分なのだ。
マルチコアCPUのメリット として見逃せないのは、性能のわりに消費電力が少ないシステムを作ることが可能なことだ。マルチコアCPUなら、シングルコアよりも低い動作周波数で動か しても、高い処理能力を維持できる。動作周波数が低いと、駆動電圧を下げることが可能だ。そして、消費電力は電圧の2乗に比例するので、少し電圧を下げた だけでも消費電力を大きく下げられるのである。
一言でまとめるとこうだ。「シングルコアよりデュアルコアのほうが、W(消費電力)あたりの性能が高くできる」
そ れでは、4コアにすれば消費電力あたりの性能はさらに向上するのだろうか? 原理的にはそうだし、実際にもインテルのサーバー向けCPU、 Xeonシリーズの場合は4コアのXeonは2コアのXeonのおよそ1.5倍のワットあたり性能を発揮している。多数のサーバーを設置するデータセン ターの運営会社は、空調のために大きなコストをがけているので、電力効率の高いマルチコアプロセッサに大きな魅力を感じているそうだ。
一 方、コンシューマ向けのCPUでは少々事情が違っている。Intel Core 2 Extremeシリーズの4コア製品のクロックは2.66GHz〜3.00GHzと高く、 TDPも130Wと非常に高い。コンシユーマ向けとしては電力効率よりも性能のほうが顧客にアピールするという判断からだろう。