web-dev-qa-db-ja.com

プロセッサーとコアの定義(マルチプロセッサーとマルチコア)

たくさんのリンクを読んだ後、CPU、プロセッサ、コアなどの単純な定義の間に多くの重複があることに私は気になります。

https://stackoverflow.com/questions/19225859/difference-between-core-and-processor

まず、CPUとは何か、コアとは何なのかを明確にしましょう。中央処理装置CPUは複数のコアユニットを持つことができますこれらのコアはそれ自体がプロセッサです 、プログラムを実行できますが、同じチップに内蔵されています。

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

CPU、または中央処理装置は、通常プロセッサーと呼ばれるものです。

それでそれはどれですか?

CPU(中央演算処理装置)には、(1個の)コアが含まれています。各コアは、ハイパースレッディングテクノロジーに応じて(1対多の)スレッドを実行できます。つまり、実際の計算処理を行います。

では、プロセッサとは何でしょうか?それは、CPU、チップ全体を指しますか? CPU上の1つのコアを指しますか?そして、マルチプロセッサ/マルチコアは正確にはどういう意味ですか?それらは同義語ですか?

8
AlanSTACK

はい、プロセッサは、コアに関係なく、あらゆる種類のCPUを表すために使用される一般的な用語です。同じことがCPUにも当てはまり、シングルコアまたはマルチコアを意味するものではなく、どちらかを参照するために使用できます。

中央処理装置(CPU)は、コンピュータプログラム内の電子回路であり、命令で指定された基本的な算術、論理、制御、および入出力(I/O)操作を実行することにより、コンピュータプログラムの命令を実行します。この用語は、少なくとも1960年代初頭以降、コンピュータ業界で使用されています。伝統的に、「CPU」という用語は、プロセッサー、より具体的にはその処理装置と制御装置(CU)を指し、コンピューターのこれらのコア要素をメインメモリーやI/O回路などの外部コンポーネントから区別します。

マルチコアプロセッサを使用すると、コンピュータの処理パフォーマンスが向上します。マルチコアプロセッサは、2つ以上の個別のプロセッサ(この意味ではコアと呼ばれます)を1つの集積回路に接続します。理想的には、デュアルコアプロセッサは、シングルコアプロセッサのほぼ2倍の強力です。実際には、不完全なソフトウェアアルゴリズムと実装のため、パフォーマンスの向上ははるかに小さく、約50%にすぎません。プロセッサのコア数(デュアルコア、クアッドコアなど)を増やすと、処理できるワークロードが増えます。これは、プロセッサが多数の非同期イベントや割り込みなどを処理できるようになり、圧倒されたときにCPUに負荷がかかる可能性があることを意味します。これらのコアは、処理プラントの異なるフロアと考えることができ、各フロアは異なるタスクを処理します。単一のコアでは情報を処理するのに十分でない場合、これらのコアは隣接するコアと同じタスクを処理することがあります。

ハイパースレッディングやアンコアなどの最新のCPUの特定の機能により、使用率の向上を目的とした実際のCPUリソースの共有が含まれるため、パフォーマンスレベルとハードウェア使用率の監視は徐々に複雑なタスクになりました。

ただし、マルチプロセッサシステムは異なります。これは、複数のプロセッサをサポートするマザーボードを搭載したコンピュータを指します(通常は2〜8個のCPUですが、一部のスーパーコンピュータは、1つのマザーボードでさらに多くのプロセッサを使用できる特別なハードウェアを使用しています)。ここに問題があります。マルチプロセッサコンピュータはマルチコアCPUを使用できます(通常使用します)。たとえば、2つのIntel Xeon 5560 Quad Core CP を備えたマルチプロセッササーバーをいくつか構築しました。この特定のCPUは、ハイパースレッディングと呼ばれるテクノロジを提供します。ハイパースレッディングは、4(クワッド)コアを仮想的に半分に分割するテクノロジーであり、CPUあたり合計8コアを効果的に提供します。ハイパースレッディングを備えたCPUあたり8コアがあり、システムはマルチプロセッサであるため、最終的には16コアのシステムになります。各コアは他のコアとは無関係にスレッドを処理できます。つまり、単一のCPUを使用する場合よりもはるかに多くの情報を処理する能力があります。

enter image description here

14
Richie086

プロセッサは、多くの単語のように、それが使用されているコンテキストに依存するため、定義するのが難しい用語です。

Dictionary.com で定義されているprocessorは、

デバイスに供給される電気信号を解釈および実行するために必要な回路を含むコンピューティングデバイスの主要コンポーネント

つまり、ある意味でコンピュータには多くの「プロセッサ」があります。コンピュータの「思考」の大部分を行うCPUからGPU(ディスプレイを駆動する)まで、すべてが技術的にはプロセッサです。

コアに関しては、多くの最近のCPU(これが書かれた当時)は複数のプロセッサーで構成されています。これにより、コア間で作業が分割されるため、パフォーマンスが向上します。 CPU(Central Processing Unit)は、オペレーティングシステムがCPUを認識する方法を単に指します-必要に応じて情報を処理するエンティティとして。

つまり、マルチコアCPUには複数のコアがあり(ハイパースレッディングを含まない)、シングルコアCPUにはありません。

ハイパースレッディングはまったく別の混乱です。

これにより、オペレーティングシステムは複数の独立したタスクを同時に実行できるようになります。これにより、多くの場合、パフォーマンスが向上しますが、すべてのCPUで使用できるわけではありません。

0
infamoustrey