ハイパースレッディングを持つ1つのCPUコアで2つのプロセスを同時に実行できますか?私はインターネットから学びます。しかし、私は明確なストレートな答えを見ません。1つのCPUコアで2つのプロセスを同時に実行できますか?
編集: ありがとうございました!私の質問をここに掲載するのは、パラレルコンピューティングについて論議することではありません。ここで議論するには大きすぎるでしょう。マルチスレッドアプリケーションは、マルチプロセスアプリケーションよりもハイパースレッディングの方が恩恵を受けられるかどうかを知りたいだけです。さらに読んだ後、私は学習ノートとして次のようにしています。
1)ハイパースレッディングテクノロジ対応のCPUコアには、CPUステートと割り込みロジックの2つのセットがあります。一方、実行ユニットとキャッシュのセットは1つだけです。 (私はまだパイプラインが何かを勉強していません)
2)マルチスレッドは、実行スレッドによってはレイテンシが発生した場合にのみハイパースレッディングから利益を得ます。私はこの点が、ソフトウェアプログラマがマルチスレッドを使用する理由と理由についての正確な理由に対応していると思います。マルチスレッドアプリケーションが最適化されている場合Hypterスレッディングのメリットはありません。
3)CPU状態がプロセス状態にマップされている場合、Marcは、複数のプロセスアプリケーションがハイパースレッディング技術により多くの利益を得ることができると確信しています。
4)CPUベンダーが「スレッド」と言うと、「スレッド」がJavaプログラマーとして知られているスレッドとは異なるように見えますか?
ありがとう: –
デコード/前処理/実行/ファイナライズのさまざまな段階で、特定のコアのパイプライン内に共存する2つのスレッドが存在する可能性があります。そのすべてにおいて、実際の「実行」は「実行」の定義方法に依存します。特定のパイプラインステージで同時に複数のスレッドの命令が存在することはありません。したがって、並列実行はまだありません。単に並行して出現するだけである。明確化のために –
ありがとうございます。私たちの議論は並列実行とマルチタスクとマルチスレッドプログラミングに移行しているようです。これまでの私の理解によれば、マルチスレッドアプリケーションはハイパースレッディングCPUの恩恵を受ける機会があると言えるでしょう。マルチプロセスアプリケーションはハイパースレッディングの恩恵を受けることはできません。あなたは私に同意しますか? –