この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "マルチコア"
マルチコア (英: multiple core, multi-core) は、1つのプロセッサ・パッケージ内に複数のプロセッサ・コアを搭載する技術であり、マルチプロセッシングの一形態である。
外見的には1つのプロセッサでありながら論理的には複数のプロセッサとして認識されるため、同じコア数のマルチプロセッサと比較して実装面積としては省スペースであり、プロセッサコア間の通信を高速化することも可能である。主に並列処理を行わせる環境下では、プロセッサ・チップ全体での処理能力を上げ性能向上を果たすが、アムダールの法則による制約を受ける。このプロセッサ・パッケージ内のプロセッサ・コアが2つであればデュアルコア (dual-core)、3つであればトリプルコア (triple-core)、4つであればクアッドコア (quad-core)、6つであればヘキサコア (hexa-core)、8つは伝統的にインテルではオクタルコア (octal-core)、AMDではオクタコア (octa-core) と呼ばれるほか、オクトコア (octo-core) とも呼ばれる。さらに高性能な専用プロセッサの中には十個以上ものコアを持つものがあり、メニーコア (many-core) と呼ばれる[1]。
なお、従来の1つのコアを持つプロセッサはマルチコアに対してシングルコア (single-core) とも呼ばれる。シングルダイ・マルチコアの一例の概念図。この場合、プロセッサ・コアとレベル1キャッシュが2つあり、レベル2キャッシュは2つのコアと共有される。 マルチコアはシングルコアに対し、プロセスルールが同じであれば、実装したプロセッサ・コア数に比例してダイが大きくなる。面積が増えると、級数的に製造不良が増えるなど製造の面での難度が上る(歩留まりが悪化する)。 並列コンピューティングに対応したプログラミングが必要なため、ソフトウェアの開発は難しくなるが、OSやミドルウェアなどが並列処理の支援を行なうことでソフトウェア開発は容易なものとなる場合がある。既にマルチプロセッサ対応しているシングルコア・プロセッサを基にする、マルチコア・プロセッサの製品化は論理設計を省略できるため比較的簡単である。 性能が要求されるワークステーション、サーバ分野はもとより、パーソナルコンピュータ (PC) でも、高消費電力と廃熱処理(および冷却に伴う騒音対策)などによる制約や、クロック周波数向上対効果の停滞などにより、この技術へのシフトが進んでいる。 マルチコア・プロセッサは消費電力低減と発熱抑制を目的に、各コアごとに動作電圧やクロック・スピードの可変制御を行なったり、休止状態を含む動作状態の制御を行なっている製品もある。コアごとに複数の電圧で給電するシステムが別途必要となるため、単一電圧に比して設計・実装・製造難易度は高い。 マルチコア・プロセッサに似た技術に、同時マルチスレッディング (simultaneous multi-threading, SMT) がある。これは1つのプロセッサを外部から2つ以上に見せるという点では同じだが、実際に存在しているコアは1つ、すなわちシングルコアであるという点でマルチコア技術とは根本的に異なる。 効果的に説明するために、まず使用する用語を示す。
概要
用語
ダイ (die)
シリコンウェハー上に半導体回路を作り、四角に切り出したもの。ベア・チップやペレットとも呼ばれる。ダイはプロセッサ・パッケージ(CPUパッケージ)と呼ばれる覆いで封止されている。プロセッサはパッケージ化によって、基板との接点、ヒートスプレッダ、コンデンサ、抵抗などが一体となっている。半導体産業ではプロセス済みのウェハーやダイの生産までが上流工程であり、テストとパッケージ封入が下流工程になる。大手半導体企業で自社生産としている場合でも下流工程はアウトソーシングしていることがある。シリコンウェハーは無塵環境で製造されるが、不純物等の影響で不良箇所の発生が避けられない。ダイ上のどこか一箇所にでも不良があれば製品にはならないため、プロセスルールの微細化による回路の縮小でダイサイズを縮小し、シリコンウェハーからの切り出しを細分化して数を増やせば、ウェハー生産数に対するダイ不良品の数を減らすことができ、利益率が上がる。
AMD 486 DX 2 66 MHzのパッケージ裏面のカバーを外した様子。中央の黒と緑の部分がダイ。
コア (core)
コアとは、プロセッサ・ダイ上に作成されるプロセッサ回路の中核部分で、「キャッシュメモリ」を除く半導体回路部分。ただし、他のコアとは共有しない、コアごとのキャッシュメモリはコアに含める事がある。多くの場合、プロセッサ・ダイはコア、キャッシュメモリ、ボンディング