マルチコア
マルチコア (英: 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つのコアを持つプロセッサはマルチコアに対してシングルコア (single-core) とも呼ばれる。
いくぶん不明瞭な意味で、半導体部品を意味する。ダイやペレットを指す場合もある。また、表面実装技術 (surface mount technology, SMT) の受動部品を指す場合もある。
ポラックの法則では、プロセッサを構成するトランジスタ数をプロセス繊細化を行なわずに単純に2倍にした場合、ダイサイズは2倍となるが、処理能力は 2 {\displaystyle {\sqrt {2}}} 倍(約1.4倍)にとどまるとされている。一方で、消費電力はトランジスタ数に比例する。この法則によれば2倍のコストで1.4倍のリターンしか得られず、プロセッサあたりのトランジスタ数を増やすことは非効率となる。
スーパーコンピュータの領域ではより早くからスカラー演算能力の限界として認識されていたシングルCPUによる演算能力向上の限界は、1990年代末頃からはPCやサーバー用の分野でも現実のものとして認識されはじめた。2000年代の中頃にはシングルコアでの処理性能の向上手法よりマルチコアによる向上を図った製品が登場するようになった。
以下にマルチコアが登場した背景について示す。