Hier soll auf eine Methode zum Strom sparen mit AMD-CPUs und zur Temperatursenkung um bis zu 20°C eingegangen werden.

/!\ Es soll darauf hingewiesen werden, dass das Ganze sehr stark vom der Hardware und BIOS abhängt, d.h. z.B., dass auf einem bestimmten EPOX-Board mit dem setpci-Kommando das System zum sofortigen Stillstand gebracht wird. X-( Daher ist natürlich die Benutzung auf eigene Gefahr!

Vielen Dank an Daniel Nofftz (Verfasser der Original-HowTo) und Osamu Kayasono (dem Autor von athcool).

Für weitere Informationen siehe Links:

Links:

Hintergrund

Das HLT Signal welches vom normalen Idle-loop durch den Linux Kernel benutzt wird, bringt leider alleine keine große Energieeinsparung bei Athlon und Duron Prozessoren. Um eine wirkliche Energieeinsparung zu erlangen, muss man den Prozessor in den STPGNT (Stop Grant) Zustand versetzen. In diesem Modus wird der Prozessor vom FSB getrennt und der Energieverbrauch kann signifikant gesenkt werden.

Mini-Howto

Um AMD-Prozessoren in den wirklichen Idle-Zustand zu setzen, muss ACPI im Kernel aktiviert sein. Unter "General Setup" -> "Power Management Setup" -> "ACPI" müssen mindestens diese drei Punkte aktiviert sein:

Nach dem Kernel-Übersetzen müssen natürlich die Module geladen werden. Danach setzt man für verschiedene Chipsätze spezielle Bits mit folgendem Befehl: setpci -v -H1 -s 0:0.0 x=y

Zur Erklärung:

Es gibt zwar auch die Kurzform (siehe z.b. KT266 oder AMD760), aber es wird eigentlich nicht empfohlen, da man damit alle Bits im Register setzt - diese Bits werden aber auch durch z.b. das BIOS gesetzt, empfohlen wird den aktuellen Wert auszulesen und mit dem "Stromspar" Bit zu ergänzen und danach diesen Wert wieder zurück zuschreiben - hierdurch wird sichergestellt das wirklich nur ein Bit geändert wird.

Wenn setpci einen Fehler meldet oder seine kurz Hilfe anzeigt - ist höchstwahrscheinlich das eine (STPGNT) oder andere Bit (VLink Auto-disconnect) schon gesetzt.

Werte für die verschiedenen Chipsätze

AMD-751/761:

KX/KLE/KT/KM/KL/KN133[A]:

KT/KM/266/333[A]:

MSI K7T266Pro (MS-6380) (KT266):

KT400: (noch nicht ausgiebig getestet!)

!SiS730/733: (noch nicht ausgiebig getestet!)

SiS735 or later: (noch nicht ausgiebig getestet!)

Nforce:

Nforce2:

Auslesen der Werte

Ausgelesen werden können die Werte, indem man einfach den Wert weg lässt z.b.:

setpci -v -H1 -s 0:0.0 D5

Darauf hin gibt setpci den Wert eb zurück.

Programme

athcool (imho empfehlenswerter als die "setpci" Methode)

fvcool (unterstütz im Gegensatz zu athcool meinen Chipsatz)

Bekannte Probleme

Es gibt zwei bekannte Bugs im Athlon/Duron-Prozessor (Bug 11 und 14) näheres siehe AMD Athlon Processor Revision Guide. So wie es aussieht ist der Athlon XP davon nicht betroffen. :)

Aufgrund dieses Bugs können folgende Probleme auftreten:

Manchmal kann ein BIOS-Update helfen (Bug 11 kann dadurch behoben werden).

Beim "Asus A7V133-C" ist bekannt, dass die Option "PCI master read caching" die meisten Probleme behebt, wenn sie eingeschaltet ist.

Bei manchen Boards kann auch die Option "Delayed Transaction" manche Probleme lösen - muss man einfach ausprobieren.

/!\ Bei Boards mit dem KT133A Chipsatz kann die Option "Delayed Transaction" den berühmten VIA-Southbridge Bug aktivieren!

Hier noch ein UseNet-Post zu Problemen mit dem Asus A7V.

Ein weiteres Problem 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. Insbesondere ein Flackern der Anzeige auf dem Monitor wurde auf einigen Systemen beobachtet.

AMDPowerSaving (zuletzt geändert am 2007-12-23 22:45:17 durch localhost)