2009-07-15 15:38:47 +0000 2009-07-15 15:38:47 +0000
68
68

CPUコア。多ければ多いほど良い?

私は現在、職場ではデュアルコアプロセッサ、自宅ではクアッドコアプロセッサを使用しています。アプリケーションの起動/ネットサーフィンに関しては、どちらのPCもかなり同等であることに気がつきました。

違いがわかるのは、デュアルコアが2.8GHzで、クアッドコアが2.4GHzということです。

**クロック速度の速いデュアルコアと、クロック速度の凡庸なクアッドコアのどちらが良いのでしょうか?

回答 (12)

53
53
53
2009-07-15 15:42:45 +0000

**この答えは8年前に書かれたものです。並列プログラミングはその後、より重要になってきました。これは、固有のクロック速度の限界とトランジスタサイズの限界に急速に近づいているためと思われます。


あなたの一番の問題は、マルチコア用に書かれていないソフトウェアです。

Jeff Atwood氏の Choosing Dual core or Quad Core に関する優れた記事を参照してください。

ほとんどのソフトウェアでは、2つのコアの後にリターンが減少するポイントに非常に急速に突き当たることになります。Quad-Core Desktops and Diminishing Returns ](http://www.codinghorror.com/blog/archives/000655.html)では、今日のソフトウェアが4つのCPUコアでも本当に効果的に使えるのか、ましてや数年後には8つや16つのCPUコアを目にすることは避けられないだろうと疑問を投げかけました。

あなたの答えはここにあります(Jeffの記事からコピーしたハイライト)、

しかし、ここにはExcel 2007やロストプラネットの「同時処理」の設定など、いくつかの驚きがありました。いずれソフトウェア工学は、クロック速度が並列性よりも重要ではないというところまで進んでしまうかもしれません。あるいは、最終的には、より高速なクロック速度とより多くのCPUコアの間で選択をしなければ、それは無関係になるかもしれません。しかし、その間は、ほとんどの場合、**クロック速度が勝っています。より多くのCPUコアが自動的に優れているわけではありません。一般的なユーザーは、可能な限り最速のデュアルコアCPUを使用した方が良いでしょう。


フロントサイドバス (この言葉はいつも私を楽しませてくれました)の問題。

ムーアの問題 [ * * *

] (http://arstechnica.com/hardware/news/2008/04/what-you-need-to-know-about-nehalem.ars) (この言葉はいつも私を楽しませてくれました)。

ムーアの法則により、プロセッサ設計者はトランジスタの豊富さに困惑していますが、それがIntelの45nm Nehalemプロセッサよりも明らかになっています。今年後半に4コアと8コアのバリエーションでデビューするNehalemは、単一のプロセッサソケットに1トンのハードウェアを詰め込んでいます。(初期の数値では、クアッドコアNehalemのトランジスタ数は7億8,100万個とされていますが、8コアモデルの数値はまだ出ていません)。しかし、Intelプラットフォームの既存のフロントサイドバスアーキテクチャですべてのハードウェアを供給しようとするのは愚かなことだ。つまり、Nehalem氏は、Intelの老朽化が顕著なフロントサイドバスアーキテクチャに長い間の死の鐘を鳴らしているのと同じくらい重要なことなのだ。

インテルの新しい QuickPath Interconnect (QPI)が表すインテルのシステム帯域幅状況の激変は、おそらくNehalemの設計を形作った最大の単一要因である。QuickPathとNehalemの統合メモリコントローラの間で、Nehalemプロセッサは、特に2ソケットと4ソケットの実装において、これまでにない量の総帯域幅にアクセスできるようになります。

AMDは、以前にメモリコントローラをプロセッサ内に移動させ、Hypertransportを使用していた。

18
18
18
2009-07-15 15:41:59 +0000

私の経験では、1つのコアから2つのコアに移行することで、パフォーマンスに大きなメリットがあります。突然、1つの高 CPU プログラムがマシンをロックしたり、異常に遅くなったりすることはありません。大きな違いです。

でも、2コアから4コアにすると?99%の人にとっては違いはありません。一度に多くのプログラムを実行しているか、2つ以上のコアを利用できるプログラムを使用している必要があります(現実的にはそれほど多くはありません)。ある種のメディアエンコーダーが思い浮かびます。

この点では、Intel Core 2sとAMD Phenomsの間にも違いがあります。AMDはHypertransportというポイント・ツー・ポイント・プロトコルを採用しているので、各コアは専用の帯域幅を持っています。Intel Core 2s (ただし、***Core i7sやその他のNiehalemベースのCPUではありません)はフロントサイドバスを使用しており、これは共有帯域幅であるため、より多くのコアが同じ帯域幅を競い合うことになります。

これは、同じクロックのクアッドコアでも、状況によっては(わずかに)遅くなる可能性があります。金銭的な価値は、やはりデュアルコアの方があると思います。そうは言っても、私はクアッドコアを持っています。

10
10
10
2009-07-15 15:53:09 +0000

私は Donald Knuth のまとめ.

私には、多かれ少なかれ、ハードウェア設計者がアイデアを使い果たしてしまったように見えます。マルチスレッドのアイデア全体が大失敗に終わっても、私は全く驚かないでしょう。

こう言ってみましょう。過去50年の間に、私は1000以上のプログラムを書いてきましたが、その多くはかなりのサイズのものでした。その中で、並列化やマルチスレッド化によって顕著に改善されたプログラムは5つも思いつきません。確かに、例えば、マルチプロセッサは TeX にとって何の役にも立ちません。

いくつかのアプリケーションでは、マルチコアを利用することは非常に簡単です。しかし、他のアプリケーションの中には、その恩恵を受けないものもあれば、開発者が最適化すれば恩恵を受ける可能性のあるものもあります(これは非常に難しいことです)。

5
5
5
2009-07-15 15:48:54 +0000

会社のメインデスクトップには、8GBのRAMを搭載したデュアルクアッドコアXeonマシンを使用しています。

プログラミングをしていて、Internet Explorer、Chrome、TweetDeck、Visual Studio 2008 (または 2010)、ローカルの Sql Server Express インスタンスがあれば…すべてがうまく動作します。

比較的、以前はデュアルコアを使用していましたが、Visual Studio、Chrome、Sql Expressだけを実行していると、状況がギスギスしてきました。

これはマシンをどう使うかの問題です。もしあなたがビデオ編集、3Dモデリング、または大量のリソースを必要とするプログラミングを行うパワーユーザーであれば、クアッドコアと大量のRAMが必要になるでしょう。

1
1
1
2009-07-15 16:56:28 +0000

Anandtech.com]によると、(http://www.anandtech.com/mac/showdoc.aspx?i=3597&p=7).

すべてはチップのTDP、つまり熱設計点に集約されます。プラットフォームがより多くのTDPに制約されているほど、IntelのTurboモードの恩恵を受けることができます。4つのコアを130WのTDPに収めるためには、各コアは同じTDPで1つのコアだけを搭載した場合よりも低いクロック速度で動作しなければなりません。

より高いTDPでは、通常、個々のコアをかなり高く動作させるのに十分な熱的ヘッドルームがあります。低いTDPでは、CPUメーカーはコア数とクロック速度の間でトレードオフを行わなければなりません。

これはすべて、コア(またはスレッド)とコア周波数の間で選択しなければならないという文脈の中でのことです。

1
1
1
2009-07-15 15:43:26 +0000

それは依存しています。すべてのコアを多用するようなことをするのであれば、4コアの方が良いでしょう (ビデオ編集、レンダリングなど)。ほとんどの人は、現時点では2つの高速コアの方が良いと感じるでしょう。

1
1
1
2009-07-15 15:49:30 +0000

最新の i7 プロセッサは、アクティブコアのすべてが必要ではない場合、実際にはアクティブコアのクロック速度を上げることができることに注意してください。例えば、2.4GHz のクアッドコアを持っているが、ソフトウェアを実行するのに 2 つのコアだけが必要な場合、自動的に 2.8GHz にクロックアップされることがあります (実際の数字ではなく、単なる例です)。

そして、私が思うに最新世代のi7は、1つか2つのコアしか必要としない場合は、3つか4つのビンをクロックアップすることができます。そのため、現在のようなトレードオフのままでは終わらないかもしれませんが……。

1
1
1
2009-07-15 15:43:13 +0000

日常的な使用やマルチコアに最適化されていないプログラムでは、高速なデュアルコアが低速なクアッドコアを凌駕します。

時間が経ち、適切にマルチスレッド化されたアプリケーションが主流になると、クアッドコアが優位に立つようになります。

コストパフォーマンスの観点からは、デュアルコアがまだ快適なリードを保っています。

0
0
0
2009-07-15 15:44:50 +0000

何をしているのか、OSやアプリケーションの能力によります。

軽量なOSを使用していて、1つのプロセッサしか使用できない単一のCPUに依存するアプリケーションを実行している場合は、より高速な2つのプロセッサを使用した方が良い選択となるでしょう。

そうでない場合は、OSがすべてのコアを効果的にスケジュールすることができ、複数のアプリケーションやアプリケーションを実行している場合は、より遅いクアッドコアの方が消費電力が少なく、熱出力が少ないため、より良いパフォーマンスが期待できるでしょう。

0
0
0
2009-07-20 05:41:55 +0000

場合による。

とてもそうです。

2つのコアだけを使ったクアッドコアを簡単に見つけることができます。これは、OSとソフトウェアの設計に一部関係しています。さらに言えば、メモリ、ディスク、デバイスなど、他のすべてのものを共有しているということです。

OSの起動が(顕著に)速くならないこと、ウェブページのダウンロードが速くならないこと(描画は速くなるかもしれませんが)を知っています。

0
0
0
2009-07-15 15:46:35 +0000

ビデオエンコーディング、3D レンダリング、分散ソースコードのビルドを多く行っている場合は、コア数が多いほど良いでしょう。これらのタイプのアプリケーションでは、1コアから2コア、4コアから8コアに移行すると、パフォーマンスに著しい差が出てきます。

それ以外の場合、標準的なアプリケーションを実行していても、コア数が増えても恩恵を受けることはありません。ゲームでさえ、複数のコアを利用することはあまりありません。IMOでは、より良いグラフィックカードにお金を使った方が良いでしょう。

0
0
0
2009-07-15 15:43:11 +0000

あなたの場合はクアッドコアの方が良いでしょう。覚えておいてください、コア数が多ければ多いほど、より多くの並列処理が可能になります。つまり、デュアルコアの場合、1つのアプリをクアッドよりも速く実行できるかもしれませんが、クアッドは4つのアプリをデュアルよりも速く実行することができます。また、アプリが並列(マルチスレッド)で処理するように書かれている場合、アプリはマルチコアアーキテクチャでより良く動作します。

これはすべて相対的なものですが、100Mhzで動作するクアッドコアが4Ghzのデュアルコアを上回ることはありません。一般的に言えば、コア数が多ければ多いほど良いということになります。