マルチコア(Multicore)/デュアルコア(Dualcore) †
マルチコアは、1 つで複数(デュアルコアの場合は 2 つ)の演算器を持ち、互いに独立して動作する CPU の構成です。
特徴としては以下の通り。
- 「マルチプロセッサ (SMP)」と同等の動作が期待出来る
マルチプロセッサは、物理的に複数の CPU を用いる構成になります。よってコスト面や消費電力面で不利とされています。マルチコアは、CPU 内に演算器を実装しており、マルチコア CPU 1 つで SMP と同様の効果が期待できます。
- Hyper-Threading Technology (HTT) とは異なる「論理 CPU」
同じ論理 CPU の構成として HTT と比較されることが多いですが、パフォーマンス面で大きく異なります。HTT の場合は演算器 1 つに対し、仮想的に複数のプロセッサに見せ掛ける事で仕事量を平均化します。よって、実際には 1 つの演算器以上の動作は難しいとされており、状況によっては HTT が無効である方が有効である時よりもパフォーマンスが良いことすらあります。
マルチコアの場合、実際に演算器が複数実装されていることより SMP と同様のパフォーマンスを得られます。
- マルチコアに傾倒する背景
現在、x86 CPU をリードする AMD/Intel 両社共にマルチコア技術に傾倒しています。この背景には、既に単純に動作周波数を上げることによるパフォーマンス向上に限界が来ていることが挙げられます。よって今以上 CPU の能力を上げようとする場合、動作周波数以外の技術が必要とされている状況になっています。
動作周波数の向上の限界がマルチコアの傾倒を促しているようです。
- パフォーマンスに対しての消費電力面(TDP)の優位性
動作周波数の向上の限界は、消費電力面でも問題になっています。単純に動作周波数を上げるとその分、消費電力も倍増します。パフォーマンスを向上させるには、動作周波数を少し下げマルチコアに対応した方が結果的に消費電力が抑えられます。
演算器を複数搭載することで使用するトランジスタ数が増え、不具合率も増えるにも係わらずマルチコアに傾倒するのは、それほど消費電力の問題が顕著になってきたからという証なのかもしれません。
- ソフトウェアライセンスの問題
Microsoft 社を始めとする多くのソフトウェアメーカーは、プロセッサ数でソフトウェアの価格をつり上げています。マルチコアの場合、ほぼ SMP と同様の効果が得られることより、例え物理的な CPU が 1 つであったとしても、SMP と同様の価格を適用するソフトウェアメーカーも見受けられます。
HTT の場合は、パフォーマンス面で優位に立てなかったからかソフトウェアメーカーも 1 つの CPU として扱う所が多かったのですが、マルチコアの場合は対応が別れています。
関連情報 †
特集記事 †
用語 †
MSKB †
- MSKB:909944 Game performance may be poor on a Windows XP-based computer that is using a dual-core processor
タイミングを計るのに RDTSC を使うべきではなく、QueryPerformanceCounter() の方を使いなさいと言いたいようです。と言う事は core 毎に RDTSC は別(当たり前か)で、QueryPerformanceCounter() は Processor を固定して値を返却している、と。
なるほどね。
レビュー記事 †
後藤弘茂のWeekly海外ニュース †
News †