Aufwachprobleme

Athlon-Bugs verhindern Stromsparmodus

Trends & News | News

Moderne Betriebssysteme können den PC-Hauptprozessor in Arbeitspausen in einen Standby-Zustand versetzen. Bei vielen Sockel-A-Mainboards führt dies aber nicht zu einem kühleren Prozessor. Freeware-Tools für Windows und Linux sorgen auch beim Athlon für Sparbetrieb - unter Umständen aber mit unerwünschten Nebenwirkungen.

Aktuelle Betriebssysteme können den PC-Hauptprozessor in unterschiedliche Stromspar-Modi schalten, wenn keine Rechenarbeiten anstehen, der Prozessor also ‘idle’ ist. Das kann bei modernen Hochleistungsprozessoren mehrere Hundert Male pro Sekunde passieren. Effektives ‘Power Management’ sorgt für einen kühleren Kopf des Prozessors und kann in Verbindung mit einer Lüfterregelung den PC leiser machen.

Bei den meisten verkauften Sockel-A-Mainboards laufen allerdings alle Maßnahmen dieser Art ins Leere: Die BIOS-Programmierer verhindern effektives Stromsparen nämlich ganz bewusst. Das hat mehrere Gründe, unter anderem Fehler in manchen Athlon-Chips. Leider sind die Hintergründe sehr verwickelt, doch in vielen Fällen lassen sich auch Athlons zum Stromsparen zwingen.

Die ACPI-Spezifikation (Advanced Control and Power Management Interface) sieht für den Prozessor unter anderem die ‘Power Management States’ C0, C1 und C2 vor. Arbeitet der Prozessor normale Befehle ab, befindet er sich im ‘Working’-Zustand C0. Ein spezieller Befehl namens ‘HLT’ hat nur einen Zweck: Er versetzt den Prozessor in den ‘Halt’-Zustand C1. Der Prozessor wacht daraus schnell wieder auf, wenn ihn beispielsweise ein Interrupt- oder ein Reset-Signal erreicht. Tiefer ‘schläft’ die CPU im Stop-Grant-Zustand C2, kurz auch STPGNT genannt. Das Aufwachen aus diesem Zustand dauert länger als aus dem HLT-Modus - je nach CPU-Typ und Chipsatz einige Hundert Taktzyklen. Zum Ein- und Ausschalten des C2 dient in spezieller Prozessor-Pin namens ‘STPCLK’.

Dieser ist mit der Southbridge des Chipsatzes verbunden. Die Southbridge kann das STPCLK-Signal nutzen, um die Leistungsaufnahme des Prozessor bei drohender Überhitzung zu drosseln. Doch auch ein ACPI-Betriebssystem kann einen leer laufenden Prozessor automatisch in den C2-Modus schicken, wie in der letzten c't-Ausgabe 17/01 auf Seite 114 beschrieben war. Ein spezieller ACPI-Befehl liest das ‘Powerlevel-2’-Register in der Southbridge. Dieser Lesevorgang führt wiederum dazu, dass die Southbridge das STPCLK-Signal am Prozessor setzt.

Die Betriebssysteme Windows NT, Windows 2000, OS/2 und Linux steuern die CPU-Leistungsaufnahme nicht per ACPI, sondern über den HLT-Befehl - also unabhängig von einer korrekten ACPI-Implementierung durch die BIOS-Programmierer. So genannte Idle-Manager wie die ebenfalls in der letzten c't-Ausgabe erwähnten Tools Cpuidle oder CPUCooL rüsten diesen HLT-Befehl bei den Windows-9x-Versionen nach.

Wie groß die Energieeinsparung im C1 oder C2 tatsächlich ist, hängt allerdings von weiteren Details ab. Die Athlons und Durons von AMD nehmen im Halt- oder STPGNT-Zustand nur dann deutlich weniger Strom auf, wenn gleichzeitig auch der Prozessorkern vom Front-Side-Bus getrennt ist. Diesen ‘Disconnect’-Modus aktiviert die Northbridge des Chipsatzes. Dazu dient eine komplizierte Signalfolge, die AMD im Prozessor-Datenblatt auf vier Seiten beschreibt. Alle Athlon-Northbridges beherrschen dieses ‘Connect and Disconnect Protocol’, aber sie trennen den Prozessor nicht in jedem Falle vom FSB, wenn der HLT-Befehl eingetroffen ist oder das STPCLK-Signal aktiv ist. Vielmehr existiert ein spezielles Steuerregister in der Northbridge, das genau dieses Verhalten steuert. Bei den VIA-Chipsätzen KT133 und KT133A handelt es sich um Bit 7 am Offset 0x52 des Steuerregisters, das den schönen Namen ‘Disconnect Enable when STPGNT Detected’ trägt.

Nur wenn dieses Konfigurationsbit richtig gesetzt ist, kann man Athlons und Durons also in einen wirksamen Stromsparmodus schalten. Genau das verhindern die meisten BIOS-Programmierer bei Sockel-A-Mainboards absichtlich.

Ein Grund ist, dass der Prozessor-Tiefschlaf im C2 wegen des relativ langen Aufwachzeitraums zu minimalen Leistungseinbußen führen kann - etwa zwei bis drei Prozentpunkte Unterschied sind je nach Benchmark messbar. In dieser winzigen Größenordnung liegen aber auch die Geschwindigkeitsunterschiede zwischen den schnellsten und langsamsten Athlon-Boards mit gleichem Chipsatz - kein Mainboard-Hersteller will sich durch die nebensächliche Stromspar-Funktion einen der hinteren Plätze in Hardware-Tests einhandeln.

Der zweite Grund ist, dass schlecht ausgelegte Onboard-Spannungsregler und Billignetzteile die starken Stromschwankungen nicht vertragen, die die CPU beim Wechsel des Betriebszustandes von C1 oder C2 nach C0 erzeugt. Das kann zu Systemabstürzen, plötzlichem Neustart oder elektrischen Störungen führen, wie Asus ausdrücklich in der Online-FAQ beschreibt [1|#literatur] .

Doch viel wichtiger sind zwei ‘Errata’ des Athlon, wie auch AMD nach Intels Vorbild Prozessor-Bugs vornehm umschreibt. Laut ‘AMD Athlon Processor Model 4 Revision Guide’ [2|#literatur] haben manche Athlons ausgerechnet mit dem beschriebenen Connect-Disconnect-Protokoll Probleme. Es kann vorkommen, dass der interne Taktfrequenzgenerator aus dem Tritt kommt, was sich aber durch eine BIOS-Anpassung vermeiden ließe (Fehler 11). In seltenen Fällen schaffen es außerdem Athlons mit ‘halbzahligen’ Frequenzmultiplikatoren wie 7,5 oder 11,5 nicht, sich wieder mit dem FSB zu verbinden (Fehler 14). Als einzigen ‘Work-Around’ empfiehlt AMD, den Strom sparenden C2-Zustand nicht zu benutzen.

Ein aufmerksamer c't-Leser verwies uns auf die Webseite von Martin Peters [3|#literatur] , der dort nicht nur das Problem beschreibt, sondern auch noch die Freeware-Tools VCool für Windows und LVCool für Linux bereitstellt, die eine effektive CPU-Kühlung auch beim Athlon ermöglichen. Doch Achtung: Wie auch beim Einsatz von CPUCooL kann es aus den genannten Gründen je nach Systemkonfiguration zu Instabilitäten kommen - in diesen Fällen deinstalliert man die Software eben einfach wieder. (ciw)

[1] www.asuscom.de/de/support/techmain/FAQ/mobo_cpu/faq100_cooling.htm

[2] www.amd.com/products/cpg/athlon/techdocs/pdf/23614.pdf

[3] http://mpet.freeservers.com/VCool_de.html

Kommentare

Anzeige
Anzeige