2011-06-23 17 views
3

ソフトウェアスレッドにある程度の時間がかかり、各ソフトウェアスレッドがそのブロックに対して順番に実行されているが、同時に実行されていないことがわかっている単一のハードウェアスレッド上で)。ハイパースレッディングCPU +スケジューラのハードウェアスレッド(論理コア)

私の質問は、コアごとに2つ以上のハードウェアスレッドがある場合、各ハードウェアスレッドはそのコアで同時に実行されるのか、ハードウェアスレッドはソフトウェアスレッドのような実行時間をブロックしてラウンドロビンゲームをプレイするのですか?

ハードウェアスレッド=論理コア

+0

「ハードウェアスレッド」とは何ですか?ハイパースレッディング? –

+0

ハードウェアスレッド=論理コア –

答えて

3

あなただけの(論理)コアあたり1(ハードウェア)スレッドを持っています。

インテルは1つの物理コアで2つの論理スレッドを実行して水を迷惑にします。ハイパースレッディングは複雑ですが、ほとんど同時です。

これまでのところプログラマと同様に、一度に1つのスレッドしか実行していない論理コアしか存在しません。

+0

私の部分についての追加的な調査は、あなたが「ほぼ同時」と言っていることを確認します。 OSはHTの詳細を認識していませんが、論理コアで作業をスケジュールするにはHTTに認識されていなければなりません。複数のレジスタセットと独立した実行を使用するHTでは、コンプリートか、主に指定した通りです。 –

0

ハイパースレッディングのプロセッサについては、実行サイクルのほとんどの部分で余分な実行パイプラインがあります。限り、ネットのアプリが気にして、はい、時間をスライスし、ソフトウェアスレッドがロックしていないでしょう。操作がスレッドセーフであることを確認する必要があります。そうしないと、複数のスレッドからオブジェクトを同時に呼び出してオブジェクトを破損しないように、独自のロックを行う必要があります。これを検証するクイックテストは、ハイパースレッディングのあるコンピュータを使用して、プロセッサの処理量が多く、CPU使用量を調べるスレッドを生成することです。すべての仮想コアが100%で見れば、あなたは金色です。

+0

は、ハードウェアスレッドのスケジューリングやそれらのスレッドの並行性に関する質問には答えません。 –

関連する問題