マルチコアCPU

「マルチ」は「複数の」を意味し、「コア」はCPUの中で実際に計算する脳髄的な部分を表す。CPUといえば「1つのCPUの中に1つのコア」、すなわち「シングルコアCPU」が当然であったが、これからは「1つのCPUの中に2つのコア」で高性能化を実現しようというのである。これが最近流行の「デュアルコアCPU」である。2個以上のコアを搭載したCPUを「マルチコアCPU」と呼ぶ。
要するにデュアルコアは、一つのコアをこれ以上高速化させることが無理なら現状のまま2個搭載すればいい、という考えの下に生まれたのである。しかしこの考えには落とし穴がある。マルチコアになったからといって、一つ一つの命令を処理する時間は変わらない。マルチコアは「片方が作業を行う間にもう片方が違う作業を行える」ことが利点であって、決して個々の作業は高速にはならないのだ。また、それぞれのコアが同じ作業を行ってしまうと意味が無い。上手く作業を配分させることが要であり、そのためにはそれぞれのコアが互いに情報をやり取りして無駄な作業を行わないようにする必要がある。しかし命令によっては振り分けがままならないこともあり、また効率的な振り分けが実現できたとしても「全体で見れば早くなった」となるだけなのだ。
そんなマルチコアCPUがなぜ現状打破の鍵となるのか。これは経験則であるが、シングルコアCPUはそのまま大きくしても性能は平方根でしか上がらない。コアの大きさ(面積)を2倍にしても、性能は1.4倍にしかならない。しかし消費電力は純粋に増大してしまう。そんなジレンマを常に抱えていた。
しかし、大きさを2倍にしても性能が1.4倍にしかならないということは、逆に言えば大きさを半分にしても7割程度の性能は確保できる、ということである。大きさを半分にする代わりにもう一つコアを増やし、同時に稼動させることで二つ分の性能を実現できたなら、総面積はそのままで性能は0.7×2=1.4倍になる。
さらに消費電力の改善も実現できる。今までと同じコアを半分のクロックにして2つ搭載すれば、性能はそのままで消費電力は0.5×0.5×0.5×2=0.25となり大幅な省電力化が望めるのだ。
これらがマルチコアのトリックである。