web-dev-qa-db-ja.com

CPUパフォーマンスを比較検討する場合、キャッシュサイズまたはコア数はより重要ですか?

私は息子が学校で使用するノートパソコンを購入しているので、ゲーム機である必要はありません。以前、PCを一から組み立てたことがありますが、久しぶりです。

利用可能なエントリーレベルのマシンの多くに、デュアルコアまたはシングルコアのCPUが搭載されていることに気づきました。デュアルコアCPUに等しい他のすべてのものはおそらくより良いパフォーマンスになると理解しています。ただし、シングルコアのL2キャッシュがはるかに大きい場合(たとえば、シングルコアの場合は3 MB、デュアルコアの場合は1 MB)はどうでしょうか。これもパフォーマンスに大きな影響を与える可能性があることを私は知っています。

他のシステムコンポーネント、たとえばメモリ速度とグラフィックスハードウェアもシステムパフォーマンスに影響します。私の質問は、CPUコアを追加するか、キャッシュを増やすかを選択する必要がある場合、何を選択すればよいですか?

9
David

CPUキャッシュ

CPUキャッシュが低いほど、 キャッシュミス の可能性が高くなり、パフォーマンスが大幅に低下します。そうは言っても、別のコア全体を使用すると、コンピューターで少なくとも2つのスレッドを同時に実行できるため、一方を他方から選択する必要がある場合はトレードオフになります。

CPU cache size vs. miss rate

上のグラフから、キャッシュサイズが1 MBを超える場合、キャッシュミスの確率はすでに非常に低く、キャッシュサイズの増加に伴って収穫逓減が見られることがわかります。

CPUコア

一方、追加のCPUコアは、アプリケーションが複数のコアを利用する場合に大幅な速度の向上を示す可能性があります。

ほとんどの実際のアプリケーションでは、追加の実行コアにより、追加のキャッシュよりもパフォーマンスが向上します。コンピューターのパフォーマンスを比較検討する場合、キャッシュサイズとコア数の両方が非常に重要ですが、最初に比較的少量のコアを処理する場合、通常、コアを追加するとパフォーマンスが大幅に向上します。

.。

12
Breakthrough

ほとんどのアプリケーションで、追加のコア、簡単。最適な条件下で2回の計算を実行できます。キャッシュは役に立ちますが、速度は2倍にはなりません。

6
soandos

正しい選択(デュアルコアと追加のキャッシュ容量)は、ラップトップで実行されるターゲットアプリケーションによって異なります。

デュアルコアプロセッサは、理論的にはシングルコアプロセッサと比較して実行時間を半分に短縮します。ただし、実際には、並列アプリケーションを作成するという課題があるため、2倍の高速化はめったに達成されません。アムダールの法則 ((link) は、アプリケーションの実行の90%が完全に並列化されている場合(大規模なアプリケーションでは困難なタスク)でも、2倍ではなく1.82倍になることを示しています。 2番目のコアからのスピードアップは、スケーラブルな方法で実装されていないアプリケーションに対してのみ低下します。

より大きなL2キャッシュ容量は、@ Breakthroughの回答に示されているように、キャッシュのミス率を減らします。ただし、答えは、1MBを超えるキャッシュ容量ではわずかな改善しか提供されないというプロットから不正解の結論を導き出します。収穫逓減のポイントは、アプリケーションのアプリケーション(特に、ワーキングセットのサイズ リンク )によって異なります。ほとんどのアプリケーションのワーキングセットサイズは1MBを超える可能性が高いため、キャッシュを大きくすると、待ち時間の長いDRAMアクセスを回避してパフォーマンスを向上させることができます(プロセッサはメインメモリよりも最大3桁高速に動作します)。

最後に、私の答えは2番目のプロセッサよりも大きなキャッシュを好むように聞こえるかもしれませんが、最新のCSカリキュラムのほとんどは、学生に並列プログラミングを導入することに重点を置いていることを指摘しておきます。したがって、マルチコアプロセッサは、パフォーマンスの面で明らかにより良い選択ではない場合でも、より理にかなっています。

AMDとIntelを比較することは困難です。 2GHzデュアルコアAMDは、2GHzデュアルコアIntelと同じではありません。

これが両方のベンチマークです。

http://www.cpubenchmark.net/cpu_lookup.php?cpu=Intel+Celeron+925+%40+2.30GHz

http://www.cpubenchmark.net/cpu_lookup.php?cpu=AMD+C-5

ここで、大きな数が良いか悪いかを判断します。

2
James T

シングルコアよりもデュアルコアマシンをお勧めします。

Windowsは基本的に同時に多くのことを実行しているため(たとえば、Windows Updateがダウンロードされ、ウイルス対策がダウンロードしたばかりのファイルをスキャンしている間にWebを閲覧します)、デュアルコアシステムはシングルコアよりも「応答性」が高いマシン。

1
Tex Hex

キャッシュサイズは、キャッシュミスが発生する可能性を減らすため重要です。 CPUがメモリアドレスにアクセスするためにメインメモリに移動する必要があるため、キャッシュミスはコストがかかります。これにははるかに時間がかかり、コンピュータの速度が低下します。

コアの数が多いほど、同時に実行できるプロセスも増えるため、コアの数も重要です。つまり、複数の命令を並行して実行できるため、コンピュータの速度が向上します。

ご覧のとおり、両方が非常に重要であり、両方を最適化することが重要ですが、個人的な経験から、1つだけを最適化する必要がある場合は、マルチコアプロセッサチップの方がキャッシュを大きくするよりも有益です...

0
rrazd