Multi-Core-Prozessoren: Läuft jeder "Kern" mit voller Taktfrequenz oder einem Bruchteil der vollen Taktfrequenz?

8

Nehmen wir an, Sie haben einen (1) Intel / AMD x86-64 Bit 2 GHz 8-Core-Prozessor.

Läuft jeder der acht Kerne alle mit vollen 2 GHz oder läuft jeder Kern mit einem Bruchteil des vollen 2-GHz-Takts (z. B. 250 MHz)?

    
GregH 12.04.2010, 03:36
quelle

4 Antworten

9

Unter Volllast (das heißt, wenn Programme laufen, die die gesamte Prozessorzeit auf allen Kernen verbrauchen), laufen alle Kerne mit der Nenngeschwindigkeit (z. B. ein 8-Kern 2 GHz-Prozessor führt alle 8 Kerne bei 2 aus GHz).

Nun ist möglich, damit die Kerne abhängig von der tatsächlichen Auslastung mit unterschiedlichen Geschwindigkeiten ausgeführt werden können:

  1. Die Stromspartechnologie kann einzelne Leerlaufkerne einzeln ausschalten, um bei geringer Last Energie zu sparen (was bei 8-Kern-Maschinen oft der Fall ist)
  2. Stromspartechnologie kann auch den gesamten Prozessor "untertakten", um Energie zu sparen.
  3. Intels TurboBoost und AMDs kommendes Turbo CORE erlauben es einem der Kerne, sich in dem sehr häufigen Fall, in dem ein einzelner Thread oder Prozess die CPU anpaßt, dynamisch zu übertakten.

Im Allgemeinen wird der Prozessor die volle Geschwindigkeit haben, aber es ist möglich, dass die Geschwindigkeit dynamisch schwankt.

    
Daniel G 12.04.2010 03:45
quelle
5

Der erste ist ein Eingang, der von einem Quarzoszillator erzeugt wird, der in die CPU "injiziert" wird. Er wird verwendet, um die ganze Reihe von Transistoren zu synchronisieren. Es können jedoch verschiedene Takte für verschiedene Teile der Hardware verwendet werden derjenige, der die CPU antreibt (und jeder innere Kern ist gleich).

Ein Seitenknoten: Einige fortgeschrittene CPUs können einige Kerne herunterfahren, weil sie momentan nicht aktiv sind. Dies wird normalerweise erreicht, indem die Grundtaktfrequenz um einen Faktor erhöht wird, aber nur um Strom zu sparen.

Beachten Sie, dass mehr Kontext-Switches nicht durch mehr CPUs erhöht werden sollten: Ein Context-Switch wird immer dann ausgeführt, wenn die Quantum eines Prozesses endet oder eine Vorbelegung eintritt. Mit einer höheren Anzahl an Prozessorkernen werden Sie mehr "Consumer" haben führen Sie die Prozesse mit einer geringeren Notwendigkeit aus, sie auszutauschen.

    
Jack 12.04.2010 03:37
quelle
2

Bei voller Leistung sollten sie alle mit 2 GHz laufen, würde ich mir vorstellen. Dies schafft jedoch keinen effektiven 16 GHz-Prozessor, da ein Single-Thread-Einzelprozessprogramm, das mit 100% CPU ausgeführt wird, nur einen solchen verwenden kann. Nichtsdestotrotz können 8 2-GHz-Kerne besser als 1 16-GHz-Kerne sein, wenn die Arbeitslast gut aufgeteilt ist, da jeder Kern seinen eigenen Cache usw. erhält. Aus einer praktischeren Perspektive bedeutet das, wenn ein Programm bei 100% läuft wird Ihr System nicht verlangsamen (es sei denn, es werden alle 8 Kerne verwendet).

Beachten Sie, dass moderne Hardware (mit der richtigen Betriebssystemunterstützung) bei geringer Auslastung typischerweise die Taktfrequenz reduziert und die Cores herunterfahren, um Strom zu sparen. Letzteres mag heute nicht so sein, aber es wird in der Zukunft sein.

    
Joey Adams 12.04.2010 03:39
quelle
1

In Sandy Bridge und Ivy Bridge können verschiedene Kerne nicht gleichzeitig mit unterschiedlichen Geschwindigkeiten laufen. Der L3-Cache-Bus läuft mit der gleichen Taktrate wie die Kerne. Um Synchronisierungsprobleme zu vermeiden, müssen sie alle entweder mit dieser Geschwindigkeit laufen oder abgeschaltet werden.

Quelle: Ссылка

    
user833771 07.10.2014 19:11
quelle