コア数が多いほど、またはクロック速度が高いほど、コンピューターのパフォーマンスにとって有益ですか?[閉まっている]


16

シリコンコストの削減と消費者ニーズの高まりに伴い、メーカーはクロックスピードとコア数の2つのうちいずれかを推進しているようです。物事が進行している方法では、プロセッサのクロック速度はもはや上昇しているようには見えませんが、プロセッサコアの数は増加しています。

数年前のことを覚えていますが、素晴らしく高速なシングルコアPentium 4プロセッサがありました。今日に至っては、シングルコアプロセッサを購入することさえできないと思います(携帯電話でもマルチコアプロセッサが増加していることは言うまでもありません)。状況は、数年で数百のコアを持つコンピューターを見つけるかもしれません(多くのオペレーティングシステムが既にサポートしていることは知っています)。

クロック速度を上げるか、コア数を増やすことは、システムの全体的なパフォーマンスにとってより有益ですか?すべてが一緒に実行されている数百のコアに入るか、現在の10倍のクロック速度になると仮定します(物理的に可能であるかどうかに関係なく)。

一般的なプロセス(暗号化、ファイル圧縮、画像/動画の編集など)の例として、どのようなものが最も効果的ですか?可能性のあるプロセスはありますが、現在は(技術的な理由により)並列性を高めても高速化されていませんか?


仮想プロセッサのコア設計(ワードサイズ、アドレスビット幅、メモリバスサイズ、キャッシュなど)がまったく同じであると想定しているため、ここでの変数はクロック速度とコアカウントのみです。繰り返しますが、私は1つ、2つ、または4つのコアについても話していません。数十から数百を想像してください。


9
それはすべてあなたがそのコンピューターで何をしたいかに依存するでしょう。複数のコアはあるものには適していますが、他のコアには高いクロック速度が適しています。
ChrisF

@ChrisF私は個人的に答えを知っていますが、2つの理由でこれを求めています。1つ目は、この情報をWebサイトに掲載することです(デュアルコアまたはクアッドコアプロセッサに関連して質問されただけです)、2つ目は、「今後」何が起こるのかを人々に教え、方程式の両側の用途を示します。
ブレークスルー


3
これは、パイントを持ちながら話し合うのに適した質問ですが、スタック交換の質問にはあまり適していません
EBGreen

1
あまりにも多くの変数、whatsおよび他のパラメーター+進行中の技術の変更があり、特定の期間以上に関連する簡潔な回答を作成します。これはフォーラムやブログにとって興味深いトピックですが、「答え」として特定されるものではありません。私はこの理由で閉鎖することに投票したので、燃え上がり始めましょう!!!
リンカー3000

回答:


12

考慮すべき2つの基本的な状況があります。

  1. プロセッサは、単一プログラムの計算のみを行うコンピューターで使用されます

  2. プロセッサは、同時に実行される複数のプログラムに使用されます

最初の状況は、ユーザーが計算を迅速かつ効率的に行えるようにしたいため、プロセッサの「速度」がより重要な場合です。これらの状況は通常、計算集中型の処理、つまり暗号化/復号化の素数の計算に使用されます

2つ目は、各プログラムを別々のコアに割り当てることができ、各プログラムが互いに「ボトルネック」から解放されるため、複数のコアが便利な場合です。今日の世界では、平均的なユーザーがコンピューターを一度に複数のプログラムに使用するため、マルチコア処理が望ましいものになります。

ただし、マルチコア!=はすべての場合において高速または高性能です。ほとんどのプログラムはシングルコア処理用に記述されているため*、クロック速度はまだ重要です。両方の組み合わせを考慮する必要があります(他の多くの要因も同様に)


* いくつかのプログラムがあり、複数のコアを同時に使用できるプログラムがすぐに作成されることを願っています。ソフトウェアの未来は、この「並列プログラミング」にあります。

ソフトウェア開発者は、シングルスレッドアプリケーションを高速化するために、クロック速度の増加だけに頼ることはできなくなりました。代わりに、競争上の優位性を得るために、開発者は、スレッド環境で実行するアプリケーションを適切に設計する方法を学ぶ必要があります。マルチコアアーキテクチャには、2つ以上のプロセッサ「実行コア」または計算エンジンを含む単一のプロセッサパッケージがあり、適切なソフトウェアを使用して、複数のソフトウェアスレッドを完全に並列実行します。

- インテル


私がこれまでに見てきたベストアンサー、+ 1。ある種の並列アルゴリズムを使用して暗号化/復号化を高速化できるかどうかを知っていますか(またはそのようなものが存在しますか)。
ブレークスルー

2

個人的には、コアカウントが進むべき道だと思います。ソフトウェア開発はネットワークシステムに移行しているため、ローカルリソースだけが利用できるリソースではなくなりました。あなたが今どのように働いているかで最も重要な要因は、あなたが参加しているネットワークです。

モバイルブロードバンド、常時接続、リモートアクセスなどへの移行に注意してください。それにより、常時接続するにはバッテリーの寿命が必要です。どのCPUファクターがバッテリー寿命に最適かは議論の余地がありますが(仕事の価値と時間の古典的な最適化方程式があります)、個人的には、1つを選択する必要がある場合は、より多くのコアを選択すると思います。

Intelは、オンデマンドでコアに電力を供給できるようになりました。スリープするコアがないほど最適ではありませんが、より多くのコアを使用するオプションがあると、同じハードウェアプラットフォームでより多くのアプリケーションを実行できる柔軟性が得られます。


2

ChrisFコメントで述べているように、それが依存しています。しかし、そのような答えは実際には答えではないので、一方が他方よりも有益であるいくつかのシナリオを作成しようとします。

あなたが言及するほとんどの一般的なプロセスでは、コアの数はそれほど重要ではありません。なぜなら、ほとんどの作業は単一のスレッドで(一度に)しか実行できないためです。このようなプロセスの場合、単一の非常に強力なコアは、いくつかの低速なコアよりもパフォーマンスが向上します。暗号化とファイル圧縮の両方がこれの例外となる可能性がありますが、使用されるアルゴリズムと、それらを並列に実行できるかどうかに大きく依存します。

ただし、今日コンピューターで実行される最も一般的なタスクの1つであるブラウジングを忘れています。いくつかの一般的なブラウザーは、各タブを個別のプロセスで開きます(私が使用しているのはChromeだけです)。つまり、クアッドコアシステムで4つのタブを開いている場合、各ブラウジングウィンドウは(理論上)「それ自体」へのコアを持ち(OSスレッドやものを無視します)、他のブラウザのタブ/ウィンドウが開いていないかのように高速になります。一度に多くのタブを開いて閲覧する人にとって、これは非常に高速なCPUコアを構築することなく、深刻なパフォーマンスの改善になります。

あなたがする場合は、より遅いコアを搭載したマルチコアシステムは、高速コアとシングルコアシステムよりも速くなりますかどうかを知るための鍵は、知っていると同時に異なる多くのことを、物事をいくつかが、重いです。これはユーザーごとに大きく異なるため、質問への回答も異なります。


他の答えもいくつかの重要なポイントになります。

  • プロセッサのパフォーマンスは、クロック速度やコアの数だけではありません。クロック速度とコア数が向上するにつれて、プロセッサの他の部分がボトルネックになります。
  • ほとんどのユーザーにとって、プロセッサのパフォーマンスは、そもそもボトルネックではありません。Googleドキュメントなどのホストアプリケーションで時間を過ごす場合、ネットワークカードの速度は、プロセッサコアの速度よりも重要になります。高解像度の映画素材を視聴または編集している場合、ハードディスクのパフォーマンスがより重要になります。等...

考えを入れて実際に説明するために+1を追加しましたが、1つのことを指摘したいと思います。はい、一部のブラウザーは各タブを個別のプロセスに配置しますが、それはプロセスがクラッシュした場合に行われます。ほとんどのブラウザは少なくとも各タブを個別のスレッドで実行し、オペレーティングシステムは異なるコアで(同じプロセスから)複数のスレッドを実行する機能を備えています。
ブレークスルー

IE 9はマルチプロセスメソッドを実行します。ただし、一連のプロセスを使用し、それらのプロセス間ですべてのタブを共有するだけだと考えています。その結果、Chromeで処理できるプロセスよりもはるかに少ないプロセスになりますが、それでも1つのレドモンド色のヒープにすべてが落ちた場合、いくつかのタブしか失われません。
music2myear

ああ、それはソフトウェアにも依存します。OSは一般にトラフィック管理を処理し、使用可能なコアに待機スレッドを送信します(私のシリコンの内部で行われているmatch.comの基本図)が、マルチスレッド化されたプログラム(ほとんどのAdobe Creative Suite製品およびその他のよくサポートされている、最新のマルチメディア開発ツール)は、マルチコアシステムの機能をはるかに活用します。
music2myear

2

まず、シングルコアの速度はそれほど低下していません。Intelの現在のSandy BridgeのラインナップがシングルヘルツのPentium 4をメガヘルツで上回っていない唯一の理由は、Intelが競争に欠けているため、彼らはそれを強く押す必要がないからです。

第二に、シングルコアであっても、クロック速度がすべてではありません。アプリケーションのパフォーマンスを見ているときに、もう一度ペンティアム4に対して、現在のインテルのラインナップは約50%高速であるクロックサイクルあたり。Sandy BridgeがPentium 4(Prescottが最後のインカネーションである)よりもクロックサイクルごとに高速である理由は多岐にわたりますが、プリフェッチインテリジェントメモリコントローラー、CPUと同じダイ上のメモリコントローラー、およびより高い命令レベル並列性(ILP)を備えていますそれに貢献します。

命令レベルの並列処理とは、基本的にプロセッサが命令とその依存関係を調べ、2つの命令が相互に依存していない場合、CPUは両方のデータのロードを同時に開始し、いずれかのデータの命令を並べ替えることができることを意味しますそれらは他の前に到着します。

第三に、いくつかのアプリケーションは実際に複数のコアから非常にうまく恩恵を受けます。たとえば、Photoshopはほとんどの場合、動作周波数よりも多くのコアを好みます。すなわち。遅いクアッドコアでさえ、ほとんどすべてのデュアルコアチップに勝っており、デュアルコアはシングルコアチップに勝っています。トライコアは混合バッグであり、デュアルコアに勝つことがよくありますが、常にではありません。

一般に、多くの異なるデータセットに対して同じ種類の操作を行うアプリケーションは、ほとんど並列処理の恩恵を受けます。たとえば、ビデオ圧縮または写真編集は、多くの場合、非常に簡単に並列化できます。一方、コンピューターゲームは並列化が難しいことが判明しています。もちろん、それらのグラフィックは非常によく並列化されますが、その部分はCPUではなくGPUで実行されます。残りの物理学、ゲーム世界の簿記、AIはそれほど簡単に並列化されません。


1

実際、今日最も重要な要素はプロセッサのクロック速度ではありません。この「比較の要素」が廃止されて以来、多くの新機能がリリースされています。

今日では、プロセッサのパフォーマンスを推測するために多くの要因を検討する必要があります。次のようなもの:

  • コアの数
  • 並列操作スレッドの数
  • プロセッサフ​​ァミリ(デュアルコア、Pentium、Core i / Calpella、Sandy Bridgeなど)
  • プロセッサ世代(2番目、6番目など)および
  • プロセッサのクロック速度。

実際、プロセッサの速度を比較したいときは、notebookcheckベンチマークテーブルのパスマークを調べます。私の意見では、ベンチマークは、プロセッサの速度とパフォーマンスを測定および比較するための最良の要因です。


はい、しかし、物事を単純化するために、他のすべてが等しいと仮定しましょう(コアあたりのキャッシュの同じ量、同じアドレスバス幅、同じワードサイズなど)。コア自体はまったく同じで、a)いくつ、またはb)どれだけ速いかです。
ブレークスルー

ええと、プロセッサフ​​ァミリと世代は、本質的にプロセッサの速度とは何の関係もありません。結局のところ、Atom procはP4やCoreおよびCore2のプロセスよりもはるかに新しいものですが、それらがより高速であると主張する人はいません。CPU速度により直接的な効果を有する他のもの等のオンダイキャッシュ、レジスタの数、チップのアーキテクチャ、導電性経路(NM manucturingプロセス)のサイズ、浮動小数点演算機能である
music2myear

@ music2myear-家族について話している世代に言及するとき(superuser.com/questions/314757/…)。実際のAtom D525は、Core 2(多くのよりも優れているcpubenchmark.net/cpu_lookup.php?cpu=Intel+Atom+D525+%40+1.80GHz
ディオゴ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.