Ist die Cache-Größe oder die Anzahl der Kerne beim Abwägen der CPU-Leistung wichtiger?


9

Ich kaufe einen Laptop, den mein Sohn für die Schule benutzen kann, also muss es kein Spielautomat sein. Ich habe schon früher PCs von Grund auf neu zusammengestellt, aber es ist schon eine Weile her.

Ich habe festgestellt, dass einige der verfügbaren Einstiegsmaschinen entweder mit einer Dual-Core- oder einer Single-Core-CPU ausgestattet sind. Ich verstehe, dass alle anderen Dinge gleich sind, wenn die Dual-Core-CPU wahrscheinlich besser abschneidet. Was wäre jedoch, wenn der Single Core einen viel größeren L2-Cache hätte (sagen wir 3 MB für den Single Core gegenüber 1 MB für den Dual Core)? Ich weiß, dass dies auch die Leistung erheblich beeinträchtigen kann.

Ich verstehe, dass andere Systemkomponenten, z. B. die Speichergeschwindigkeit und Grafikhardware, ebenfalls die Systemleistung beeinflussen. Meine Frage ist, was muss ich auswählen, wenn ich zwischen einem zusätzlichen CPU-Kern oder mehr Cache wählen muss?


2
Dies hängt auch von Ihrem Anwendungsfall ab. Welche Software Sie verwenden (was sie tun und wie sie programmiert sind), kann einen großen Einfluss darauf haben, welche Leistung besser ist. In der Vergangenheit waren beispielsweise schnellere Celerons häufig besser für das Surfen im Internet und für Gelegenheitsspiele, während langsamere P4 für Komprimierung und 3D-Spiele besser geeignet waren.
Synetech

@Synetech, Na ja, natürlich meinte er typische Apps dieses Jahres + 3 Jahre. Alte Apps spielen keine Rolle.
Pacerier

Antworten:


12

CPU-Cache

Ein niedrigerer CPU-Cache führt zu einer höheren Wahrscheinlichkeit von Cache-Fehlern , was die Leistung erheblich beeinträchtigt. Abgesehen davon ermöglicht ein weiterer ganzer Kern dem Computer, mindestens zwei Threads gleichzeitig auszuführen. Dies ist ein Kompromiss, wenn Sie einen über den anderen auswählen müssen.

CPU-Cache-Größe vs. Fehlerrate

Aus dem obigen Diagramm können wir ersehen, dass bei einer Cache-Größe von mehr als 1 MB die Wahrscheinlichkeit eines Cache-Fehlers bereits extrem gering ist und mit zunehmender Cache-Größe abnehmende Renditen zeigt.

CPU-Kerne

Zusätzliche CPU-Kerne können dagegen drastische Geschwindigkeitssteigerungen aufweisen, wenn Anwendungen die mehreren Kerne nutzen.

Für die meisten realen Anwendungen bietet der zusätzliche Ausführungskern einen besseren Leistungsgewinn gegenüber dem zusätzlichen Cache. Sowohl die Cache-Größe als auch die Anzahl der Kerne sind von entscheidender Bedeutung, wenn Sie die Leistung eines Computers abwägen. Wenn Sie jedoch zunächst mit einer relativ geringen Anzahl von Kernen arbeiten, sorgen zusätzliche Kerne normalerweise für erhebliche Leistungssteigerungen.

...


Das dachte ich mehr oder weniger ... aber ich war mir nicht sicher, wo Sie mit dem Cache zu sinkenden Renditen kommen würden. Vielen Dank!
David

Bin ich es oder ist die X-Achse des Graphen ziemlich falsch? 4-1 = 3; 16-4 = 12; 64-16 = 48 usw., aber alle werden mit der gleichen Entfernung dargestellt. Aber ich denke, die in der Grafik dargestellten Daten sind immer noch korrekt, oder? Auch erkannt, dass die Y-Achse dies auch hat.
Utku

@Utku Sowohl die x-Achse als auch die y-Achse verwenden logarithmische Skalen, wobei die x-Achse die Basis 2 und die y-Achse die Basis 10 verwendet.
Durchbruch

6

Zusätzlicher Kern, einfach, für die meisten Anwendungen. Sie können die Berechnungen unter optimalen Bedingungen zweimal durchführen. Cache hilft, aber es verdoppelt nicht die Geschwindigkeit.


3

Die richtige Wahl (Dual-Core vs. zusätzliche Cache-Kapazität) hängt von den Zielanwendungen ab, die auf dem Laptop ausgeführt werden sollen.

Dual-Core-Prozessoren reduzieren theoretisch die Ausführungszeit um die Hälfte im Vergleich zu einem Single-Core-Prozessor. In der Praxis wird die Beschleunigung von 2x jedoch aufgrund der Herausforderungen beim Schreiben paralleler Anwendungen selten erreicht. Amdahls Gesetz (Link) zeigt, dass selbst wenn die Ausführung der Anwendung zu 90% perfekt parallelisiert ist (eine herausfordernde Aufgabe für große Anwendungen), die Beschleunigung 1,82X statt 2X beträgt. Die Beschleunigung vom zweiten Kern verringert sich nur für Anwendungen, die nicht skalierbar implementiert sind.

Eine größere L2-Cache-Kapazität verringert die Fehlerrate in Caches, wie in der Antwort von @Breakthrough gezeigt. Die Antwort zieht jedoch die falsche Schlussfolgerung aus dem Diagramm, dass eine Cache-Kapazität von mehr als 1 MB nur geringfügige Verbesserungen bietet. Der Punkt, an dem die Renditen sinken, hängt von der Anwendung (insbesondere dem Link zur Größe des Arbeitssatzes ) der Anwendung ab. Die meisten Anwendungen haben wahrscheinlich eine Arbeitssatzgröße von mehr als 1 MB. Daher tragen größere Caches zur Verbesserung der Leistung bei, indem DRAM-Zugriffe mit langer Latenz vermieden werden (Prozessoren arbeiten bis zu 3 Größenordnungen schneller als der Hauptspeicher).

Während meine Antwort so klingt, als würde ich einen größeren Cache einem zweiten Prozessor vorziehen, möchte ich darauf hinweisen, dass sich die meisten modernen CS-Lehrpläne auf die Einführung paralleler Programmierung für Schüler konzentrieren. Daher sind Multi-Core-Prozessoren sinnvoller, auch wenn sie in Bezug auf die Leistung nicht eindeutig die bessere Wahl sind



1

Ich würde die Dual-Core-Maschine dem Single-Core empfehlen.

Da Windows im Grunde genommen viel zur gleichen Zeit tut (z. B. Sie surfen im Internet, während ein Windows Update heruntergeladen wird und das Antivirenprogramm die gerade heruntergeladene Datei scannt), reagiert ein Dual-Core-System meist "reaktionsfähiger" als ein einzelner Core Maschinen.


0

Die Cache-Größe ist wichtig, da sie die Wahrscheinlichkeit verringert, dass ein Cache-Fehler auftritt. Cache-Miss 'sind teuer, da die CPU zum Hauptspeicher gehen muss, um auf die Speicheradresse zuzugreifen. Dies dauert viel länger und führt daher zu einem langsameren Computer.

Die Anzahl der Kerne ist ebenfalls wichtig, da je mehr Kerne vorhanden sind, desto mehr Prozesse gleichzeitig ausgeführt werden können. Das bedeutet, dass mehrere Anweisungen gleichzeitig ausgeführt werden können, was zu einem schnelleren Computer führt.

Wie Sie sehen, sind beide sehr kritisch und die Optimierung beider ist wichtig, obwohl aus persönlicher Erfahrung ein Multi-Core-Prozessorchip vorteilhafter ist als ein größerer Cache, wenn Sie nur eines optimieren müssen ...

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.