Wie schnell ist jeder Kern in einem Dual-Core-Prozessor?

10861
Josh Hunt

Mein Macbook verfügt über einen 2,4-GHz-Dual-Core-Prozessor. Da es zwei getrennte Kerne hat, können zwei Funktionen gleichzeitig ausgeführt werden, oder?

Bedeutet das also, dass jeder Kern ca. Jeweils 1,2 GHz (für kombinierte 2,4 GHz) oder sind es tatsächlich jeweils 2,4 GHz und läuft daher effektiv bei 4,8 GHz?

Dual- (und Quad-) Core-Prozessoren verwirren mich.

9
Es sollte auch darauf hingewiesen werden, dass die Kernfrequenz nicht wirklich ein wichtiger Faktor bei der Bestimmung der Anzahl von Operationen / Anweisungen ist, die ein zweiter Prozessor (heutzutage) ausführen kann. Callum Rogers vor 11 Jahren 1
Laufen zwei Autos mit einer Geschwindigkeit von 50 Meilen pro Stunde "effektiv mit 100 Meilen pro Stunde"? Sie können auf diese Weise keine Geschwindigkeiten hinzufügen, es macht keinen Sinn. David Schwartz vor 11 Jahren 0

4 Antworten auf die Frage

16
Joey

Jeder Kern arbeitet mit 2,4 GHz.

Das bedeutet jedoch nicht, dass Ihr System doppelt so schnell ist wie ein 2,4-GHz-Single-Core-System. Der Parallelismus hat (im Prinzip) höchstens eine lineare Beschleunigung, in Wirklichkeit ist er jedoch oft viel langsamer (wenn auch noch schneller als ein einzelner Kern).

schneller als Single Core, außer im bizarren Fall des Python-Threads. cobbal vor 14 Jahren 3
"Ja wirklich?" Python-Threading verlangsamt das Programm tatsächlich? Oder ist das nur eine Übertreibung? stalepretzel vor 14 Jahren 0
+1 - Möglicherweise möchten Sie die Parallelität kurz durcheinander bringen, aber das ist nicht unbedingt erforderlich. Vielleicht mit einer hübschen Grafik? :) romandas vor 14 Jahren 0
@stalepretzel: Viele bemerkenswerte Python-Implementierungen haben einen so genannten "Global Interlock Cache", was bedeutet, dass nur ein Thread den globalen Zustand (dh den jeweils gemeinsam genutzten Zustand) ändern kann. Dies verlangsamt die Arbeit beim Multithreading in vielen Fällen und macht das Programm in vielen Fällen langsamer als die Singlethread-Variante. Callum Rogers vor 11 Jahren 1
2
hanleyp

Johannes oben ist richtig, wenn es um die maximale Frequenz für jeden Kern in einem Multi-Core-Prozessor geht. Die Frequenzbewertung bezieht sich auf jeden Kern. Ein 2,4-GHz-Multi-Core-Prozessor führt also jeden Prozessor normalerweise mit der maximalen Frequenz von 2,4 GHz aus. Es gibt zwei Ausnahmen (eine sehr häufige und eine neue):

  • Die Frequenz eines Prozessors kann basierend auf der erforderlichen Leistung und dem Energieverbrauch dynamisch skaliert werden, um Energie zu sparen, wenn keine Energie benötigt wird, oder um die Temperatur zu senken (P-State).
  • Neuere Prozessoren verfügen außerdem über eine "Turbo" -Funktion, bei der ein Kern schneller läuft als bewertet, wenn andere Kerne nicht verwendet werden (Turbo Boost).
1
John Gietzen

Um es ganz klar zu sagen, beschleunigen mehrere Kerne KEINE Programme, es sei denn, sie wurden speziell für Multithreading entwickelt.

Der Effekt mehrerer Kerne ist:

Jeder Thread läuft höchstens so schnell wie Ihr Kerntakt. Durch die parallele Verarbeitung kann eine Anwendung mehrere Threads gleichzeitig ausführen.

Das bedeutet, dass Ihre Verarbeitungsleistung höchstens doppelt so hoch ist, jedoch nicht in einem Thread.

Dies ist meistens aber nicht vollständig wahr. Moderne Betriebssysteme verfügen über Multithreading-Anwendungen, so dass selbst Single-Threaded-Apps Leistungssteigerungen bei Multi-Core-Hardware feststellen können, da Betriebssystemaufrufe und der gelegentliche Overhead parallelisiert werden können. Wedge vor 14 Jahren 8
0
ChrisInEdmonton

Ihre Frage betrifft Core 2-CPUs, nicht Core i7. Wenn Sie jedoch einen Core i7 920 kaufen, werden Sie feststellen, dass die CPU ein Quad-Core-Prozessor mit 2,66 GHz ist. Das bedeutet, dass jeder Kern mit 2,66 GHz läuft. Aufgrund des Turbo-Boost des Core i7 läuft die CPU jedoch möglicherweise mit 2,8 GHz, insbesondere wenn Sie Single-Threading-Anwendungen ausführen.

Wie andere darauf hingewiesen haben, können Sie die Geschwindigkeit der CPU nicht mit der Anzahl der Kerne multiplizieren, um zu bestimmen, wie "schnell" sie ist. Ich weise nur darauf hin, dass die Dinge tatsächlich noch verwirrender sind als bei der aktuellen Generation von Intel-CPUs .