web-dev-qa-db-ja.com

コアとプロセッサの違いは?

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

私はすでにグーグルでそれを探しました、しかし、私はただマルチコアとマルチプロセッサ定義を持っています、しかしそれは私が探しているものと一致しません。

178
Saad Achemlal

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

CPUは、所与の時間にタスクを実行するための1つまたは複数のコアを有することがある。これらのタスクは通常、OSがスケジュールするソフトウェアプロセスとスレッドです。 OSには実行するスレッドが多数ある場合がありますが、CPUは特定の時間に実行できるタスクはX個だけです。ここで、X =コア数×コアあたりのハードウェアスレッド数です。残りは、現在実行中のタスクを他の方法で横取りすることによって、OSがそれらをスケジュールするのを待つ必要があります。

1つまたは複数のコアに加えて、CPUにはコアを外部の世界に接続する相互接続、および通常は大規模な「最終レベル」の共有キャッシュも含まれます。 CPUを動作させるのに必要な他の複数の重要な要素がありますが、それらの正確な位置は設計によって異なる場合があります。メモリと通信するためのメモリコントローラ、I/Oコントローラ(ディスプレイ、PCIe、USBなど)が必要です。過去にこれらの要素は補完的な「チップセット」でCPUの外側にありましたが、ほとんどの最近の設計はそれらをCPUに統合しました。

さらに、CPUには統合されたGPUがあり、設計者が性能、電力、および製造上の考慮事項のために密接に保ちたがっている他のほとんどすべてのものがあります。 CPU設計は、 system on chip (SoC)と呼ばれるものに主に向いています。

これは「古典的な」デザインで、最近のほとんどの汎用デバイス(クライアントPC、サーバー、そしてタブレットとスマートフォン)で使用されています。計算が基本的な「コアのような」単位で行われていない、通常はアカデミーで、より複雑な設計を見つけることができます。

175
Leeor
109
JohnTortugo

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

過去には1つのCPUがかなりの数のチップに分散されていましたが、 ムーアの法則 は進歩しました。90年代には同じチップにもっと多くのコアが収まるようになりました。それがマルチコアの概念です。

最近では、同じCPU(チップまたはダイ)GPU、Intel Xeonに何百ものコアを搭載することが可能です。 90年代に開発された他の技術は同時マルチスレッディングでした、基本的に彼らは同じシングルコアCPUに別のスレッドを持つことが可能であることを発見しました。

したがって、基本的にCPUは複数のコアを持つことができ、それぞれが同時に1つ以上のスレッドを実行することができます。将来的にはより多くのコアを持つことが予想されます。

27
Germán Alfaro

CPUは中央処理装置です。 2002年以来、私たちは単一のコアプロセッサしか持っていません、すなわち、私たちは一度に単一のタスクまたはプログラムを実行するだけです。

一度に複数のプログラムを実行するには、一度に複数のプロセスを実行するために複数のプロセッサを使用する必要があるため、別のマザーボードが必要になり、それは非常に高価です。

そこで、インテルはハイパースレッディングの概念を導入しました。つまり、単一のCPUを2つの仮想CPUに変換します。つまり、タスク用に2つのコアがあります。現在、CPUはシングルですが、デュアルCPUで複数のタスクを実行しているように見せかける(偽装されている)だけです。しかし、実際のマルチコアを持つことはそれより優れているので、人々はマルチコアプロセッサ、すなわち単一の箱の上に複数のプロセッサを作る、すなわち単一の大きなCPUの上に複数のCPUをつかむことを開発する。すなわちマルチコア.

8
Himanshu Gupta

90年代以前のような初期の頃...プロセッサはマルチタスクを効率的に実行することができませんでした... 1つのプロセッサで1つのタスクしか処理できませんでした。ウイルス対策、Microsoft Word、VLCなど。ソフトウェアはすべて同時に実行されています...実際にはそうではありません。プロセッサが一度に1つのプロセスを処理することができると言ったとき...私はそれを意味しました。それは実際には単一のタスクを処理していました…それからそのタスクを一時停止していました…他のタスクを実行して…短いタスクならばそれを完成させて再度それをキューに入れて…それから次のタスクしかし、私が述べたこの「一時停止」は非常に小さかったため(約1ns)、タスクが一時停止されたことがわかりませんでした。例えば。 vlcで音楽を聴きながら同時に実行しているアプリは他にもありますが、一度に1つのプログラムで実行しています...そのためvlcは実際にはnsの間に一時停止しているためです。の間に。

しかし、これは古いプロセッサについてでした...

今日のプロセッサー、すなわち3rd gen PCはマルチコアプロセッサーを持っています。これで、「コア」を第1世代または第2世代のプロセッサ自体と比較することができます。シングルチップ、つまりシングルプロセッサに組み込まれています。それで今我々はコアが何であるかを理解した、すなわちそれらはプロセッサになるために結合するミニプロセッサである。また、各コアは、OS用に設計されたとおりに、一度に1つのプロセスまたはマルチスレッドを処理できます。そしてそれらはシングルプロセッサについて私が上で述べたのと同じステップに従う。

例えば。 i7 6genプロセッサは8コアを持っています...すなわち1 i7に8つのミニプロセッサを持っています...つまりその速度は古いプロセッサの8倍です。そしてこれがマルチタスキングができる方法です。

単一のプロセッサに何百ものコアがあるかもしれません。 Intel i128.

私がこれをうまく説明してくれたらと思います。

2

Tortugaのベストアンサーが示すように、Intelの写真は役に立ちます。これがキャプションです。

プロセッサ :1つの半導体チップ、1つのソケットに装着されたCPU(中央演算処理装置)、1950年代から2010年頃。時間の経過とともに、より多くの機能がCPUチップに詰め込まれてきました。 1950年代にシングルチッププロセッサがリリースされる前は、1つのプロセッサが複数のチップに分散していた可能性があります。 「このコンピュータはi7プロセッサを搭載している」または「このコンピュータシステム」のように、一般的にプロセッサとはいえ、2010年半ばには、システムオンチップチップにより1プロセッサを1チップとみなすことがややスケッチされました。プロセッサは4つあります。」

コア :CPUの1ブロック。一度に1命令ずつ実行します。 (人々は1クロックサイクルにつき1つの命令を言うのを見るでしょうが、いくつかのCPUはいくつかの命令のために複数のクロックサイクルを使います)

0
Bennett Brown