Ist eine höhere Kernanzahl oder eine höhere Taktfrequenz vorteilhafter für die Leistung eines Computers?

Ist eine höhere Kernanzahl oder eine höhere Taktfrequenz vorteilhafter für die Leistung eines Computers?

Angesichts sinkender Siliziumkosten und steigender Verbraucheranforderungen scheinen die Hersteller eines von zwei Dingen voranzutreiben: Taktfrequenz und/oder Anzahl der Kerne. So wie die Dinge laufen, scheint es nicht mehr so, dass die Taktfrequenz der Prozessoren steigt, sondern die Anzahl der Prozessorkerne.

Ich erinnere mich, dass ich vor ein paar Jahren einen schönen schnellen Single-Core-Pentium-4-Prozessor hatte. Heute glaube ich nicht, dass man einen Single-Core-Prozessor überhaupt kaufen kann (ganz zu schweigen von der steigenden Zahl an Multi-Core-Prozessoren).sogar in Mobiltelefonen). Wenn die Dinge so laufen, könnten wir in ein paar Jahren Computer mit Hunderten von Kernen haben (und ich weiß, dass viele Betriebssysteme dies bereits unterstützen).

Ist es für die Gesamtleistung eines Systems vorteilhafter, die Taktfrequenz zu erhöhen oder die Anzahl der Kerne zu erhöhen? Nehmen wir an, wir laufen Hunderte von Kernen gleichzeitig oder erreichen zehnmal höhere Taktfrequenzen als heute (unabhängig davon, ob das physikalisch möglich ist oder nicht).

Was sind einige Beispiele für gängige Prozesse (z. B. Verschlüsselung, Dateikomprimierung, Bild-/Videobearbeitung), die am meisten von dem einen oder anderen profitieren? Gibt es Prozesse, diedürfenwerden, derzeit aber (aus technischen Gründen) nicht durch eine Erhöhung der Parallelität beschleunigt werden?


Nehmen wir an, der hypothetische Prozessor hat genau dasselbe Kerndesign (Wortgröße, Adressbitbreite, Speicherbusgröße, Cache usw.), sodass die einzigen Variablen hier Taktfrequenz und Kernanzahl sind. Und noch einmal: Ich spreche nicht von einem, zwei oder sogar vier Kernen – stellen Sie sich Dutzende bis Hunderte vor.

Antwort1

Es sind zwei grundsätzliche Situationen zu berücksichtigen:

  1. Der Prozessor wird mit einem Computer verwendet, der ausschließlich Berechnungen für ein einziges Programm durchführt

  2. Der Prozessor wird für mehrere gleichzeitig laufende Programme verwendet

In der ersten Situation ist die Prozessorgeschwindigkeit wichtiger, da der Benutzer die Möglichkeit haben möchte, Berechnungen schnell und effizient durchzuführen. Diese Situationen betreffen typischerweise rechenintensive Verarbeitung, d. h. die Berechnung von Primzahlen fürVerschlüsselung/Entschlüsselung

Zweitens sind mehrere Kerne praktisch, da jedes Programm einem separaten Kern zugewiesen werden kann, wodurch die Programme sich gegenseitig nicht behindern. Heutzutage verwendet der durchschnittliche Benutzer seinen Computer für mehrere Programme gleichzeitig, was die Mehrkernverarbeitung zu einer wünschenswerten Sache macht.

Allerdings!=schnellere Geschwindigkeiten oder höhere Leistung in allen Fällen. Da die meisten Programme für Single-Core-Verarbeitung * geschrieben sind , ist die Taktfrequenz immer noch wichtig. Eine Kombination aus beidem muss berücksichtigt werden(neben vielen anderen Faktoren).


* Es gibt einige Programme, und hoffentlich werden bald noch mehr erstellt, bei denen mehrere Kerne gleichzeitig verwendet werden können. Die Zukunft der Software liegt darin "Parallele Programmierung":

Softwareentwickler können sich nicht mehr darauf verlassen, dass sie Single-Thread-Anwendungen nur durch höhere Taktraten beschleunigen. Um sich einen Wettbewerbsvorteil zu verschaffen, müssen sie stattdessen lernen, wie sie ihre Anwendungen so gestalten, dass sie in einer Thread-Umgebung laufen. Multi-Core-Architekturen verfügen über ein einzelnes Prozessorpaket, das zwei oder mehr Prozessor-„Ausführungskerne“ oder Rechenmaschinen enthält und – mit der entsprechenden Software – die vollständig parallele Ausführung mehrerer Software-Threads ermöglicht.

-Intel

Antwort2

Ich persönlich denke, dass die Anzahl der Kerne der richtige Weg ist. Die Softwareentwicklung hat sich auf vernetzte Systeme verlagert, sodass lokale Ressourcen nicht mehr die einzigen verfügbaren Ressourcen sind. Der wichtigste Faktor für Ihre Arbeitsweise ist jetzt, wasNetzwerkvon dem du ein Teil bist.

Beachten Sie den Wechsel zu mobilem Breitband, ständiger Konnektivität, Fernzugriff usw. usw. Ständige Konnektivität erfordert eine lange Akkulaufzeit. Es ist zwar umstritten, welche CPU-Faktoren für die Akkulaufzeit optimaler sind (Sie haben die klassische Optimierungsgleichung von Arbeitswert vs. Zeit), aber ich persönlich denke, wenn Sie einen auswählen müssten, würde ich mehr Kerne wählen.

Intel ermöglicht es Ihnen jetzt, Kerne nach Bedarf mit Strom zu versorgen. Das ist zwar nicht so optimal, als wenn Sie keine Kerne im Ruhezustand hätten, aber die Möglichkeit, mehr Kerne zu verwenden, gibt Ihnen die Flexibilität, mehr Anwendungen auf derselben Hardwareplattform auszuführen.

Antwort3

Wie ChrisF in einem Kommentar erwähnt,es kommt darauf an.Da solche Antworten aber keine echten Antworten sind, werde ich versuchen, einige Szenarien zu skizzieren, in denen das eine vorteilhafter ist als das andere:

Bei den meisten der von Ihnen genannten gängigen Prozesse spielt die Anzahl der Kerne keine große Rolle, da die meiste Arbeit in einem einzigen Thread erledigt wird, der nur auf einem einzigen Kern (zur gleichen Zeit) ausgeführt werden kann. Bei solchen Prozessen ist die Leistung eines einzelnen, aber sehr leistungsstarken Kerns besser als bei mehreren langsameren Kernen. Sowohl Verschlüsselung als auch Dateikomprimierung könnten hiervon Ausnahmen sein, aber es hängt stark davon ab, welche Algorithmen verwendet werden und ob sie parallel ausgeführt werden können.

Sie haben jedoch eine der häufigsten Aufgaben vergessen, die heutzutage auf Computern ausgeführt werden: das Surfen. Mehrere beliebte Browser öffnen jeden Tab in einem separaten Prozess (Chrome ist der einzige, bei dem dies meiner Meinung nach der Fall ist, da ich es verwende). Wenn Sie also auf einem Quad-Core-System vier Tabs geöffnet haben, kann jedes Browserfenster (theoretisch) einen „eigenen“ Kern haben (OS-Threads und ähnliches ignorieren) und so schnell sein, als ob keine anderen Browser-Tabs/-Fenster geöffnet wären. Für Leute, die mit vielen gleichzeitig geöffneten Tabs surfen, kann dies eine erhebliche Leistungssteigerung bedeuten, ohne dass extrem schnelle CPU-Kerne gebaut werden müssen.

Der Schlüssel zur Feststellung, ob ein Multi-Core-System mit langsameren Kernen schneller ist als ein Single-Core-System mit einem schnellen Kern, liegt in der Frage, ob Sieviele verschiedene Dinge gleichzeitigoderein paar, aber schwere Dinge. Da dies von Benutzer zu Benutzer sehr unterschiedlich ist, gilt dies auch für die Antwort auf Ihre Frage.


Auch die anderen Antworten enthalten einige wichtige Punkte:

  • Bei der Prozessorleistung geht es nicht mehr nur um die Taktfrequenz oder die Anzahl der Kerne - andere Teile des Prozessors werden mit der Verbesserung von Taktfrequenz und Kernanzahl zu Engpässen.
  • für die meisten Benutzer ist die Prozessorleistung nicht einmal von vornherein der Flaschenhals. Wenn Sie Ihre Zeit mit gehosteten Anwendungen wie Google Docs verbringen, ist die Geschwindigkeit Ihrer Netzwerkkarte wichtiger als die Geschwindigkeit Ihres Prozessorkerns bzw. Ihrer Prozessorkerne. Wenn Sie hochauflösendes Filmmaterial ansehen oder bearbeiten, ist die Festplattenleistung wichtiger. Usw....

Antwort4

Tatsächlich ist heute nicht mehr die Taktfrequenz des Prozessors der wichtigste Faktor. Seitdem dieser „Vergleichsfaktor“ außer Gebrauch geraten ist, wurden viele neue Funktionen auf den Markt gebracht.

Heutzutage müssen Sie viele Faktoren berücksichtigen, um Rückschlüsse auf die Leistung des Prozessors zu ziehen. Dinge wie:

  • Anzahl der Kerne
  • Anzahl paralleler Operations-Threads
  • Prozessorfamilie (Dual Core, Pentium, Core i/Calpella, Sandy Bridge usw.)
  • Prozessorgeneration (2., 6., usw.) und dann
  • Taktfrequenz des Prozessors.

Wenn ich Prozessorgeschwindigkeiten vergleichen möchte, konsultiere ichMindestpunktzahlvonNotebookcheckBenchmark-Tabellen. Benchmarks sind meiner Meinung nach der beste Faktor, um Prozessorgeschwindigkeit und -leistung zu messen und zu vergleichen.

verwandte Informationen