CPU-Kerne: Je mehr, desto besser?

175431
Travis

Ich habe derzeit einen Dual-Core-Prozessor und einen Quad-Core zu Hause. Ich habe festgestellt, dass beide PCs beim Starten von Anwendungen / Surfen im Web ziemlich gleich sind.

Der Unterschied, den ich sehen kann, ist, dass mein Dual-Core 2,8 GHz und mein Quad-Core 2,4 GHz ist.

Ist es besser, einen Dual-Core mit einem schnellen Takt oder einen Quad-Core mit einem mittelmäßigen Takt zu haben?

68
"Schnell" und "Mittelmäßig" sind relativ. In Ihrem Fall wäre ein Quad-Core besser, da der Taktunterschied nur 400 MHz beträgt. Ein 3-GHz-Dual-Core ist jedoch meistens besser als ein 1,5-GHz-Quad-Core. Sasha Chedygov vor 14 Jahren 5
Verwenden Sie GHz nicht zum Vergleich von Prozessoren, verwenden Sie einige Geschwindigkeits- / Lasttestergebnisse, um die effektive Geschwindigkeit eines Prozessors zu vergleichen. Ein Dual-Core-3GHz-Prozessor ** ist möglicherweise langsamer als ein 2,4-GHz-i7 (i7 hat keinen Front-Bus, ...) ... Ben vor 12 Jahren 0
@Ben, sollte offensichtlich sein, dass es die gleiche Prozessorarchitektur sein würde (zB 45nm Core 2 Duo vs Quad). Mircea Chirea vor 12 Jahren 2

12 Antworten auf die Frage

53
nik

HINWEIS: Diese Antwort wurde vor 8 Jahren geschrieben. Parallele Programmierung ist seitdem wichtiger geworden. Dies ist wahrscheinlich auf inhärente Taktgeschwindigkeitsgrenzen und die sich schnell nähernden Transistorgrößengrenzen zurückzuführen.


Ihr Hauptproblem ist Software, die nicht für Multicore geschrieben wurde.

Schauen Sie sich Jeff Atwoods hervorragenden Artikel über die Wahl von Dual Core oder Quad Core an .

Bei den meisten Programmen ist die Rendite nach zwei Kernen sehr schnell gesunken. In Quad-Core-Desktops und Diminishing Returns stellte ich in Frage, wie effektiv heutige Software sogar vier CPU-Kerne wirklich nutzen kann, geschweige denn die unvermeidlichen acht und sechzehn CPU-Kerne, die wir in einigen Jahren sehen werden.

Sie werden hier beantwortet (hervorgehoben aus Jeffs Artikel),

Es gab jedoch einige Überraschungen wie Excel 2007 und die Einstellung "Concurrent Operations" von Lost Planet. Es ist möglich, dass Software-Engineering irgendwann zu dem Punkt voranschreitet, dass die Taktgeschwindigkeit weniger wichtig ist als Parallelität. Oder es ist möglicherweise irrelevant, wenn wir nicht zwischen höheren Taktraten und mehr CPU-Kernen wählen können. Mittlerweile gewinnt die Taktfrequenz jedoch meistens. Mehr CPU-Kerne sind nicht automatisch besser . Typische Benutzer werden mit der schnellst möglichen Dual-Core-CPU, die sie sich leisten können, besser aufgestellt.


Die Ausgabe des Front-Side-Busses (dieser Begriff hat mich immer amüsiert).
Mit Nehalem ändern sich die Dinge ... wie ArsTechnica letztes Jahr sagte.

Das Mooresche Gesetz hat Prozessorentwicklern eine Verlegenheit der Transistoren gegeben, und nirgendwo ist das augenfälliger als bei Intels 45-nm-Nehalem-Prozessor. Nehalem, das später in diesem Jahr in Versionen mit 4 und 8 Kernen erhältlich ist, packt jede Menge Hardware in einen einzigen Prozessorsockel. (Frühere Zahlen gehen von einem Transistor mit vier Kernen für Nehalem von 781 Millionen aus; für das 8-Kern-Modell sind noch keine Zahlen angegeben worden.) Der Versuch, die gesamte Hardware mit der vorhandenen Frontside-Bus-Architektur der Intel-Plattform zu versorgen, wäre töricht. Genauso wichtig ist, dass Nehalem auch den längst überfälligen Todesstoß für Intels positiv geriatrische Frontside-Busarchitektur erklingt.

Die radikale Änderung in Intels Systembandbreiten-Situation, die Intels neuer QuickPath Interconnect (QPI) darstellt, ist vielleicht der größte Faktor, der das Design von Nehalem geprägt hat. Zwischen QuickPath und dem integrierten Speichercontroller von Nehalem hat ein Nehalem-Prozessor Zugriff auf eine beispiellose Menge an Gesamtbandbreite, insbesondere bei Implementierungen mit zwei und vier Sockeln.

AMD hat den Speichercontroller früher in den Prozessor geschoben und Hypertransport verwendet.

Die andere zu berücksichtigende Frage ist die Front-Side-Bus-Leistung. Bei so vielen Kernen, so viel Speicher und so großen Programmen wird der Zugriff auf den Speicher kritisch! Wenn die CPU fehlerhaft sein muss, um in den Hauptspeicher zu gelangen, wird die Leistung beeinträchtigt. Je mehr Sie Multitasking ausführen, desto wahrscheinlicher ist dies auch, unabhängig davon, wie groß der Cache-Speicher auf dem Chip ist. geoffc vor 14 Jahren 3
In den 8 Jahren seit der Eröffnung dieser Frage im Jahr 2009 haben sich die Dinge geändert. Software kann jetzt viele Kerne besser nutzen, und dieser Trend wird sich nur fortsetzen. Contango vor 6 Jahren 1
@Contango Einverstanden, diese Antwort muss aktualisiert werden, um den aktuellen Trends Rechnung zu tragen. Joe vor 6 Jahren 1
18
cletus

Meiner Erfahrung nach gibt es einen großen Leistungsvorteil von einem bis zwei Kernen. Plötzlich blockiert ein hohes CPU-Programm Ihre Maschine nicht oder macht sie ungewöhnlich langsam. Massiver Unterschied.

Aber zwei bis vier? Für 99% der Menschen macht es keinen Unterschied. Sie müssen viele Programme gleichzeitig ausführen oder Programme verwenden, die mehr als zwei Kerne nutzen können (und realistischerweise gibt es nicht viele davon). Bestimmte Mediencodierer fallen ein.

In dieser Hinsicht gibt es auch einen Unterschied zwischen den Intel Core 2s und den AMD Phenoms. AMD verwendet Hypertransport, ein Punkt-zu-Punkt-Protokoll, sodass jeder Kern über dedizierte Bandbreite verfügt. Intel Core 2s (aber nicht Core i7s und andere auf Niehalem basierende CPUs) verwenden einen Front-Side-Bus, bei dem es sich um gemeinsam genutzte Bandbreite handelt, sodass Sie mehr Kerne haben, die um dieselbe Bandbreite konkurrieren.

Dies kann unter Umständen dazu führen, dass ein Quad-Core-Takt (geringfügig) langsamer wird. Das Preis-Leistungs-Verhältnis ist IMHO immer noch mit zwei Kernen. Davon abgesehen habe ich einen Quad-Core.

Das Nehalem verwendet QPI (QuickPathInterconnect), das sich im selben Park wie Hypertransport befindet. nik vor 14 Jahren 1
10
Bastien Léonard

Ich mag es, wie Donald Knuth es zusammenfasst :

Für mich sieht es mehr oder weniger so aus, als hätten die Hardwaredesigner keine Ideen mehr und versuchen, die Schuld an dem zukünftigen Untergang von Moore's Law an die Software-Entwickler weiterzugeben, indem sie uns Maschinen zur Verfügung stellen, die nur bei wenigen funktionieren wichtige Benchmarks! Ich bin überhaupt nicht überrascht, wenn sich die Multithreading-Idee als Flop herausstellt, schlimmer als der "Itanium" -Ansatz, der so großartig sein sollte - bis sich herausstellte, dass die gewünschten Compiler praktisch nicht schreiben konnten .

Ich sage es so: In den letzten 50 Jahren habe ich weit über tausend Programme geschrieben, von denen viele eine beträchtliche Größe haben. Ich kann mir nicht einmal fünf dieser Programme vorstellen, die durch Parallelismus oder Multithreading merklich verbessert worden wären. Sicherlich helfen mehrere Prozessoren beispielsweise nicht für TeX.

Für einige Anwendungen ist es sehr einfach, mehrere Kerne zu nutzen. Einige andere Anwendungen werden jedoch niemals von ihnen profitieren, während die anderen davon profitieren könnten, wenn die Entwickler sie optimieren (was sehr schwierig ist).

Im Allgemeinen stimme ich zu, dass Multi-Cores TeX selbst nicht helfen würden. Es wäre jedoch ein großer Gewinn für einen grafischen TeX-Editor, der TeX wiederholt aufruft, um die Anzeige zu aktualisieren, während das Dokument bearbeitet wird. KeithB vor 14 Jahren 4
Dies ist einer der Orte, an denen mein Herz für Knuth geht, aber mein Verstand stimmt nicht ganz überein. nik vor 14 Jahren 3
5
Jeff Fritz

Für meinen Hauptdesktop bei meinem Arbeitgeber verwende ich eine Dual-Quad-Core-Xeon-Maschine mit 8 GB RAM.

Wenn ich programmiere und Internet Explorer, Chrome, TweetDeck, Visual Studio 2008 (oder 2010) und eine lokale SQL Server Express-Instanz habe, summt alles mit.

Im Vergleich dazu hatte ich bereits einen Dual-Core, und schon mit Visual Studio, Chrome und SQL Express liefen die Dinge.

Es ist eine Frage, was Sie mit der Maschine machen. Wenn Sie ein Power-User sind, der Videobearbeitung, 3D-Modellierung oder Programmierung mit erheblichen Ressourcen durchführen wird, dann werden Sie den Quad-Core und viel RAM benötigen.

1
Auxonic

Für den täglichen Gebrauch und für Programme, die nicht für mehrere Kerne optimiert sind, schlägt ein schneller Dual-Core einen langsameren Quad-Core.

Mit der Zeit werden Multithread-Apps immer mehr zum Standard.

Zweifelsohne haben Doppelkerne nach wie vor einen komfortablen Vorsprung.

1
David Hayes

Es hängt davon ab, ob. Wenn Sie Dinge tun, bei denen jeder Kern 4 Kerne benötigt, ist es besser (Videobearbeitung, Rendern usw.). Die meisten Leute werden im Moment zwei schnelle Kerne besser finden, da nicht viele Anwendungen für den vollen Einsatz von 4 Kernen geschrieben werden

1
jerryjvl

Beachten Sie, dass die neuesten i7-Prozessoren die Taktfrequenz der aktiven Kerne tatsächlich erhöhen können, wenn nicht alle benötigt werden. Wenn Sie beispielsweise einen Quad-Core mit 2,4 GHz haben, die Software jedoch nur zwei Kerne benötigt, wird sie automatisch bis zu 2,8 GHz getaktet (keine tatsächliche Zahl, nur ein Beispiel).

Ich denke, die neueste Generation des i7 kann 3 oder 4 Bins takten, wenn nur ein oder zwei Kerne benötigt werden. Daher bleibt es möglicherweise nicht so viel Kompromisse, wie es derzeit ist ...

1
Ivo Flipse

Laut Anandtech.com :

Es kommt alles auf die TDP des Chips oder den Thermal Design Point an. Je mehr TDP eine Plattform einschränkt, desto mehr profitieren Sie vom Turbo-Modus von Intel. Lassen Sie mich es anders ausdrücken; Um vier Kerne in eine 130-W-TDP einzubauen, muss jeder Kern mit einer niedrigeren Taktrate laufen, als wenn wir nur einen Kern mit demselben TDP hätten.

Bei höheren TDPs gibt es normalerweise genug thermische Kopffreiheit, um die einzelnen Kerne recht hoch laufen zu lassen. Bei niedrigeren TDPs müssen CPU-Hersteller einen Kompromiss zwischen der Anzahl der Kerne und ihrer Taktrate machen - da können wir Spaß haben.

Dies ist alles im Zusammenhang mit der Wahl zwischen Kernen (oder Threads) und Kernfrequenz.

Wäre dies für ein Overclocking-Interesse relevanter? Guter Artikel trotzdem. nik vor 14 Jahren 0
0
Joseph

In Ihrem Fall wäre der Quad-Core besser. Denken Sie daran, je mehr Kerne Sie haben, desto mehr parallele Verarbeitung können Sie durchführen. Auf Ihrem Dual-Core können Sie möglicherweise eine einzelne App schneller als das Quad ausführen, aber das Quad kann 4 Apps schneller ausführen, als Sie es von Dual können. Wenn eine App parallel geschrieben wird (Multi-Threading), läuft die App auf einer Multi-Core-Architektur besser.

Dies ist alles relativ, da ein Quad-Core, der mit 100 MHz betrieben wird, keine Dual-Core-4-GHz-Leistung hat. Generell gilt: Je mehr Kerne, desto besser.

Sie gehen davon aus, dass eine Anwendung, die auf zwei Kernen arbeiten kann, auch vier Kerne nutzen kann. Das stimmt nicht immer. nik vor 14 Jahren 0
@nik Nein, bin ich nicht. Ich habe gesagt, dass eine Multi-Threaded-App auf einer Multi-Core-Architektur besser abschneidet. Ich habe nichts über den proportionalen Gewinn über die Anzahl der Kerne angegeben, die Sie haben. Joseph vor 14 Jahren 0
0
mas

Hängt davon ab, was Sie tun und welche Fähigkeiten Ihr Betriebssystem und Ihre Anwendungen haben.

Wenn Sie über ein einfaches Betriebssystem verfügen und eine einzige CPU-gebundene Anwendung ausführen, die nur einen Prozessor verwenden kann, sind zwei Prozessoren mit höherer Geschwindigkeit die bessere Wahl.

Andernfalls, wenn das Betriebssystem alle Kerne effektiv einplanen kann und Sie viele Anwendungen oder Anwendungen ausführen, die mehr als einen Prozessor mit langsamerem Quad-Core verwenden können, würde eine bessere Leistung bei geringerem Stromverbrauch und damit geringerer Wärmeabgabe erwartet.