マルチコア

出典: フリー百科事典『ウィキペディア(Wikipedia)』

デュアルコア から転送)
シングルダイ・マルチコアの概念図。CPUコアとレベル1キャッシュが2つあり、レベル2キャッシュは2つのコアと共有される。
シングルダイ・マルチコアの概念図。CPUコアとレベル1キャッシュが2つあり、レベル2キャッシュは2つのコアと共有される。

マルチコア(Multiple core、Multi-core)は、一つのCPUパッケージ内に複数のCPUコアを封入した技術である。

外部的には1つのCPUでありながら内部的には2つのCPUとして認識されるため、主に並列処理を行わせる環境下においては、CPUチップ全体での処理能力を上げ性能向上を果たすために行われる。このCPUパッケージ内のCPUコアが2つであればデュアルコア、4つであればクアッドコアとよばれる。従来の1つのコアを持つCPUはマルチコアに対してシングルコアと呼ばれる。

目次

[編集] 概要

この技術は複数のCPUコアを一つのダイに集積する場合、プロセスルールを変えなければ、実装したCPUコア数に比例してダイが大きくなる。面積が増えると級数的に製造不良が増えるなど、製造の面では敷居が高くなる。

並列コンピューティングに対応したプログラミングが必要なため、ソフトウェアの開発は難しくなるが、OSやミドルウェアなどが並列処理の支援を行うことでソフトウェア開発は容易なものとなる場合がある。マルチプロセッサに対応しているプロセッサのマルチコア化の開発は、比較的簡単である。

パーソナルコンピュータでは高消費電力と廃熱処理や騒音対策などによる制約やクロック周波数対効果の停滞などにより、この技術へのシフトが進んでいる。

マルチコアCPUは消費電力低減と発熱抑制を目的に、各コアごとに動作電圧やクロック・スピードの可変制御を行ったり、休止状態を含む動作状態の制御を行なっている製品もある。コアごとに複数の電圧で給電するシステムが別途必要となるため、単一電圧よりは難易度は高い。

マルチコアCPUに似た技術に、同時マルチスレッディング(Simultaneous multi-threading、SMT)がある。これは1つのCPUを外部から2つに見せるという点では同じだが、実際に存在しているコアは1つ、すなわちシングルコアであるという点でマルチコア技術とは根本的に異なる。

[編集] 用語

説明を効果的にするために、まず使用する用語を示す。

ダイ(Die)
シリコン・ウェハー上に半導体回路を作り、四角に切り出したもの。ベア・チップとも呼ばれる。半導体産業ではプロセス済みのウェハーやダイの生産までが上流工程であり、テストとパッケージ封入が下流工程になる。大手半導体企業で自社生産としている場合でも下流工程はアウトソーシングしていることがある。
コア(Core)
マルチコアCPUの「コア」について説明すれば、CPUダイ上に作成されるCPU回路の中核部分で「キャッシュ・メモリー」を除く半導体回路部分。ただし、共有ではないコア専用のキャッシュ・メモリはコアに含める事がある。多くの場合、CPUダイは「コア」、「キャッシュ・メモリー」、ボンディング・パッド等の接続部から構成される。
サブストレート
ダイを載せて外部接続ピンなどの外力から守るデジタル半導体の主要構成部材の1つ。MCM(Multi Chip Module)やMCP(Multi Chip Package)の場合には1つのサブストレートに複数のダイが載る。
チップ(Chip)
いくぶん不明瞭な意味で、半導体部品を意味する。ダイを指す場合もある。また、表面実装技術(Surface mount technology、SMT)の受動部品を指す場合もある。

[編集] 背景

[編集] 複数CPUの実装

大型コンピュータやスーパーコンピュータでは、1つの半導体パッケージに複数のCPUコアを封入することは早くから行なわれていた。

サーバー用途でのパーソナルコンピュータ類似製品では1990年代中頃から、マザーボード上に複数のプロセッサを実装し並列処理させる対称型マルチプロセッシング(Symmetric multi-processing、SMP)と呼ばれるソリューションが現れていた。こういったマザーボードにマルチコアCPUを装着して、2x2=4 や 2x4=8 といった多数のマルチコア環境が現れている。

[編集] 発熱問題

1990年中頃からラップトップPCでの「ひざが熱い」という発熱への不満やPCの放熱ファンの騒音が問題として認識され始めた。将来のCPUは、製造プロセスの微細化によるリーク電流の増加や、処理能力向上を目的とした動作クロックの高速化によって、消費電力がますます増大していくことが予想された。当時のCPU処理速度の向上手法のままでは、CPUのダイ温度が非現実的なまでに高温となり、冷却機構の物理的な限界から性能向上が頭打ちになることもまた予想された。2000年前後から一般ユーザー向けのPCでも水冷式の製品が販売されたりしていた。

[編集] クロックの限界

ポラックの法則ではCPUを構成するトランジスタ数を2倍にしても処理能力はその\sqrt{2}倍(約1.4倍)にとどまるとされている。一方で、消費電力はトランジスタ数に比例する。2倍のコストで1.4倍のリターンしか得られず、非効率的である。

また、1GHzの1サイクルの時間内では、光速度でも30cmしか伝播できない物理法則の壁がある。5GHzや10GHzになれば従来のLCによる伝播遅延に加えて、光速度の7割程度の電気信号そのものの伝播の遅さも無視できなくなってくる。

[編集] 処理高速化の回路

現在のCPU内部の処理機構がスーパースカラ機構などにより既に高度に高速処理への最適化がなされており、たとえば命令の先読みによって投機実行と呼ばれる、本当に実行が必要かまだ決まらない内から前もって次の処理を実行してしまうという動作を常に行なったり、CPUの外部に主メモリがあるにもかかわらずCPU上にキャッシュ・メモリーが2段階にも用意されている、さらにプリフェッチ・キューまでが用意されているといった具合である。これらの高速処理に欠かせないCPU回路は、それぞれがほんの少しだけ処理の高速化に貢献している回路であり、これ以上同様の付加回路をCPUに追加してもそれほどの処理の高速化には貢献しないと予測される。

[編集] 処理性能の向上策

マルチコアCPUによってCPUコア数を増やせば、ソフトウェアさえ上手く対応できれば、処理性能の向上が得られることから、これら発熱とクロックの限界への解決策になる。実際に今日のPCはTV放送やビデオ、音楽を再生しながらメールやWeb閲覧、ゲームを楽しむことが行なわれており、複数のアプリケーションや多数のスレッドが実行される環境になっているため、対応するソフトウェア環境も徐々に整いつつある。

[編集] ノイマンズ・ボトルネック

現代のプロセッサは基本的にノイマン型である。従ってノイマンズ・ボトルネックは不可避となっている。現代の主記憶に使われるDRAMに対して価格・集積密度・信頼性・汎用性・調達性のすべてを超える製品は、その登場が待ち焦がれているにも関わらず実現していない。この為、プロセッサ自体がローカルメモリ(キャッシュメモリもその範疇に含まれる)を持ってノイマンズ・ボトルネックを回避する以外の解決策が見出せていない。ローカルメモリで行える処理は限られており、複数のプロセッサコアで処理を分散して問題を解決するというアプローチが先進的な半導体メーカーによって推し進められている。

[編集] マルチコアCPUの歴史

1999年、米IBM Corp.は商用サーバ向けプロセッサのPOWER4の発表でCPUのマルチコア化をリードした。2004年5月には米インテル社が従来のPentium 4の高速版でシングルコアCPUの開発コード「Tejas」の開発中止を決定したことが伝えられた。同じ頃、米AMD社も同社の計画から次世代のK9・K10などシリーズ以降の高速版CPUの開発を全て中止した(現行のK8シリーズをマルチコア化の強化という新たな方向性で製品化したものを現在ではK10としている)

2005年になって、米AMD社は当初から消費電力を抑えマルチコア化を見越したK8アーキテクチャを設計を行い、デュアルコア製品の提供を開始した。製品名はDual-Core OpteronAthlon 64 X2である。インテルは、マルチコアCPUの市場投入の出遅れをカバーするために、単純に2つのCPUのダイ(Die)を1つのパッケージに封入したマルチコア・マルチダイ形式をとり、マルチコアチップを早く出荷するというアプローチを取った(製品名ではPentium Dなど)。またサンマイクロシステムズはサーバ向けプロセッサUltra Sparc T1で8コアを実現している。

[編集] マルチコアCPU(その他)

[編集] ホモジニアスとヘテロジニアス

同種のコアを複数実装する「ホモジニアスマルチコア」と、異種のコアを実装する「ヘテロジニアスマルチコア」が存在する。

IBMソニー・コンピュータエンタテインメント東芝の3社で共同開発されているCellプロセッサは、ソニー・コンピュータエンタテインメントのプレイステーション3に組み込んだ製品では、Cellの場合は1個の汎用的なプロセッサコアと、8個のシンプルなプロセッサコアが組み合わせたヘテロジニアスマルチコアというアプローチをとっている。

XBOX 360のプロセッサコアは対称型マルチコアと呼ばれる3コアのプロセッサで、構造上はホモジニアスに属するものである。

米AMD社はさらなる高処理能力化への手法としてヘテロジニアスマルチコアプロセッサを計画し、Fusionプロジェクトと命名した。その手始めとしてグラフィックス処理プロセッサ(GPU)の米NVIDIAと並ぶカナダATI社を買収し、GPUをCPUと同一ダイに集積したCPU製品を計画している。

また、同じ命令セットを使用するものの、処理能力の高いコアと処理能力が低いもののトランジスタや消費電力の点で低コストのマルチコアも考えられる。同一命令セットという観点ではホモジニアスではあるが、処理能力の点では同一ではなくヘテロジニアスとなる。

[編集] Intel社のメニーコア

米Intel社は10個以上のコアを集積したプロセッサをメニーコアと呼んでいる[1]

[編集] 組み込み系

もともとのコアの大きさが小さく、ダイ面積増加によるコスト上昇を抑えられる組み込みシステムでは以前から一般的に使われている手法である(iPodに搭載されているPortalPlayer社のチップは、「ARM7」のコアを2つ搭載している)。特に近年ではマルチコアによる性能向上が著しい。組み込み向けプロセッサでは汎用コアを10個程度搭載するものは珍しくなく、32ビットプロセッサ360個を集積するチップも存在する。[2]

[編集] 注釈

  1. ^ インテル、メニーコア化への取り組みなど、研究活動に関する説明会を開催, マイコミジャーナル, 2005年11月09日
  2. ^ 安藤壽茂、Fall Microprocessor Forum 2006 - 組み込みプロセサ、マイコミジャーナル、2006年10月21日

[編集] 関連項目