CPUで2コア4スレッドとはどういう意味ですか?


22

CPUについて2コア4スレッドとはどういう意味ですか?私が持っているこのCPUについて話している

http://ark.intel.com/products/47341/Intel-Core-i5-520M-Processor-3M-Cache-2_40-GHz

最初はi5には4つのコアがあると思っていましたが、間違っていると思います。私のスレッドの理解は、他のスレッドと同時に(同時に)実行できるコードの塊であるということです。それでは、その仕様書で4つのスレッドは何を意味するのでしょうか?プログラムスレッドとは異なりますか。そこにあるスレッドの数は、作成するプログラムスレッドとは異なります。コアが2つしかない場合、4つのスレッドがあるにもかかわらず、2つの並列プログラムしか実行できないのは正しいですか?


2
en.wikipedia.org/wiki/Hyper-threadingのバックグラウンド調査を行うと、よりわかりやすくなります。実際に使用しているプロセッサには、一度に4つの命令を実行する機能があります。単一のコアCPUでも複数のプログラムを実行できることを理解する必要があります。そのため、一度に2つの命令を実行することはできません。プログラム上で実際にどのように機能するかは明確ではないようです。
ラムハウンド14年

@Ramhoundあなたはおそらく4つの命令ストリームを意味しました。i5はスーパースカラーであるため、単一の命令ストリームからでも複数の命令を並行して実行できます。同時マルチスレッディングにより、スレッドレベルの並列処理を命令レベルの並列処理に変換でき、実行リソースの利用率が向上します。
ポールA.クレイトン14年

ステートメントを最小化しました。クロックサイクルあたりの命令数は、Pentium Dと4番目のCore i5の差からダイのサイズを引いたものであり、当然のことながら電力要件(再び簡略化)
Ramhound 14年


この答えは啓発を提供することができる:superuser.com/questions/1198459/...
ジェイミー・ハンラハン

回答:


15

i5には2つのコアがあり、Intelのハイパースレッディングにより各コアは2つのスレッドを実行でき、4つのスレッドを作成し、それを超えてプロセス間で高速に切り替えます。ここではあなたがより多くを知りたい場合は、「マルチスレッドの素敵なexplationだが、本質的に、あなたのCPUはsimultaniously 4つのプロセスを実行することができ、およびプロセス間の高速でスイッチ。


>「それを超えて、プロセス間を高速で切り替えます。」白黒の切り替えプロセスを高速化するものは何ですか?
Talespin_Kit

@Talespin_Kit @ Slowkiは、CPUを使用して複数のプロセスを処理する方法について言及していたと思うので、4つのことに限定されません。それは多くの4つのスレッドです。
マットセフトン

3

コンピューターアーキテクチャに関する専門知識のレベルについてはわかりませんが、ここで言及したCore i5は、同時マルチスレッド(SMT)と呼ばれるマルチスレッドの形式を実装しています。SMTの実装に関するIntelの商標はハイパースレッディングです。

SMT以外にも、マルチスレッドの別の形式があり、一時的なマルチスレッドが1つです。たとえば、プロセッサがサイクルごとに異なるスレッドを切り替え、複数のプログラムの疑似並列実行を可能にする、きめの細かい一時的なマルチスレッド。同様に、プロセッサが現在のスレッドでメインメモリアクセスなどの高レイテンシ操作にヒットしたときにスレッドを切り替えることができる、粗粒度の一時的なマルチスレッドが存在する可能性があります。正確な切り替えポイントは、実装や、公平性やリアルタイムの期限などの要件に基づいて異なる場合があります。

SMTは、実際には同時に1つのプロセッサ上で実行される2つ以上のスレッドを持つという点で、マルチスレッドのコンテキストスイッチの哲学から逸脱しています。実装はさまざまですが、主な目的は、1つのスレッドのみが実行されている場合にアイドル状態になっているプロセッサの機能ユニットを活用すること、およびプロセッサの幅広い問題のスーパースカラーの性質を活用することです。一時的なマルチスレッド化は、プロセッサリソースのタイムスライシングとして、SMTはリソースの空間スライシングとして想像できます。

詳細な分析は、Tullsenの1995年の論文に記載されています。

http://dl.acm.org/citation.cfm?id=224449


0

「コアが2つだけの場合、スレッドが4つあるにも関わらず、2つの並列プログラムしか実行できないのは正しいですか?」2つのコアがある場合、計算は2 =並列処理で除算されますが、システムにハイパースレッディングがある場合、同じコアで2つの計算を行うことができます。なぜ、同じコアがOSに2つのコア...論理コアとして表示されます。


0

スレッドの数を取得し、それをコアの数で割ると、プロセッサーコアごとに同時に実行できるスレッドの数がわかります。

以前の(以前のIntelモデルでは)ハイパースレッディングは、2スレッドを同時に実行する1コア、またはコアごとに1命令セット(別名、スレッド)を実行する複数のコアに制限されていました。しかし、計算能力が向上し、i5プロセッサーなどの今後の開発により、コアごとに複数の命令セット(別名、スレッド)を実行する複数のコアを備えたマルチコアハイパースレッドプロセッサーと呼ばれるものを手に入れることができます。

あなたの場合、1つのコアが2つのスレッドを取得するため、計算を行うと、合計で4つの命令セット(スレッド)が得られます。

別の例:#of Cores = 4、#of threads = 8 | 8/4 = 2なので、各コアは2つのスレッドを同時に処理します(どのプロセッサーモデルがこれを行うかはわかりませんが、1つ存在することはほぼ確実です)。

これが私の友人に役立つことを願っています!ハッピーコンピューティング!

出典:PEARSON IT Certification CompTIA A + Examp Cram Cert。マニュアル

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.