1. ホーム
  2. cpu

[解決済み】コアとプロセッサーの違いについて

2022-04-05 21:44:24

質問

コアとプロセッサーの違いは何ですか?

すでにGoogleで探しましたが、マルチコアやマルチプロセッサの定義しか出てこないので、私が求めているものとは違います。

どのように解決するのですか?

コアは通常、CPUの基本的な計算ユニットで、単一のプログラムコンテキスト(Intel CPUのハイパースレッディングなどハードウェアスレッドをサポートする場合は複数のコンテキスト)を実行でき、正しいプログラムステート、レジスタ、正しい実行順序を維持し、次のような方法で演算を実行することが可能です。 ALU . 最適化のために、コアは頻繁に使用されるメモリチャンクのコピーをオンコアキャッシュとして保持することもできます。

CPUは、ある時点でタスクを実行するために、1つまたは複数のコアを持つことができます。これらのタスクは通常、OSがスケジュールするソフトウェアプロセスやスレッドです。OSは実行するスレッドをたくさん持っているかもしれませんが、CPUはそのようなタスクを一度にX個しか実行できないことに注意してください(X = コア数 * コアあたりのハードウェアスレッド数)。残りのタスクは、現在実行中のタスクの先取りやその他の手段によって、OSがスケジュールするのを待つ必要があります。

CPUには、1つまたは複数のコアのほかに、コアを外部に接続するためのインターコネクトと、通常は大規模な最終レベルの共有キャッシュが搭載されます。このほかにも、CPUを動作させるために必要な重要な要素が複数ありますが、その正確な位置は設計によって異なる可能性があります。メモリと対話するためのメモリコントローラ、I/Oコントローラ(ディスプレイ、PCIe、USBなど)が必要です。以前は、これらの要素はCPUの外側にあり、補完的な"チップセット"にありましたが、最近の設計では、CPUに統合されているものがほとんどです。

さらに、CPUにはGPUが内蔵されていることもあり、設計者がパフォーマンス、電力、製造の観点から近くに置いておきたいと考えるものはほとんどあります。CPUの設計は、主に次のような傾向を示しています。 システムオンチップ (SoC)です。

これは古典的な設計で、最近のほとんどの汎用デバイス(クライアントPC、サーバー、タブレットやスマートフォンなど)で使用されています。通常、学会では、基本的なコア単位で計算を行わない、より精巧な設計も見受けられます。