2009-07-15 15:38:47 +0000 2009-07-15 15:38:47 +0000
68
68

CPU-Kerne: Je mehr, desto besser?

Ich habe derzeit einen Dual-Core-Prozessor auf der Arbeit und einen Quad-Core zu Hause. Ich habe festgestellt, dass beide PCs ziemlich gleich sind, was das Starten von Anwendungen/Surfen im Internet angeht.

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

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

Antworten (12)

53
53
53
2009-07-15 15:42:45 +0000

Hinweis: Diese Antwort wurde vor 8 Jahren geschrieben. Die parallele Programmierung hat seitdem an Bedeutung gewonnen. Das liegt wahrscheinlich an den inhärenten Grenzen der Taktrate und den sich schnell nähernden Grenzen der Transistorgröße.


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

Schauen Sie sich Jeff Atwoods ausgezeichneten Artikel über Choosing Dual core or Quad Core an.

bei den meisten Programmen erreicht man nach zwei Kernen sehr schnell den Punkt des abnehmenden Ertrags. In Quad-Core Desktops and Diminishing Returns habe ich in Frage gestellt, wie effektiv heutige Software sogar vier CPU-Kerne nutzen kann, ganz zu schweigen von den unvermeidlichen acht und sechzehn CPU-Kernen, die wir in ein paar Jahren sehen werden.

Sie werden hier beantwortet (Hervorhebung aus Jeffs Artikel kopiert),

Allerdings gab es hier einige Überraschungen, wie z.B. Excel 2007 und die Lost Planet “concurrent operations” Einstellung. Es ist möglich, dass die Softwaretechnik irgendwann so weit fortschreitet, dass die Taktrate weniger wichtig ist als die Parallelität. Oder sie könnte irgendwann irrelevant sein, wenn wir nicht die Wahl zwischen schnelleren Taktraten und mehr CPU-Kernen haben. Aber in der Zwischenzeit gewinnt Taktgeschwindigkeit die meiste Zeit. Mehr CPU-Kerne sind nicht automatisch besser. Typische Benutzer sind mit der schnellstmöglichen Dual-Core-CPU, die sie sich leisten können, besser dran.


Das Problem des Front-Side Bus (dieser Begriff hat mich immer amüsiert). Mit Nehalem ändern sich die Dinge … wie ArsTechnica letztes Jahr sagte.

Moore’s Law hat den Prozessordesignern einen peinlichen Transistorreichtum beschert, und nirgendwo ist das offensichtlicher als bei Intels 45-nm-Nehalem-Prozessor. Der Nehalem-Prozessor, der später in diesem Jahr in 4- und 8-Kern-Varianten auf den Markt kommt, packt eine Menge Hardware in einen einzigen Prozessorsockel. (Frühe Zahlen beziffern die Transistoranzahl eines Quad-Core-Nehalem auf 781 Millionen; für das 8-Core-Modell sind noch keine Zahlen erschienen). Aber der Versuch, all diese Hardware mit der bestehenden Frontside-Bus-Architektur der Intel-Plattform zu füttern, wäre töricht. Genauso wichtig ist, dass Nehalem auch das längst überfällige Todesurteil für Intels geriatrische Frontside-Bus-Architektur bedeutet.

Die radikale Veränderung der Systembandbreitensituation, die Intels neues QuickPath Interconnect (QPI) darstellt, ist vielleicht der größte Einzelfaktor, der das Design von Nehalem geprägt hat. Durch die Kombination von QuickPath und dem integrierten Speicher-Controller von Nehalem hat ein Nehalem-Prozessor Zugriff auf eine noch nie dagewesene Gesamtbandbreite, insbesondere bei Implementierungen mit zwei und vier Sockeln.

AMD hat den Speicher-Controller früher in den Prozessor verlegt und Hypertransport verwendet.

18
18
18
2009-07-15 15:41:59 +0000

Meiner Erfahrung nach gibt es einen großen Leistungsvorteil, wenn man von einem auf zwei Kerne wechselt. Plötzlich blockiert ein Programm mit hoher CPU-Leistung Ihren Rechner nicht mehr oder macht ihn unbrauchbar langsam. Ein gewaltiger Unterschied.

Aber von zwei auf vier? Für 99% der Leute wird es keinen Unterschied machen. Sie müssen eine Menge Programme gleichzeitig laufen lassen oder Programme verwenden, die mehr als 2 Kerne nutzen können (und davon gibt es realistischerweise nicht so viele). Bestimmte Medien-Encoder kommen mir in den Sinn.

In dieser Hinsicht gibt es auch einen Unterschied zwischen den Intel Core 2s und den AMD Phenoms. AMD verwendet Hypertransport, was ein Punkt-zu-Punkt-Protokoll ist, so dass jeder Kern eine eigene Bandbreite hat. Intel Core 2s (aber nicht Core i7s und andere Niehalem-basierte CPUs) verwenden einen Front-Side-Bus, bei dem die Bandbreite gemeinsam genutzt wird, so dass mehrere Kerne um die gleiche Bandbreite konkurrieren.

Dies kann einen gleich getakteten Quad-Core unter Umständen (geringfügig) langsamer machen. Das Preis-Leistungs-Verhältnis liegt IMHO immer noch bei Dual-Cores. Davon abgesehen, ich habe einen Quad-Core.

10
10
10
2009-07-15 15:53:09 +0000

Mir gefällt, wie Donald Knuth es zusammenfasst :

Für mich sieht es mehr oder weniger so aus, als ob den Hardware-Designern die Ideen ausgegangen sind, und dass sie versuchen, die Schuld für den zukünftigen Untergang von Moore’s Law auf die Software-Autoren abzuwälzen, indem sie uns Maschinen geben, die nur bei ein paar Schlüssel-Benchmarks schneller arbeiten! Es würde mich überhaupt nicht überraschen, wenn sich die ganze Multithreading-Idee als Flop herausstellt, schlimmer als der “Itanium”-Ansatz, der so toll sein sollte - bis sich herausstellte, dass die gewünschten Compiler im Grunde unmöglich zu schreiben waren.

Lassen Sie es mich so formulieren: In den letzten 50 Jahren habe ich weit über tausend Programme geschrieben, von denen viele eine beträchtliche Größe haben. Mir fallen nicht einmal fünf dieser Programme ein, die durch Parallelität oder Multithreading merklich verbessert worden wären. Sicherlich sind zum Beispiel mehrere Prozessoren keine Hilfe für TeX.

Für einige Anwendungen ist es sehr einfach, die Vorteile mehrerer Kerne zu nutzen. Aber einige andere Anwendungen werden nie von ihnen profitieren, während die anderen vielleicht profitieren, wenn die Entwickler sie optimieren (was sehr schwierig ist).

5
5
5
2009-07-15 15:48:54 +0000

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

Wenn ich programmiere und ich habe Internet Explorer, Chrome, TweetDeck, Visual Studio 2008 (oder 2010) und eine lokale Sql Server Express-Instanz… dann läuft alles wie geschmiert.

Zum Vergleich: Vorher hatte ich einen Dual-Core-Rechner, und wenn nur Visual Studio, Chrome und Sql Express liefen, fing alles an zu ruckeln.

Es kommt darauf an, was Sie mit dem Rechner machen. Wenn Sie ein Power-User sind, die Videobearbeitung, 3D-Modellierung oder Programmierung mit erheblichen Ressourcen sein wird… dann ja, Sie wollen den Quad-Core und viel RAM.

1
1
1
2009-07-15 16:56:28 +0000

Laut Anandtech.com :

Es läuft alles auf die TDP des Chips hinaus, oder seinen Thermal Design Point. Je eingeschränkter die TDP einer Plattform ist, desto mehr können Sie von Intels Turbo-Modus profitieren. Lassen Sie es mich anders ausdrücken: Um vier Kerne in eine 130-W-TDP zu packen, muss jeder Kern mit einer niedrigeren Taktrate laufen, als wenn wir nur einen Kern mit der gleichen TDP hätten.

Bei höheren TDPs gibt es normalerweise genug thermischen Spielraum, um die einzelnen Kerne ziemlich hoch zu betreiben. Bei niedrigeren TDPs müssen die CPU-Hersteller einen Kompromiss zwischen der Anzahl der Kerne und deren Taktraten eingehen - hier können wir etwas Spaß haben.

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

1
1
1
2009-07-15 15:43:26 +0000

Es kommt darauf an. Wenn Sie Dinge tun, die jeden Kern stark beanspruchen, sind 4 Kerne besser (Videobearbeitung, Rendering usw.). Die meisten Leute finden zwei schnelle Kerne im Moment besser, weil nicht viele Anwendungen geschrieben sind, um 4 Kerne voll auszunutzen

1
1
1
2009-07-15 15:49:30 +0000

Beachten Sie, dass die neuesten i7-Prozessoren tatsächlich die Taktfrequenz auf den aktiven Kernen erhöhen können, wenn nicht alle von ihnen benötigt werden; wenn Sie z. B. einen Quad-Core mit 2,4 GHz haben, aber die Software nur 2 Kerne zum Laufen braucht, dann kann sie automatisch auf 2,8 GHz hochgetaktet werden (keine tatsächliche Zahl, nur ein Beispiel).

Und die neueste Generation des i7 kann, glaube ich, 3 oder 4 Bins hochtakten, wenn nur ein oder zwei Kerne benötigt werden. Es könnte also sein, dass es am Ende nicht so ein großer Kompromiss bleibt, wie es derzeit der Fall ist…

1
1
1
2009-07-15 15:43:13 +0000

Für den Alltagsgebrauch und Programme, die nicht Multi-Core-optimiert sind, wird ein schneller Dual-Core einen langsameren Quad-Core schlagen.

Mit der Zeit und wenn richtig multithreadingfähige Anwendungen die Norm werden, werden Quad-Cores die Nase vorn haben.

Aus Sicht des Preis-Leistungs-Verhältnisses haben Dual-Cores immer noch einen komfortablen Vorsprung.

0
0
0
2009-07-15 15:44:50 +0000

Hängt davon ab, was Sie tun und von den Fähigkeiten Ihres Betriebssystems und Ihrer Anwendungen.

Wenn Sie ein leichtgewichtiges Betriebssystem haben und eine einzelne CPU-gebundene Anwendung ausführen, die nur einen Prozessor nutzen 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 nutzen können, würde man mit dem langsameren Quad-Core eine bessere Leistung bei geringerem Stromverbrauch und damit weniger Wärmeabgabe erwarten.

0
0
0
2009-07-20 05:41:55 +0000

Abhängig.

Sehr wohl.

Sie können leicht einen Quad-Core finden, der nur zwei Kerne verwendet. Das hat zum Teil mit dem Betriebssystem und mit dem Design der Software zu tun. Außerdem teilen sie sich noch alles andere, insbesondere den Speicher, die Festplatte und die Geräte.

Sie wissen, dass das Betriebssystem nicht (merklich) schneller bootet und die Webseiten nicht schneller heruntergeladen werden (sie könnten aber schneller zeichnen).

0
0
0
2009-07-15 15:46:35 +0000

Wenn Sie viel Videocodierung, 3D-Rendering oder verteilte Quellcode-Builds durchführen, dann gilt: je mehr Kerne, desto besser. Sie werden einen deutlichen Unterschied in der Leistung für diese Arten von Anwendungen feststellen, wenn Sie von 1 über 2 zu 4 bis hin zu 8 Kernen gehen.

Ansonsten profitieren laufende Standardanwendungen nicht wirklich von mehr Kernen. Sogar Spiele nutzen mehrere Kerne nicht so sehr aus. IMO sind Sie besser dran, wenn Sie das Geld für eine bessere Grafikkarte ausgeben.

0
0
0
2009-07-15 15:43:11 +0000

In Ihrem Fall wäre der Quad-Core besser. Denken Sie daran, je mehr Kerne Sie haben, desto mehr parallele Verarbeitung können Sie tun. So können Sie auf Ihrem Dual-Core vielleicht eine einzelne App schneller ausführen als der Quad, aber der Quad kann 4 Apps schneller ausführen als Ihr Dual es kann. Auch wenn eine App für die parallele Verarbeitung (Multi-Thread) geschrieben wurde, läuft die App besser auf einer Multi-Core-Architektur.

Das ist allerdings alles relativ, denn ein Quad-Core mit 100 MHz wird einen Dual-Core mit 4 GHz nicht ausstechen. Generell gilt jedoch, je mehr Kerne, desto besser.