
息子が学校で使うノートパソコンを買おうと思っているので、ゲーム機である必要はありません。これまでにも PC を一から組み立てたことはありますが、かなり前のことです。
入手可能なエントリーレベルのマシンの多くは、デュアルコアまたはシングルコア CPU のいずれかを搭載していることに気づきました。他の条件が同じであれば、デュアルコア CPU の方がパフォーマンスが優れていることは理解しています。しかし、シングルコアの L2 キャッシュがはるかに大きい場合はどうなるでしょうか (たとえば、シングルコアの場合は 3 MB、デュアルコアの場合は 1 MB)? これもパフォーマンスに大きな影響を与える可能性があることはわかっています。
メモリ速度やグラフィックス ハードウェアなどの他のシステム コンポーネントもシステム パフォーマンスに影響することは理解しています。質問ですが、CPU コアの追加とキャッシュの追加のいずれかを選択しなければならない場合、どちらを選択すればよいでしょうか。
答え1
CPU キャッシュ
CPUキャッシュが低いと、キャッシュミス、パフォーマンスが大幅に低下します。とはいえ、もう 1 つのコア全体を使用すると、コンピューターは少なくとも 2 つのスレッドを同時に実行できるため、どちらかを選択する必要があるときはトレードオフになります。
上記のグラフから、キャッシュ サイズが 1 MB を超えると、キャッシュ ミスの確率はすでに非常に低く、キャッシュ サイズが増加するにつれて収穫逓減の傾向が見られることがわかります。
CPUコア
一方、追加の CPU コアを使用すると、アプリケーションが複数のコアを活用するときに速度が大幅に向上する可能性があります。
実際のほとんどのアプリケーションでは、追加の実行コアは追加のキャッシュよりもパフォーマンスの向上をもたらします。キャッシュ サイズとコア数はどちらもコンピューターのパフォーマンスを評価する上で非常に重要ですが、そもそも比較的少ない数のコアを扱う場合、追加のコアは通常、パフォーマンスを大幅に向上させます。
...
答え2
ほとんどのアプリケーションでは、コアの追加は簡単です。最適な条件下では、計算を 2 倍にすることができます。キャッシュは役立ちますが、速度は 2 倍にはなりません。
答え3
適切な選択 (デュアル コア vs 追加キャッシュ容量) は、ラップトップで実行される対象アプリケーションによって異なります。
デュアルコアプロセッサは、理論的にはシングルコアプロセッサに比べて実行時間を半分に短縮します。しかし、実際には、並列アプリケーションの作成の難しさにより、2倍のスピードアップが達成されることはほとんどありません。アムダールの法則(リンク)アプリケーションの実行の 90% が完全に並列化されている場合でも (大規模なアプリケーションでは困難なタスク)、速度向上は 2 倍ではなく 1.82 倍であることがわかります。2 番目のコアからの速度向上は、スケーラブルな方法で実装されていないアプリケーションの場合にのみ低下します。
@Breakthroughの回答に示されているように、L2キャッシュ容量が大きいほどキャッシュのミス率は低下します。しかし、回答では正しくないグラフから、キャッシュ容量が1MBを超えても、わずかな改善しか得られないという結論が導き出されます。収益が減少するポイントは、アプリケーション(特にワーキングセットのサイズ)によって異なります。リンク) です。ほとんどのアプリケーションはワーキング セット サイズが 1 MB を超える可能性が高いため、キャッシュを大きくすると、遅延の長い DRAM アクセスを回避してパフォーマンスが向上します (プロセッサはメイン メモリよりも最大 3 桁高速に動作します)。
最後に、私の答えは、2つ目のプロセッサよりも大きなキャッシュを好むように聞こえるかもしれませんが、現代のコンピュータサイエンスのカリキュラムのほとんどは、学生に並列プログラミングを紹介することに重点を置いていることを指摘したいと思います。したがって、マルチコアプロセッサは、パフォーマンスの面で明らかに優れた選択肢ではありませんが、より理にかなっています。
答え4
シングルコアよりもデュアルコアマシンをお勧めします。
Windows は基本的に同時に多くの処理を実行するため (たとえば、Web を閲覧しながら Windows Update をダウンロードし、ダウンロードしたばかりのファイルをウイルス対策ソフトでスキャンするなど)、デュアル コア システムはシングル コア マシンよりも「応答性」が高くなります。