Definitionen von CPU im Leerlauf und CPU-Energiesparmodus

2

Ich habe eine Präsentation zu CPU's und es gibt einige Dinge, die ich klarstellen möchte, die in vielen Forschungsberichten definiert sind, bei denen ich nicht ganz sicher bin.

  • Wie kann die CPU jemals im Leerlauf sein? Ich meine, solange Sie das Betriebssystem ausführen, heißt das nicht, dass ständig einige Anweisungen gesendet werden, die ausgeführt werden sollen? Oder wie kommt es überhaupt zu CPU-Leerlaufzyklen? Sollte der Taskplaner nicht immer einen Auftrag für die CPU haben, wie beispielsweise einen Auftrag mit niedriger Priorität, oder ein Programm, das nur ausgeführt wird, wenn nichts zu tun ist?

  • Was bedeutet es physikalisch, wenn die CPU in den Energiesparmodus wechselt? Reduziert es einfach die Frequenz, mit der es ausgeführt wird?

  • Wie funktionieren CPU-Zyklen auf Architekturen mit mehreren Kernen? Gibt es eine globale Uhr für alle Kerne und eine interne Uhr in jedem dieser Kerne, die global synchronisiert wird? Und im Fall von Multi-Core-CPUs, nehme ich an, können wir Zyklen wirklich unabhängig voneinander ablaufen lassen und Nachrichten aneinander weiterleiten, wenn dies erforderlich ist?

Patrick.SE
quelle
Das Betriebssystem muss eigentlich nicht 100% der Zeit etwas tun . Ich bin mir nicht sicher, wie dies auf modernen CPUs funktioniert, aber zumindest in Win2000-Fällen könnte das Betriebssystem eine Anweisung wie HLT in einem Prozess mit sehr niedriger Priorität schleifen , um der CPU mitzuteilen, dass keine Berechnungen erforderlich sind. Jemand anderes wird darauf eingehen.
Grawity

Antworten:

0

Die CPU verfügt über verschiedene Befehle und Energiemodi für die Energieverwaltung: C-Zustände und P-Zustände (und viele andere Zustände) sowie Befehle wie HLT.

http://ilinuxkernel.com/?p=1990

P-Staaten: Leistungszustände

T-States: Throttling States

S-Staaten: Schlafzustände

G-Staaten: Globale Staaten

C-States: CPU-Zustände

HLT versetzt die CPU in einen völlig funktionsunfähigen Modus, bis der nächste Interrupt (z. B. Timer) eingeht. Wenn es sich um einen Interrupt zwischen den CPUs handelt, versucht eine andere CPU, ihn aufzuwecken.

Dann gibt es die P-Zustände und C-Zustände:

Bildbeschreibung hier eingeben

Und die Regel bei der Energieverwaltung ist, dass die Boot-CPU (cpu0) niemals heruntergefahren wird, nur andere Nicht-Boot-Kerne:

Bildbeschreibung hier eingeben

Peter Teoh
quelle