web-dev-qa-db-ja.com

2コア4スレッドとは何ですか?

私は2コア4スレッドがCPUについて何を意味するのか知りたいですか?私は私が持っているこのCPUについて話しています

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

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

20
user734861

あなたのi5は2つのコアを持っています、それぞれのコアはIntelの ハイパースレッディング のために2つのスレッドを走らせることができます。 ここで より詳しく知りたいのであれば、マルチスレッドのいい説明ですが、本質的にはCPUは4つのプロセスを同時に実行し、プロセス間を高速で切り替えることができます。 。

14
user270595

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

SMTとは別に、マルチスレッドの他の形態があり、時間的マルチスレッドがその1つである。例えば、プロセッサがサイクルごとに異なるスレッド間で切り替え、したがっていくつかのプログラムの疑似並列実行を可能にすることができる、きめの細かい時間的マルチスレッド。同様に、プロセッサが現在のスレッド上のメインメモリアクセスなどの待ち時間の長いオペレーションにヒットしたときにプロセッサがスレッド間で切り替わることがある、粗粒度の時間的マルチスレッド化もあり得る。正確な切り替えポイントは、公平性やリアルタイムの期限など、実装や要件によって異なります。

SMTは、実際には同時に2つ以上のスレッドを1つのプロセッサ上で実行させるという点で、マルチスレッドのコンテキストスイッチの考え方から逸脱しています。実装は異なる可能性がありますが、主な目的は、1つのスレッドしか実行していない場合にアイドル状態にあるプロセッサ内の機能ユニットを活用することと、プロセッサの幅広い問題のスーパースカラ性を活用することです。時間的マルチスレッドはプロセッサリソースのタイムスライスとして、SMTはリソースの空間スライスとして考えることができます。

詳細な分析はTullsenの1995年の論文にあります。

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

3
Rev

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

0
tizoc

スレッド数を数えてコア数で割れば、プロセッサコアごとに同時に実行できるスレッド数がわかります。

以前の[初期のIntelモデルでは]ハイパースレッドはコアあたり2つのスレッドを同時に実行する1つのコアORコアあたり1つの命令セット(別名、スレッド)を実行するマルチコアに限られていました。しかし、より優れた計算能力とi5プロセッサのような後の開発により、私が好むのはマルチコアハイパースレッドプロセッサです。マルチコアハイパーコアプロセッサは、コアごとに複数の命令セット(別名、スレッド)を実行します。

あなたのケースでは、1つのコアが2つのスレッドを取得するので、あなたが数学をするとき、あなたは全部で4つの命令セット(スレッド)を持つことになります。

別の例:コアの数= 4、スレッドの数= 8 | 8/4 = 2なので、各コアは2つのスレッドを同時に処理します(どのプロセッサモデルがこれを実行するのかわからないが、ほぼ確実に存在します)。

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

ソース:PEARSON IT認定CompTIA A + Examp Cram Cert。マニュアル

0
khoreyrs