web-dev-qa-db-ja.com

MultiCoreとMultiProcessorの違いは何ですか?

重複の可能性:
マルチコアプロシージャとマルチプロセッサシステムの違いは何ですか?

MultiCoreとMultiProcessorの違いは何ですか?

25
Fulano

[〜#〜] cpu [〜#〜] 、または中央処理装置は、一般にプロセッサーと呼ばれます。プロセッサには、命令やデータ用の1つ以上のメモリキャッシュ、命令デコーダ、算術演算や論理演算を実行するためのさまざまなタイプの実行ユニットなど、プロセッサ内に多数の個別部品が含まれています。

マルチプロセッサシステムには、このようなCPUが複数含まれているため、それらを並行して動作させることができます。これはSMP、または対称型マルチプロセッシングと呼ばれます。

MulticoreCPUには、1つのCPUに複数の実行コアがあります。これは、厳密なアーキテクチャによって異なる意味を持つ可能性がありますが、基本的には、CPUのコンポーネントの特定のサブセットが複製され、複数の「コア」が別々の操作で並行して動作できることを意味します。これはCMP、チップレベルのマルチプロセッシングと呼ばれています。

たとえば、マルチコアプロセッサには、各コアに個別のL1キャッシュと実行ユニットがあり、プロセッサ全体に共有L2キャッシュがある場合があります。つまり、プロセッサには低速のキャッシュの大きなプールが1つありますが、複数のコアのそれぞれに個別の高速メモリと演算/論理ユニットがあります。これにより、各コアが他のコアと同時に操作を実行できるようになります。

[〜#〜] smt [〜#〜] と呼ばれるさらに別の分割があり、同時マルチスレッド化です。これは、プロセッサまたはコアのコンポーネントのさらに小さなサブセットが複製される場所です。たとえば、SMTコアにはスレッドスケジューリングリソースが重複している場合があります。そのため、コアには、実行ユニットが1セットしかない場合でも、オペレーティングシステムからは2つの「プロセッサ」のように見えます。これの一般的な実装の1つは、Intelのハイパースレッディングです。

したがって、マルチプロセッサ、マルチコア、マルチスレッドシステムを使用できます。 2つのクアッドコアハイパースレッドプロセッサのようなものは、オペレーティングシステムの観点から、2x4x2 = 16の論理プロセッサを提供します。

ワークロードが異なれば、セットアップも異なります。主に単一目的のマシンで実行される単一スレッドのワークロードは、非常に高速なシングルコア/ CPUシステムの恩恵を受けます。 SMP/CMP/SMTセットアップなどの高度に並列化されたシステムの恩恵を受けるワークロードには、同時に作業できる多数の小さな部品があるワークロード、または使用されているデスクトップなど、一度に多くのものに使用されるシステムが含まれますWebサーフィン、Flashゲームのプレイ、ビデオの視聴をすべて一度に行えます。ほとんどのシングルCPU /コアの未加工速度は、ほとんどのモデルに共通するワークロードに対して「十分に高速」であるため、一般に、最近のハードウェアはますます高度な並列アーキテクチャに向かっています。

29
phoebus

みんなで十分説明してくれました。それでもあなたが理解していない場合。これを見てください:

alt text

18
claws

マルチコアプロセッサには、1つの物理パッケージに2つ以上のコアが含まれています。

マルチプロセッサシステムは、複数の物理プロセッサを含むシステムです。これらの各プロセッサには、複数のコアを含めることができます(WoodEが回答)。

彼らが比較する方法については:
マルチコアプロセッサでは、各コアは一般に高速シングルコアプロセッサよりも低速です(未加工の速度)。また、そのプロセッサのすべてのコアは、同じシステムバスとメインメモリを共有します。ただし、ほとんどの日常的なタスクではこれは目立った問題ではありません。ほとんどのユーザーにとって、システムはより簡単なタスクを一度に実行できるため、より速く感じるでしょう。

マルチプロセッサシステムでは、高負荷のタスクが複数実行されている場合にパフォーマンスが向上します。マザーボードによっては、各プロセッサに専用のバスまたはメインメモリ、あるいはその両方があり、これらのタスクで各プロセッサの全機能を使用できるようになる可能性があります。

マルチプロセッサのマルチコアシステムは、それぞれの長所と短所を組み合わせたものになります。

また、よりマルチスレッド化されたプログラム(一度に複数のタスクを処理するようにプロセッサーに指示することができるプログラム)が開発されるにつれて、マルチコアプロセッサーの欠点が減少します。

2
Xantec

デスクトップ/ラップトップの観点から見ると、マルチプロセッサはマシンに2つ以上の別個のCPUを搭載しています。

マルチコアは同じチップ上に複数のプロセッシングコアを持ち、基本的に1ビットのシリコン上に複数のCPUを持っています。マルチコアと見なされるには、各コアは基本的に完全なCPUである必要があります。最も初期のPentiumチップでさえ、複数の整数計算ユニット(より効率的なパイプライン化を可能にする)があったという事実は考慮されません。

もちろん、同じマシンに複数のマルチコアプロセッサを搭載したマルチプロセッサマルチコア構成にすることもできます。

考慮すべき変数が多いため、賛否両論は複雑になる可能性がありますが、いくつかの顕著な違いは次のとおりです。

  • 冷却:2コアCPUは、多くの場合、同じ仕様の2つの個別のシングルコアユニットよりも廃熱が少なく、ヒートシンクとファンが1つだけ必要です。 2つ、より高度な冷却ソリューションが必要になる場合があります)
  • キャッシュの局所性による速度:同じチップ上にあるため、L2(またはL3)キャッシュのコヒーレンシ/共有をより効率的にする機会があります。これは、コアが外部メモリバスを介してより長い距離で調整する必要がないためです。
  • シンプルさによるコストの違い:マルチコアソリューションでは、マザーボードなどに複数のソケットは必要ありません。
2
David Spillett

私の知る限りでは、コアはプロセッサの内部にあるため、マルチコアは単一の強力なプロセッサを意味し、マルチプロセッサはマザーボード上の複数のプロセッサです(発熱の問題を軽減するための数値、または共有ペイロードでさえパフォーマンスが向上する)確かではありませんが、私が読んだことから、正確であると考えました

1
Dacota

基本的に、マルチコアプロセッサはマルチコア(たとえば、クアッドコアは4コア)を備えたシングルプロセッサであり、マルチプロセッサシステムには、マザーボード上に複数のプロセッサが含まれます(マルチコアにすることもできます)。

それぞれの長所と短所については、もう少し複雑になります。

編集:スペル修正。

1
WoodE

マルチコアとは、1つの die に含まれる複数のコアです。マルチプロセッサは複数のダイです。