
重複の可能性あり:
デュアルコアプロセッサの各コアの速度はどれくらいですか?
私は 2 つのシステムの間で議論しています (簡単にするため):
(1)2.9GHzデュアルコアプロセッサ
(2)2.3GHzクアッドコアプロセッサ
さて、このことを考える際に、私が答えたい具体的な質問がいくつかあります。
まず、「数字」(周波数)は実際にはどのように計算され、どのような意味を持つのでしょうか。2.9GHzデュアルコアの場合、各コアが約2.9GHzでクロックされることを意味しますか、それとも各コアが2.9/2 = 1.45GHzでクロックされることを意味しますか?同様に、クアッドコアは「正味」2.3GHzの速度を提供しますか、それとも各コアが文字通り2.3GHzで動くんですか?
オンラインで読んだことから私が直感したのは、各コアは実際には指定された速度で動作しているということです (コードが並列化において完全に線形でない限り、クアッド コア 3 GHz システムから 12 GHz を得ることはできないことはわかっています)。
もう 1 つの質問は、コードが完全に並列で実行されていると仮定した場合、OS (およびその他のバックグラウンド タスク) の干渉が少なくなるため、コアを追加することでコードの実行速度が速くなるのはどの時点でしょうか。
例えば、2.6GHzデュアルコアか2.5GHzクアッドコアのどちらかを選べる場合、シングルスレッド化されたプログラムの場合、単一スレッドが他のプログラム (OS を含む) によって中断されることが少なくなるため、2.5 クアッド コアの方が高速になると思われます。
答え1
2.9 GHz デュアル コアの場合、各コアのクロック周波数が約 2.9 GHz であることを意味しますか、それとも各コアのクロック周波数が 2.9/2 = 1.45 GHz であることを意味しますか? 同様に、クアッド コアは「正味」 2.3 GHz の速度を実現しますか、それとも各コアは文字通り 2.3 GHz で動作しますか?
あなたは決して、決して、これまでこのように速度を加算します。2 台の車がそれぞれ時速 50 マイルで走っているからといって、時速 100 マイルで走るものはありません。CPU のコア速度が 2.9 GHz であれば、2.9 GHz でクロックできる、つまりクロックが毎秒 29 億回サイクルできることを意味します。
たとえば、2.6 GHz デュアル コアまたは 2.5 GHz クアッド コアのどちらかを選択できる場合、シングル スレッド プログラムの場合でも、他のプログラム (OS を含む) によるシングル スレッドの中断が少ないため、2.5 クアッド コアの方が高速になると考えられます。
それはナンセンスな質問です。異なる CPU をクロック速度に基づいて比較することはできません。これは、「10 ガロンの燃料タンクを備えた車と 12 ガロンの燃料タンクを備えた車があり、ガソリン 1 タンクでどちらが遠くまで走れるか」と言っているようなものです。まあ、それは車の重量やエンジンの大きさなどによって異なります。
クロック速度に基づいて CPU を比較しないでください。ただし、それ以外は同一である必要があります。また、デュアル コアとクアッド コアは明らかに大きく異なります。
2.6 GHz デュアル コアと 2.5 GHz クアッド コアという点だけが異なる 2 つの CPU を想像してください。システムが他のプログラムによって大きな負荷を受けていないと仮定すると、シングル スレッド プログラムを実行する場合、おそらく大きな違いはありません。OS のオーバーヘッドによってコアが最大限に利用されることはほとんどなく、いずれの場合でも、ディスク I/O や割り込みなどの OS タスクに使用できるコアが少なくとも 1 つあります。たとえば、制限要因がメモリ帯域幅である場合、コアの数を増やしても役に立ちません。
とはいえ、他の条件が同じであれば、コア数が多いほうが少ないよりもほぼ常に優れています。デスクトップ マシンの場合、デュアル コアに意味があるとは思えません。また、将来を見据えると、より多くのコアを活用する方法を知るソフトウェアがますます増えるでしょう。