「コアの追加」が「CPUの高速化」と同じ物理的制限に直面しないのはなぜですか?


110

2014年に、同時実行機能を宣伝する多くのプログラミング言語を耳にします。並行性は、パフォーマンスを向上させるために重要であると言われています。

この声明の中で、多くの人が2005年の「無料昼食は終わった:ソフトウェアの並行性への根本的な転換」という記事を指摘しています。基本的な議論は、プロセッサのクロック速度を上げるのが難しくなっているということですが、チップ上にさらに多くのコアを置くことができ、パフォーマンスを向上させるには、複数のコアを活用するためにソフトウェアを作成する必要があります。

いくつかの重要な引用符:

500MHzのCPUが1GHzのCPUに取って代わり、2GHzのCPUに取って代わるのを見ることに慣れています。今日、私たちは主流のコンピューターで3GHzの範囲にいます。

重要な質問は、いつ終了するのかということです。結局のところ、ムーアの法則は指数関数的成長を予測しており、明らかに物理的な限界に達するまで指数関数的成長が永遠に続くことはありません。光が速くならない。成長は最終的には減速し、さらには終了する必要があります。

... 1つだけでなく、いくつかの物理的な問題、特に熱(多すぎて消散するのが難しい)、電力消費(高すぎる)、および電流リークの問題により、より高いクロック速度を活用することがますます難しくなっています。

...チップ企業が同じ新しいマルチコアの方向性を積極的に追求しているため、Intelとほとんどのプロセッサベンダーの将来はどこかにあります。

...マルチコアとは、1つのチップで2つ以上の実際のCPUを実行することです。

この記事の予測は遅れているように見えますが、その理由はわかりません。ハードウェアがどのように機能するかについては、非常に曖昧なアイデアしかありません。

私の過度に単純化された見解は、「同じスペースにより多くの処理能力を詰め込むのが難しくなっている」(熱、電力消費などの問題のため)です。結論は「したがって、より大きなコンピューターを使用するか、複数のコンピューターでプログラムを実行する必要がある」と思われます。(そして実際、分散クラウドコンピューティングは私たちが聞いていることです。)

しかし、ソリューションの一部はマルチコアアーキテクチャのようです。コンピューターのサイズが大きくならない限り(これはそうではありません)、これは単に「同じスペースにより多くの処理能力を詰め込む」という別の方法のようです。

「コアの追加」が「CPUの高速化」と同じ物理的制限に直面しないのはなぜですか?

できるだけ簡単な言葉で説明してください。:)



4
en.wikipedia.org/wiki/Moore%27s_lawを読む価値があります-2つの異なることについて話しているからです。ムーアの法則はクロック速度に関するものではなく、トランジスタ数
ジャーニーマンオタク

9
30年前のふりをしてみましょう。CPUは4.77MHzで動作しました。4GHzのCPUを入手することは不可能であったにもかかわらず、なぜ4MHzのCPUを搭載した1000台のコンピューターを同じ部屋に置くことができたのですか?
user20574 14

3
@NathanLongしかし、より高速なコンピューターを取得するよりも(より多くのコンピューター用に)より多くのスペースを取得する方がはるかに簡単です。
user20574 14

5
類推:車のエンジンは非常に多くのrpmにしかできませんが、2つを簡単にボルトで固定できます。
OJFord 14

回答:


143

概要

  • 経済。次の理由により、クロック速度を上げるよりも多くのコアを持つCPUを設計する方が安価で簡単です。

  • 電力使用量の大幅な増加。CPUの消費電力は、クロック速度を上げると急激に増加します。クロック速度を25%上げるために必要な熱的空間で、低速で動作するコアの数を2倍にすることができます。50%の4倍。

  • シーケンシャル処理速度を向上させる方法は他にもあり、CPUメーカーはそれらをうまく利用しています。


姉妹SEサイトの1つで、この質問の優れた回答を大いに活用します。だから彼らに賛成票を投じてください!


クロック速度の制限

クロック速度には、いくつかの既知の物理的制限があります。

  • 伝送時間

    電気信号が回路を通過するのにかかる時間は、光の速度によって制限されます。これは厳しい制限であり、回避策はありません1。ギガヘルツ時計では、この限界に近づいています。

    しかし、まだそこにはいません。1 GHzは、クロックティックごとに1ナノ秒を意味します。その時、光は30cm進むことができます。10 GHzでは、光は3 cm移動できます。単一のCPUコアの幅は約5mmであるため、10 GHzを超える場所でこれらの問題が発生します。2

  • スイッチング遅延

    信号が端から端まで移動するのにかかる時間を単に考慮するだけでは十分ではありません。また、CPU内の論理ゲートが1つの状態から別の状態に切り替わるのにかかる時間を考慮する必要があります。クロック速度を上げると、これが問題になる可能性があります。

    残念ながら、私はその詳細についてはわかりませんし、数字を提供することもできません。

    どうやら、より多くの電力を注入することでスイッチングを高速化できますが、これは消費電力と放熱の両方の問題につながります。また、より多くの電力を使用するには、損傷することなく処理できるより大きな導管が必要です。

  • 熱放散/消費電力

    これは大きなものです。fuzzyhair2の答えから引用:

    最近のプロセッサーは、CMOSテクノロジーを使用して製造されています。クロックサイクルがあるたびに、電力が消費されます。したがって、プロセッサ速度が速いほど、より多くの熱放散を意味します。

    このAnandTechフォーラムスレッドにはいくつかの素敵な測定値があり、消費電力(発熱と連動)の式を導き出しました:

    式
    功績Idontcare

    これを次のグラフで視覚化できます。

    グラフ
    功績Idontcare

    ご覧のとおり、クロック速度が特定のポイントを超えると、消費電力(および発生する熱)が非常に急速に増加します。このため、クロック速度を際限なく高めることは実用的ではありません。

    電力使用量が急激に増加する理由は、おそらくスイッチング遅延に関係しています-単にクロックレートに比例して電力を増加させるだけでは不十分です。より高いクロックで安定性を維持するには、電圧も上げる必要があります。これは完全に正しいとは限りません。コメントの訂正を指摘するか、この回答を編集してください。


より多くのコア?

それではなぜコアが増えるのでしょうか?まあ、私はそれに明確に答えることができません。IntelとAMDの人々に尋ねる必要があります。しかし、最新のCPUでは、ある時点でクロック速度を上げることは実用的ではなくなることがわかります。

はい、マルチコアは必要な電力と熱放散も増加させます。ただし、送信時間とスイッチング遅延の問題をきちんと回避できます。そして、グラフからわかるように、25%のクロック速度の増加と同じ熱オーバーヘッドで、最新のCPUのコア数を簡単に2倍にできます。

一部の人々はそれをやった-現在のオーバークロックの世界記録はわずか9 GHzです。ただし、消費電力を許容範囲内に収めながらこれを行うことは、エンジニアリング上の大きな課題です。設計者は、ある時点で、より多くのコアを追加してより多くの作業を並行して実行すると、ほとんどの場合、パフォーマンスをより効果的に向上させる判断しました。

それが経済学の出番です-マルチコアルートに行く方が安価(設計時間が短く、製造が複雑ではない)でした。そして、それは市場に出すのは簡単です-誰が真新しいオクタコアチップを愛していないのですか?(もちろん、ソフトウェアがそれを利用しない場合、マルチコアはほとんど役に立たないことを知っています...)

そこマルチコアの欠点は:あなたは、余分なコアを配置する複数の物理的なスペースが必要です。ただし、CPUプロセスのサイズは常に大幅に縮小するため、以前のデザインのコピーを2つ置くのに十分なスペースがあります。本当のトレードオフは、より大きく、より複雑な、シングルコアを作成できないことです。繰り返しますが、設計の観点からは、コアの複雑さを増すことは悪いことです。複雑さが増すと、ミス/バグと製造エラーが増えます。私たちは、スペースを取りすぎないほど単純な効率的なコアを備えた幸せな媒体を見つけたようです。

現在のプロセスサイズで1つのダイに収まるコアの数がすでに限界に達しています。物事をすぐに縮小できる限界に達するかもしれません。それでは、次は何ですか?もっと必要ですか?残念ながら、答えるのは難しいです。ここの誰もが千里眼?


パフォーマンスを改善する他の方法

したがって、クロック速度を上げることはできません。さらに多くのコアには、追加の欠点があります。つまり、コアで実行されているソフトウェアがコアを使用できる場合にのみ役立つということです。

それで、他に何ができるでしょうか?同じクロック速度で、最新のCPUは古いCPUよりもはるかに高速ですか?

クロック速度は、実際にはCPUの内部動作の非常に大まかな近似値にすぎません。CPUのすべてのコンポーネントがその速度で動作するわけではありません-2ティックごとに1回動作するものなどがあります。

さらに重要なのは、単位時間あたりに実行できる命令の数です。これは、単一のCPUコアがどれだけ達成できるかのはるかに優れた尺度です。いくつかの指示; 1クロックサイクルかかるものもあれば、3クロックサイクルかかるものもあります。たとえば、除算は加算よりもかなり遅くなります。

したがって、1秒間に実行できる命令の数を増やすことで、CPUのパフォーマンスを向上させることができます。どうやって?命令をより効率的にすることができます-除算に2サイクルしかかかりません。次に、命令パイプライン化があります。各命令を複数の段階に分割することで、「並列」に命令を実行できますが、各命令には、前後の命令ごとに明確に定義されたシーケンシャルな順序があるため、マルチコアのようなソフトウェアサポートは必要ありません。します。

別の方法があります:より専門的な指示。一度に大量のデータを処理するための指示を提供するSSEのようなものを見てきました。同様の目標で常に導入されている新しい命令セットがあります。繰り返しますが、これらにはソフトウェアのサポートが必要であり、ハードウェアの複雑さが増しますが、パフォーマンスが大幅に向上します。最近、ハードウェアアクセラレーションによるAES暗号化と復号化を提供するAES-NIがありました。これは、ソフトウェアに実装された一連の演算よりもはるかに高速です。


1とにかく、理論量子物理学に深く入り込まないわけではありません。

2電界伝播は真空中の光の速度ほど速くないため、実際にはそれよりも低い場合があります。また、それは単に直線距離のためです-直線よりもかなり長いパスが少なくとも1つある可能性があります。


22
また、多くのアプリケーションでは、ボトルネックは計算時間ではなく、RAMからデータを取得するためのストール時間(または、ディスクからデータを禁止すること)です。そのため、別の大きな高速化は、より大きくて高速なプロセッサキャッシュによるものです。
マッテオイタリア14

2
@MatteoItaliaうん。また、分岐予測の改善もありますが、おそらく私には分からないでしょう。プロセッサの外では、我々はまた、より高速バス、高速なメモリ、高速なディスクおよび関連プロトコル、など。持っている
ボブ・

2
あなたは、光の速度の「ハードリミット」に関連する問題が「20 GHzを過ぎたところ」で起こると述べました。あなたの計算は正しくありません。電気信号は、ワイヤの形状に応じて、光の速度よりも遅い速度で移動します。
ジュリオ・ムスカレロ14

5
この関係(。次、キュービック、等)...のために完全にもっと正しい単語をありますと、「指数」は使用しないでください
オリバーCharlesworth

7
@OliCharlesworth脚注を読んでください。これがまさに、脚注がそこにある理由であり、私がどこでもそれを参照している理由exponentialです。これは単語の完全に有効な使用法であり、数学的な詳細が行き詰まってしまうのはこの答えのポイントに正接するでしょう。本当にそれを「修正」しようとするなら、気軽に編集を提案してください。意味を大きく変えない限り、受け入れられるかどうかは私次第ではありません。
ボブ14

14

物理学は物理学です。ずっと小さなスペースにもっと多くのトランジスタを詰め続けることはできません。ある時点で非常に小さくなり、奇妙な量子がらくたに対処します。ある時点で、1年で2倍の数のトランジスタを使用できなくなります(これがムーアの法則です)。

生のクロック速度は何の意味もありません。私の古いPentium Mは、現代のデスクトップCPUの約半分のクロック速度でした(しかも多くの点で高速でした)。また、現代のシステムは10年前のシステムの速度にほとんど近づいていません(明らかに高速です)。基本的に「ちょうど」クロック速度を上げても、多くの場合、実際のパフォーマンスは向上しません。いくつかのシングルスレッド操作に役立つ場合がありますが、他のすべての点で効率を高めるために設計予算を費やすほうがよいでしょう。

複数のコアを使用すると、2 つ以上のことを一度に行うことができるため、あるものが次の処理を完了するまで待つ必要はありません。短期的には、2つの既存のコアを同じパッケージにポップするだけで(たとえば、Pentium Dと、移行設計であるMCMを使用)、2倍の速度のシステムを使用できます。最新の実装のほとんどは、もちろんメモリコントローラーのようなものを共有しています。

さまざまな方法でよりスマートに構築することもできます。ARMはBig-Littleを実行します。4つの「弱い」低電力コアが4つのより強力なコアと連携して動作するため、両方の長所を活用できます。Intelは、(電力効率を向上させるために)スロットルを下げるか、(シングルスレッドのパフォーマンスを向上させるために)特定のコアをオーバークロックします。AMDがモジュールで何かをしているのを覚えています。

また、メモリコントローラー(低レイテンシー)やIO関連機能(最新のCPUにはノースブリッジがありません)やビデオ(ラップトップやAIWデザインではより重要)などを移動することもできます。これらのことを行う方が、「ただ」クロック速度を上げ続けるよりも理にかなっています。

GPUには数百のコアがありますが、ある時点で「より多くの」コアが機能しない場合があります。

このようなマルチコアにより、コンピューターはこれらすべての方法でよりスマートに動作できます。


1
GPUコアは、より汎用的なCPUコアとは対照的に、非常に特定の目的のために設計されていることに注意してください。また、ビデオカードボードはCPUのボードよりもかなり大きいことに注意してください(コアがボード上のすべての部屋を使用していなくても、熱を放散する余地がまだあることを意味します)。
user2366842 14

3
本当ですが、それはコアを極端にスケールアップする例です。私はおそらく午前中にこの答えを再訪よ
ジャーニーマンオタクは

「2つの既存のコアを同じパッケージに簡単にポップできます」。しかし、追加のコア用により多くのスペースを使用せずにどのように達成するのでしょうか?魔法?ユニコーン?子犬?(あなたのアバターによって、私は後者を疑います)
そのブラジル人ガイ14

ペンティアムDsがいることだったen.wikipedia.org/wiki/Pentium_Dは基本的に
ジャーニーマンオタクは

6
wierd quantum crapそれだけで+1!
デイブ14

9

簡単な答え

質問に対する最も簡単な答え

「コアの追加」が「CPUの高速化」と同じ物理的制限に直面しないのはなぜですか?

実際にあなたの質問の別の部分にあります:

結論は「したがって、より大きなコンピューターを使用するか、複数のコンピューターでプログラムを実行する必要がある」と思われます。

本質的に、複数のコアは、同じデバイス上に複数の「コンピューター」を持つようなものです。

複雑な答え

「コア」とは、命令を実際に処理する(加算、乗算、「and」など)コンピューターの一部です。コアは一度に1つの命令しか実行できません。コンピュータを「より強力に」したい場合、2つの基本的なことができます。

  1. スループットの増加(クロックレートの増加、物理サイズの減少など)
  2. 同じコンピューターでより多くのコアを使用する

#1の物理的な制限は、主に、回路内の電子の処理と速度によって引き起こされる熱を放出する必要があることです。これらのトランジスタの一部を別のコアに分割すると、熱の問題を大幅に軽減できます。

#2には重要な制限があります。問題を複数の独立した問題に分割し、答えを結合できる必要があります。いずれにせよ、コアとの計算時間を争う独立した問題が山ほどあるため、現代のパーソナルコンピューターでは、これは実際には問題ではありません。しかし、集中的な計算の問題を行う場合、複数のコアは、問題が並行性に適している場合にのみ本当に役立ちます。


「複数のコアは、同じデバイス上に複数の「コンピューター」を持っているようなものです。」正しいですが、私の混乱は、どのようにそれらすべてをそこに合わせるのですか?「速くは行けない」というのは、「もっと小さくすることはできない」という症状だと思いました。
ネイサンロング14

複数のコアはより多くのスペースを占有し、チップはより大きくなります。負担はCPUからソフトウェアエンジニアに移りました...これらの巨大なマルチコアCPUの1つで実際に高速で実行するには、作業を半分に減らし、両方を別々に実行できるようにソフトウェアを記述する必要があります。
ジェームズ14

1
簡単な答えは、消費電力はクロック速度の3乗に比例するということです。信号がより長い距離を移動すると、単一スレッドの錯覚を維持するのが難しくなります。詳細な回答:amazon.com/...
ロブ・

6

「コアの追加」が「CPUの高速化」と同じ物理的制限に直面しないのはなぜですか?

それらは物理的に同じ制限に直面しますが、マルチコアデザインに切り替えると、それらのいくつかにぶつかる前に息をのむスペースが得られます。同時に、これらの制限によって引き起こされる他の問題が発生しますが、それらは簡単に克服できます。

事実1:消費電力と放出される熱は、計算能力よりも速く成長します。CPUを1 GHzから2 GHZにプッシュすると、消費電力が20 Wから80 Wにプッシュされます。これは、熱の放散と同じです。(私はこれらの数字を作成しましたが、それはそれがどのように機能するかです)

事実2: 2番目のCPUを購入し、両方を1 GHzで実行すると、計算能力が2倍になります。1 GHzで動作する2つのCPUは、1つの2 GHz CPUと同じ量のデータを処理できますが、各CPUは20 Wのエネルギーしか消費せず、合計で40 Wです。

利益:クロック周波数の代わりにCPU数を2倍にすることでエネルギーを節約でき、以前のように「周波数バリア」に近づいていません。

問題:作業を2つのCPUに分割し、後で結果を組み合わせる必要があります。

許容時間内にこの問題を解決でき、節約したエネルギーよりも少ないエネルギーを使用すれば、複数のCPUを使用したおかげで利益が得られました。

これで、2つのCPUを1つのデュアルコアCPUに統合するだけで、家に帰ります。コアはCPUの一部、たとえばキャッシュ(関連する回答)を共有できるため、これは有益です。


さまざまな方法で物理的な限界に達し続けています。ダイのサイズ(製造プロセスの小型化につながるマルチコアの場合)、モボのサイズ(マルチCPUの場合)、トレースから引き出されるアンプ(両方)。m-atxまたは4に2 cpusを、atxボードにメモリを配置することはできません。これらの設計は変更するのに10年かかります。私は残りに同意します。
ロストール14

@Rostolそれは良い点です、私は答えを編集しました。
グロノスタジ14

5

簡単に言えば、シングルコアの高速化は限界に達しているため、限界に達するか、より良い材料に変更できるようになるまで(または確立された技術を打倒する根本的なブレークスルーを達成するまで)、コアを縮小して追加し続けます在宅サイズ、実際に動作する、量子コンピューティング)。

この問題は多次元的であり、より完全な絵を描くために何か書く必要があると思います。

  1. 物理的制限(実際の物理学によって課せられる):光の速度、量子力学、すべてのように。
  2. 製造上の問題:必要な精度でより小さな構造を製造するにはどうすればよいですか 原料に関連する問題、回路の構築に使用される材料、耐久性。
  3. 建築上の問題:熱、推論、電力消費など
  4. 経済的な問題:ユーザーにパフォーマンスを向上させる最も安価な方法は何ですか?
  5. ユースケースとパフォーマンスに対するユーザーの認識。

さらに多くの可能性があります。多目的CPUは、これらのすべての要因(およびそれ以上)を、市場の93%の被験者に適合する1つの大量生産可能なチップにスクランブルするソリューションを見つけようとしています。ご覧のように、最後のポイントは最も重要なポイントである顧客の認識です。これは、顧客がCPUを使用する方法から直接導き出されます。

あなたの通常のアプリケーションは何ですか?たぶん:25のFirefoxタブ、それぞれがバックグラウンドでいくつかの広告を再生し、音楽を聴いている間、すべて2時間前に開始したビルドジョブを終了します。それには多くの作業が必要ですが、それでもスムーズな体験が必要です。ただし、CPUは一度に1つのタスクを処理できます。単一の事で。だからあなたは何をしているのか、あなたは物事を分けて待ち行列を作り、誰もが彼自身の分け前を得て、すべてが幸せです。あなたを除いて、すべてのものが遅れて、まったく滑らかになりません。

そのため、同じ時間でより多くの操作を行うために、CPUを高速化します。しかし、あなたが言ったように:熱と電力消費。そして、そこから原料の部分に行きます。シリコンは高温になると導電性が高くなります。つまり、材料を加熱すると、材料に流れる電流が増えます。トランジスタは、速く切り替えるほど消費電力が高くなります。また、高周波は、短いワイヤ間のクロストークを悪化させます。ご覧のとおり、高速化アプローチは「メルトダウン」につながります。シリコンよりも優れた原材料やはるかに優れたトランジスタがない限り、私たちはシングルコアの速度で立ち往生しています。

これにより、開始した場所に戻ります。並行して作業を完了します。別のコアを追加しましょう。これで、実際に一度に2つのことができます。それでは、少し冷静にして、処理を2つのコアに分割できるソフトウェアを作成してみましょう。このアプローチには2つの主な問題があります(ソフトウェアの世界がそれに適応するための時間が必要であることに加えて)。1.チップを大きくするか、個々のコアを小さくします。2.一部のタスクは、同時に実行される2つの部分に単純に分割することはできません。コアを縮小できる限りコアを追加し続けるか、チップを大きくして熱の問題を抑えます。ああ、顧客を忘れないでください。ユースケースを変更する場合、業界は適応する必要があります。モバイル部門が思いついたすべての光沢のある「新しい」ものを参照してください。

はい、この戦略は限界に達します!そしてIntelはこれを知っています。だから彼らは未来がどこかにあると言っています。しかし、彼らはそれが安くて効果的で実行可能である限り、それを続けます。

最後になりましたが、物理学。量子力学はチップの縮小を制限します。電子はシリコン内の光の速度で移動できないため、実際にはそれよりもはるかに遅いため、光の速度はまだ制限されていません。また、材料によって提供される速度にハードキャップをかけるのは、衝撃速度です。音が空気よりも水中で速く移動するように、電気インパルスは、たとえばシリコンよりもグラフェンでより速く移動します。これは原料に戻ります。グラフェンは、その電気特性に関しては優れています。CPUを構築するためのはるかに優れたマテリアルが作成されますが、残念ながら大量に生産することは非常に困難です。


2

(非現実的な例ですが、ポイントを理解する必要があります)CPUが100Fで実行されているとします。通常、マルチコアがどのように機能するかは、100Fで実行されているCPUのクロック周波数を取得し、それを下げることで、速度をいくらか下げます。もはや熱くなりませんので、CPUの全体的な温度に大きな影響を与えず、マルチコアのメリットを得ることができずに、すぐ隣に2番目、3番目、または4番目のものを置くことができます。コアは1つのコアによって1か所から制御する必要があるため、これには明らかにオーバーヘッドが伴います。追加するコアが多いほど、オーバーヘッドが大きくなります。シングルコアに関しては、速度を上げるほど熱が発生します。これには明らかに物理的な制限があります(つまり、特定のポイントを過ぎると、パフォーマンスに悪影響を及ぼし始めますが、

時間が経つにつれて、CPUの物理的なサイズを小さくする方法が見つかったため、さらに多くのスペースが必要という要件に実際には達していませんでしたが、たとえば16コアCPUは実際には存在しません(でサーバーグレードのCPUは標準的な消費者グレードよりも物理的にかなり大きいため、物理的なサイズの制限のため、サーバーグレードの機器の外部で記述します。


2

CPU =車のエンジン:16個のバルブを持つより強力な車、つまり100,000 rpmで1つの巨大なバルブ/シリンダーを持つ高回転車よりもランボルギーニを作る方が簡単です。

その理由は物理的および化学的であるため、シリコンを計算ロケット燃料に置き換えて、コア数とコア速度のバランスを変更する必要があります。


2

計算能力の制限に関する主な制限は、主に、回路を通る電子の移動速度の制限(電子ドリフトの速度)に関係していると思います。あなたが言ったような多くの要因があります。

コアを追加してもプロセッサの速度は上がりませんが、同じ時間でより多くの処理が可能になります。

ムーアの法則は非常に興味深く有益な情報です。この引用は特にここで関連しています:

また、1キログラムの質量と1リットルの体積で、かなり実用的な「究極のラップトップ」の理論的なパフォーマンスを制限することもできます。これは、光の速度、量子スケール、重力定数、およびボルツマン定数を考慮して行われ、約10 31ビットで毎秒5.4258×10 50の論理演算のパフォーマンスが得られます。


2
ちなみに、電子は実際には非常にゆっくり(「ドリフト速度」)、1秒間に数ミリ秒のIIRCで移動します。電界が伝播する速度についてもっと言及しています。
ボブ

2
物理学を少しでも理解しているように振る舞うべきではないことを知っていました。:)しかし、これについて訂正/通知してくれてありがとう。
jredd

また、伝搬速度が大きな影響を与える実際のクロック速度は、10 GHz以上です。最新のプロセッサがより高いクロックよりも複数のコアを好む理由は他にもあります。
ボブ14

1

さらに短い話:

本当に高速なCPUは必要ありません。いくつかの高度に特殊化された用途*以外では、CPUは何年もボトルネックではありませんでした-メモリ、ストレージ、ネットワークなどのすべての周辺ビットは通常、CPUが他のことを行うことができる数百万クロックサイクル待機します 2番目のコアは、より多くの「他のこと」を実行できるため、ユーザーにより高いパフォーマンスを認識できます。

多くのモバイルデバイス、ラップトップなどは、CPUのクロックをアンダークロックして、バッテリー寿命と温度を下げます。主要顧客が1.3GHzで実行する場合、3.5GHz ARMコアを開発するインセンティブはあまりありません。

  • これらの特殊な用途では、5GHzコアの開発を正当化するのに十分な量を購入できません。彼らはまた、熱や電力を気にしません-最速のものを購入し、オーバークロックし、トースターのサイズの水冷ヒートシンクにボルトで固定します。

1
それは「知覚」ではなく、「遅延の改善」です。これは私たちが抱える主な問題の一つだと思います。すべてのコストで強力なシングルスレッドスループットが必要です。消費者のオペレーティングシステムは、まだリアルタイム指向ではなく、並行性や並列性を基本的に指向していません。
ロブ14

@peterあなたは非常に良い点を指摘し、それを説明してくれてありがとう。プログラマーとして覚えておく必要があるものです。:)ただし、この質問の目的にはまだ副次的な問題があります。私の質問は、なぜより速いクロック速度を得ることができないのかということでした。あなたの答えは、私たちが現在必要としない理由についてです。
ネイサンロング14

1
@NathanLongは「できない」と「必要ない」がリンクされています。プロセッサを開発するために必要な10億または5億を投資しようとする人はいないため、より高速なプロセッサを取得することはできません(おそらく5GHzはおそらく物理的な限界を押し上げています)。プロセッサの全体的な速度が低下している現実的な市場がないため、誰も投資しませんセグメント。
ピーター14

1

短くて簡単な答え:

1台のトラック運搬貨物から100倍運搬する100台のトラックに行かないと、100mphで走行する1台のトラックから10,000mphで走行する1台のトラックに行くのと同じ物理的制限に直面するのはなぜですか?

その質問に答えると、あなたの質問にも答えられます。概念はほぼ同じです。


1

もう一つの要因は温度だと思います。クロック周波数を上げると、コアの温度が上がります。コアを追加すると、消費電力が増えてもコア全体に分散されるため、温度は同じままです(同じ温度の2つの熱い液体を追加しても、温度は同じままです) )。

もう1つの理由は、クロック周波数を上げると、周波数を上げる係数の2乗だけ電力消費が増える傾向があることです(特定のポイントでヒットしている他の障壁に応じて)。そのため、クロック周波数を上げると消費電力が正方形で増加しますが、コアを追加しても直線的に増加するだけです。


0

「コアの追加」が「CPUの高速化」の質問と同じ物理的制限に直面しない理由の答えは、マルチコアシステムがシングルコアCPUとまったく同じ制限に直面することです。単一のコアシステムを高速化するオプションが実際にはないので、より多くのことを一度に行えるようにしました。現在、サイズと調整の課題は、高速化するよりも簡単に解決できます。欠点は、タスクを細分化できない場合、シングルコアシステムよりもはるかに高速に処理されない可能性があることです。


0

より多くのゲートに詰め込むだけでは、CPUを高速化することはできません。最終的には、命令を実行する必要があり、各命令には複数の「切り替え」操作が必要です。CPUの「クロック速度」を現在のトップエンドシステムの速度を超えて上げることを非常に困難にする基本的な物理的制限(量子力学-不確実性原理)があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.