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


9

私は息子が学校で使用するラップトップを購入しているので、ゲーム機である必要はありません。以前にPCを最初から組み立てたことがありますが、久しぶりです。

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

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


2
ユースケースのシナリオにも依存します。使用しているソフトウェア(その機能とプログラミング方法)は、パフォーマンスに大きな影響を与える可能性があります。たとえば、以前は、高速のCeleronsがWebブラウジングやカジュアルゲームに適していることが多く、遅いP4は圧縮や3Dゲームに適していました。
Synetech、2011

@Synetech、まあ、もちろん彼は今年+ 3年の典型的なアプリを意味しました。古いアプリは関係ありません。
パセリエ2017

回答:


12

CPUキャッシュ

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

CPUキャッシュサイズとミス率

上記のグラフから、キャッシュサイズが1 MBを超えている場合、キャッシュミスの可能性はすでに非常に低く、キャッシュサイズの増加に伴ってリターンが減少していることがわかります。

CPUコア

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

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

...


それは多かれ少なかれ私が思っていたものです...しかし、キャッシュを使用してリターンを減少させる場所がどこにあるかはわかりませんでした。ありがとう!
デビッド

私ですか、それともグラフのX軸がかなり間違っていますか?4-1 = 3; 16-4 = 12; 64-16 = 48などですが、すべて同じ距離で表されます。しかし、グラフに表示されたデータはまだ正しいと思いますか?Y軸にもこれがあることもわかりました。
Utku

@Utkuは、x軸とy軸の両方が対数目盛を使用し、x軸はbase-2を使用し、y軸はbase-10を使用します。
画期的な

6

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


3

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

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

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

最後に、私の答えは2番目のプロセッサよりも大きなキャッシュを優先するように聞こえるかもしれませんが、最新のCSカリキュラムは並列プログラミングを学生に紹介することに焦点を当てていることを指摘しておきます。したがって、マルチコアプロセッサは、パフォーマンスの点で明らかにより良い選択ではありませんが、より意味があります。



1

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

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


0

キャッシュミスはキャッシュミスの可能性を減らすため、キャッシュサイズは重要です。キャッシュミスは、CPUがメモリアドレスにアクセスするためにメインメモリにアクセスする必要があるため、コストがかかります。

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

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

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