昔のCPUはシングルコアが主流でしたが、
CPUのクロック数の限界などから性能の限界を迎えたため
マルチコアCPUが近年主流になってきました。

 

コンピュータにあまり詳しくないひとでもマルチコアという言葉は
一度くらいは聞いたことがあるかと思います。

 

IntelのCPUのコアi7やi5などは上記のマルチコアに該当します。

 

ちなみにマルチコアは
2つのコアがある場合はデュアルコア
4つの場合はクアッドコア
6つの場合はヘキサコア
8つの場合はオクタコア

 

などと呼ばれています。

マルチコアにも2種類あって
ホモジニアスマルチコアとヘテロジニアスマルチコアの2種類があります。
一般的にマルチコアと呼ばれるCPUは大体がホモジニアスマルチコアであることが多いです。
(例えばコアi7、Core 2 Duoなど)

ホモジニアスマルチコアは
1つのCPUに入っているコアが同じものです。

では、ヘテロジニアスマルチコアとは何でしょうか?
1つのCPUに入っているコアが異なるもので
それぞれのコアが何かに最適化されているものです。
計算が得意だったり、制御とかが得意だったりします。

有名なCPUだと10年程前に発売されたCELL Broadband Engine(通称:CELL、CELLプロセッサなど)があります。
東芝のCELL REGZAやSONYのPlayStation3などがあります。

私も初めてヘテロジニアス・マルチコアというCPUの存在を知ったのは
PlayStation3に搭載されるというニュースを見て知りました。
それ以降はあまり耳にすることも(個人的には)減りましたが、
最近だとスマートフォンの新型に搭載されているCPUでSnapdragon835がヘテロジニアス・マルチコアと聞きました。

 

ヘテロジニアス・マルチコアは、それぞれのコアが特定の処理に最適化されていることもあり、
処理の制御や割り当てなど並列処理を含めたいろんな知識も多く求められます。
プログラマにとってはやりがいのあるCPUだと私は思います。

 

ここ最近はWEBサイトのコーディングの際にブラウザの違いを考慮するだけで
プログラミングの場合はCPUまで考慮しないので
たまにはCPUに合わせたプログラムを書くのも楽しいと思います。