Fun mit dem Powermanagement

Moderne Betriebssysteme, in diesem Fall Windows Vista oder Windows 7, nehmen die Steuerung des Powermanagements am PC selbst in die Hand. Darunter fällt auch die Steuerung der CPU-Modi und damit dessen Verbrauch und Leistung. Im Idle-Betrieb, also ohne anliegende Last, versetzt das Betriebssystem die CPU in die sogenannten C1-3(4,5,6)-Zustände. Über Cool`n Quiet oder EIST senken aktuelle CPUs zudem ihren Takt ab und senken die Spannung. Auch hier greift Windows ein. Schlussendlich besitzen die CPUs noch Schutzfunktionen, welche ein Überhitzen durch das Auslassen von ganzen Taktzyklen verhindert. Selbst auf dieses "Throttling" hat das Betriebssystem Einfluss.

Am Beispiel eines Core 2 soll gezeigt werden, wie durch diese Eingriffe die CPU weiter "heruntergetaktet" werden kann, als dies normalerweise über das Bios und den Multiplikator möglich wäre. Die Beispiel-CPU läuft auf 3 GHz bei 375 MHz FSB (Multiplikator von 8). EIST senkt den Multiplikator auf 6 und den Takt damit auf 2250 MHz ab, solange die CPU nicht stark gefordert wird. Ohne Modifikationen am FSB sind 2250 MHz also eigentlich das untere Ende der Taktspanne. Über das Prozessor-Throttling kann dennoch weniger erreicht werden.

Das benötigte Werkzeug findet sich unter: Systemsteuerung -> System und Wartung -> Energieoptionen -> Energiesparplaneinstellung ändern -> Erweiterte Energieeinstellungen ändern

Hier lässt sich die Energieverwaltung des Prozessors für den minimalen und maximalen Zustand anpassen. Im Regelfall sind dies 5%, respektive 100%. Regelt man nun den Maximalwert herunter, so senkt die CPU nicht entsprechend den Takt ab (das kann sie mitunter auch gar nicht), vielmehr wird beim Core 2 z.B. das interne Throttling aktiviert. Extern anliegende Taktsignale werden nicht übertragen und der Prozessor setzt sozusagen aus. Relevante Performanceunterschiede zu echten Taktraten gibt es nicht.
Beim Core 2 ergaben sich folgende Abstufungen für die effektiven Taktraten:

Throttling beim Core 2 durch Windows-Powermanagement
Throttlingstufe Effektiver Takt Effektiver Multiplikator
100% 3000 MHz 8
86 – 99% 2500 MHz 6.67
74 – 85% 2130 MHz 5.68
61 – 73% 1770 MHz 4.72
49 – 60% 1400 MHz 3.73
36 – 48% 1040 MHz 2.77
24 – 35% 670 MHz 1.79
0 – 23% 306 MHz 0.82

Erste Performancevergleiche zeigten keinen Unterschied zwischen echter Taktabsenkung und Throttling. Das Ergebnis lässt sich z.B. über den Performance-Monitor von Vista aufzeigen, wenn man die Frequenz auftragen lässt. Als netten Nebeneffekt, kann man hier auch die Zeit einsehen, die der Prozessor in den verschiedenen C-Modi verbringt. In diesem Fall ist es ausschließlich der C1(E)-Modus der Desktop-Core-2-Prozessoren.

Natürlich lässt sich das Throttling auch genau so über Tools wie RMClock einstellen bzw. überprüfen. Aber wozu das Ganze? Gerade für Benchmarks kann dies eine nützliche Option sein. Für den XP vs. Vista-Vergleich konnte der Core 2 nur schwer auf die Taktraten des Athlon 64 X2 gebracht werden. Auch ein taktnormalisierter Vergleich mit Intels Atom fällt sehr schwer. Mit dieser Methode ist dies möglich. Allzu große Energieeinsparungen im Idle-Betrieb sollte man dagegen nicht erwarten. Ähnlich wie eine Taktabsenkung, bringt dies kaum etwas, da die CPU sowieso die ganze Zeit im C1(E)-Modus schläft. Bei voller Last sieht dies natürlich anders aus, wer sich hier mit ~1 GHz zufrieden geben kann, spart an Verlustleistung. Ansonsten lassen sich noch tolle Experimente durchführen, wie Vista x64 bei 306 MHz ... oder die Neuentdeckung der Langsamkeit.

Viel Spaß wer Interesse am Ausprobieren hat. Eventuell möchte der ein oder andere die Erfahrungen im Forum mitteilen.