コアとプロセッサの違いは何ですか?
私はすでにGoogleでそれを探しましたが、マルチコアおよびマルチプロセッサの定義を持っているだけですが、探しているものと一致しません。
コアとプロセッサの違いは何ですか?
私はすでに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、サーバー、タブレット、スマートフォン)で使用されています。通常はアカデミーで、計算が基本的な「コアのような」単位で行われない、より精巧なデザインを見つけることができます。
/proc/cpuinfo
16 processor:
行ありますmodel: AMD Ryzen 7 2700X Eight-Core Processor
。したがって、少なくともこの場合、8つの「コア」のそれぞれに2つの「プロセッサ」があり、これは他のいくつかの回答とは矛盾しています。
画像は千以上の単語を言うかもしれません:
*最新のマルチプロセッサ、マルチコアシステムの複雑さを説明する図。
ソース:
Open images in new tab
cltr
+
まず、CPUとコアとは何なのかを明確にしましょう。中央処理装置CPUは、複数のコアユニットを持つことができます。これらのコアは、それ自体がプロセッサであり、プログラムを実行できますが、同じチップに内蔵されています。
過去には1つのCPUがかなりの数のチップに分散されていましたが、ムーアの法則が進展するにつれて、1つのチップ(ダイ)内に完全なCPUが組み込まれるようになりました。マルチコアの概念。
最近では、同じCPU(チップまたはダイ)GPU、Intel Xeonに数百のコアを搭載することが可能です。90年代に開発された他の手法は、同時マルチスレッド化でした。基本的に、リソースのほとんどがすでにALUや複数のレジスターのように複製されているため、同じシングルコアCPUで別のスレッドを使用できることがわかりました。
そのため、基本的にCPUは複数のコアを備え、それぞれが1つ以上のスレッドを同時に実行できます。将来的にはより多くのコアが見込まれますが、効率的にプログラミングすることはさらに困難になります。
CPUは中央処理装置です。2002年以降、コアプロセッサは1つしかありません。つまり、一度に1つのタスクまたはプログラムのみを実行します。
一度に複数のプログラムを実行するには、一度にマルチプロセスを実行するためにマルチプロセッサを使用する必要があるため、そのために別のマザーボードが必要であり、非常に高価です。
そこで、Intelはハイパースレッディングの概念を導入しました。つまり、単一のCPUを2つの仮想CPUに変換します。つまり、タスクに2つのコアがあります。現在、CPUはシングルですが、デュアルCPUを備え、複数のタスクを実行しているように見せかけています(マスカレード)。しかし、実際のマルチコアを持つことはそれよりも優れているので、人々はマルチコアプロセッサ、つまり単一のボックスで複数のプロセッサを作成することを開発します。つまり、複数のコア。
初期の頃は... 90年代の前と同じように...プロセッサーはマルチタスクを効率的に実行できませんでした...単一のプロセッサーで単一のタスクしか処理できなかったので...アンチウイルス、マイクロソフトワード、vlcなど ソフトウェアはすべて同時に実行されています...実際にはそうではありません。プロセッサは一度に1つのプロセスを処理できると言ったとき、それはつまり、それは実際には単一のタスクを処理します...その後、そのタスクを一時停止するために使用されます...別のタスクを実行します...短いものの場合は完了しますか、もう一度一時停止してキューに追加します...次に、次のタスクを実行します。しかし、私が述べたこの「一時停止」は非常に小さいため(約1ns)、タスクが一時停止されたことを理解できませんでした。例えば。音楽を聴きながらvlcで同時に実行している他のアプリがありますが、あなたが言ったように...一度に1つのプログラム...
しかし、これは古いプロセッサに関するものでした...
現在のプロセッサ、つまり第3世代のPCにはマルチコアプロセッサが搭載されています。「コア」は、第1世代または第2世代のプロセッサ自体と比較できます。シングルチップ、シングルプロセッサに組み込まれています。これで、コアとは何であるかがわかりました。つまり、これらは組み合わせてプロセッサになるミニプロセッサです。また、各コアは、OS向けに設計されたように、一度に1つのプロセスまたはマルチスレッドを処理できます。そして、彼らは私が単一のプロセッサについて上で述べたのと同じステップをフォローします。
例えば。i7 6genプロセッサには8つのコアがあります。つまり、1つのi7に8つのミニプロセッサがあります。つまり、その速度は古いプロセッサの8倍です。そして、これがマルチタスクを実行できる方法です。
1つのプロセッサに数百のコアが存在する可能性があります。Intel i128。
私はこれをよく説明したいと思います。
トルトゥーガのベストアンサーが示すように、インテルの写真は参考になります。これのキャプションは次のとおりです。
プロセッサ:1つの半導体チップ、1つのソケットに装着されたCPU(中央処理装置)、1950年代から2010年代頃。時間の経過とともに、より多くの機能がCPUチップに搭載されてきました。1950年代のシングルチッププロセッサのリリース以前は、1つのプロセッサが複数のチップに分散していた可能性があります。2010年代の半ばに、システムオンチップチップにより、1つのプロセッサを1つのチップと同等にするのが少しおおざっぱになりました。 4つのプロセッサを搭載しています。」
コア:CPUの1つのブロックで、一度に1つの命令を実行します。(クロックサイクルごとに1つの命令を言う人もいますが、一部のCPUは、いくつかの命令に複数のクロックサイクルを使用します。)