マルチコア
出典: フリー百科事典『ウィキペディア(Wikipedia)』
マルチコア(multiple core, multi-core)とは、一つのCPUの内部に複数のCPUのコアを封入させた技術である。外部的には一つのCPUでありながら、内部的には二つのCPUとして認識させられるため、主に並列処理を行わせる環境下においては、CPUチップ全体での処理能力を上げ、性能向上を果たすために行われる。このダイ上の個別のCPU(コア)が例えば4つであればクアッドコア、2つであればデュアルコア、この機構が実装されていないCPUはシングルコアと呼ばれる場合もある。
パーソナルコンピュータでは1990年代中頃から、マザーボードやCPUドーターカード上に複数のプロセッサを実装し並列処理させる対称型マルチプロセッシング(SMP)と呼ばれるソリューションが現れだしたが、マルチコアはその複数のCPUを一枚のCPUダイ上に集積したとも言える。
この技術は、複数のCPUコアを一枚のチップに集積するため、同じ設計のCPUを同じプロセスルールで実装すれば、実装したCPUの枚数に比例してダイの大きさが大きくなる。並列コンピューティングの問題点もそのまま受け継ぎ、性能を引き出すようなプログラミングが難しくなる傾向にあると考えられる一方で、一枚チップを設計し、それを複数載せ接続するだけという容易さが、他の処理高速化の手法よりコストメリットがある場合もある。
ダイの大きさが大きくなれば歩留まりは低下しチップの製造原価が高くなるため、コストを潤沢に掛けることのできるスーパーコンピュータにおいては古くから行われた手法だが、パーソナルコンピュータにおいては2004年から2005年のクロック周波数による性能向上の停滞ムードの中、この技術の重要性が取りざたされている。
もともとのコアの大きさが小さく、ダイ面積増加によるコスト上昇を抑えられる組み込みシステムでは以前から一般的に使われている手法である(iPodに搭載されているPortalPlayer社のチップは、ARM7コアを2つ搭載している)。特に近年ではマルチコアによる性能向上が著しい。組み込み向けプロセッサでは汎用コアを10個程度搭載するものは珍しくなく、32ビットプロセッサ360個を集積するチップも出てきている[1]。
-
- なお、類似の技術として同時マルチスレッディング(SMT)等があるが、これは一つのCPUを外部から二つに見せるという点では同じだが、実際の演算装置は一つ、すなわちシングルコアであるという点で、マルチコア技術とは根本的に異なる。
[編集] マルチコアCPUの動向
2005年現在、CPUの消費電力(消費電力は全て熱となる)は製造プロセスの微細化によるリーク電流の増加や、処理能力の向上の主手段である動作クロックの向上を主因にして現実的でないほど増加していくことが見込まれており、現状の設計思想のままでは、CPUの消費電力と冷却が非現実的なものとなり単独でのCPUの処理能力向上が難しくなってきている。
業界の経験則では、トランジスタ数を2倍にしても処理能力はそのルート2倍(約1.4倍)にとどまるが、消費電力はトランジスタ数に比例し倍増してしまう。しかし逆の見方をすると、トランジスタ数を半減させても処理能力は1.4分の1にとどまる。半減したトランジスタをもう1個のCPUに割り当てることで、トランジスタ数(あるいは消費電力・発熱量)をそのままに、処理能力は理論値では1.4倍(=1.4分の1の2倍)を達成できる。
マルチコアはコアごとに電圧やクロックの制御を行う機能を付加したり、より低いクロックでも処理性能が稼げることから、この問題への解決策として提案されている。事実、1990年代以前まではパーソナルコンピュータのCPUの空冷放熱ヒートシンクにはファンすら付いていないことも稀ではなかったが、2003年ごろからパーソナルコンピューターベンダーは水冷による熱処理を視野に入れているところもある。
このため、ダイの大きさが大きくなって歩留まりが低下することが予想されても、マルチコア化されたCPU内部の演算装置間の接続の設計のみで比較的楽に実装可能で設計コストが削減しやすいマルチコアは、2005年前後の時点でパソコン向けCPUメーカーにとって魅力的だったと考えられる。
Intel社は他社からこの技術で出遅れたことが手伝い、単純に複数のCPUダイを一枚のチップに載せ、マルチコアチップを他社より早く出荷するというアプローチを取った(製品名Pentium D)。一方、AMD社は当初からマルチコアを意識した設計に徹することによってより洗練された製品の製品化に成功している(製品名Dual-Core Opteron、Athlon 64 X2)。
複数の同じ処理装置を実装する手法が主流であるが、その一方でソニー・コンピュータエンタテインメント社のCellプロセッサはヘテロジニアスマルチコアという異なるアプローチをとっている。全く異なるCPUコアを一つのダイの中に搭載する方法である。Cellの場合は1個の汎用的なプロセッサコアと、8個のシンプルなプロセッサコアが組み合わせたものになる。
Intelは、将来的には同種の演算処理を行う複数の大小のコアを実装し、並列処理可能な命令群は多くの小さく消費電力の低いコアを用い、並列処理が苦手な処理は消費電力が大きいものの少数の大きなコアを用いるという手法を研究している。
[編集] 注釈
[編集] 関連項目
カテゴリ: CPU | 並列コンピューティング