Einleitung: Was ist Undervolting?
Übertakten (Overclocking) ist ein sehr beliebtes Mittel, die Leistung einer CPU zu steigern. Dabei werden meist sowohl Takt, als auch Kern-Spannung (VCore) des Prozessors angehoben. Das Anheben der Spannung ist nötig, damit der Prozessor trotz des erhöhten Takts weiterhin stabil läuft. So wird zwar mehr Leistung erzielt, aber auch der Stromverbrauch steigt an. Weiterer lästiger Nebeneffekt: Die CPU wird heißer und muss besser gekühlt werden.
Übertakten soll hier aber nicht das Thema sein. Vielmehr soll das genaue Gegenteil behandelt werden, denn was in die eine Richtung geht, geht auch in die andere Richtung: Absenken der Kern-Spannung und gegebenenfalls auch des CPU-Takts und damit verringern des Stromverbrauchs und der Wärmeentwicklung. Das Ergebnis: Ein leiserer und sparsamerer Computer bei gleicher Leistung. In den meisten Fällen kann nämlich die Kernspannung gesenkt werden, ohne dass die Taktfrequenz des Prozessors gesenkt werden muss.
Warum ist das überhaupt möglich, warum läuft eine CPU nicht von vornherein mit der niedrigst möglichen Taktfrequenz? Nun, dies liegt vereinfacht gesagt daran, dass keine zwei Prozessoren exakt gleich sind. Selbst wenn sie vom selben Band laufen können sie sich leicht voneinander unterscheiden. Der eine läuft vielleicht bei einer Spannung von einem Volt stabil, der andere aber erst ab 1,1 Volt. Auch Mainboard und Netzteil (PSU) spielen eine Rolle: Die CPU gibt vor, welche Spannungen sie benötigt, und Mainboard und PSU „versuchen“ diese möglichst exakt zu liefern. Hier kann es jedoch ebenfalls zu Schwankungen kommen.
Selbst die Kühlung von Prozessor und Computer haben Einfluss auf die benötigte Spannung: Je heißer die CPU, desto mehr Spannung ist nötig und je heißer der Computer an sich, desto größer können die Schwankungen in der gelieferten Spannung sein. Wegen all dieser Gründe wählen Hersteller wie AMD und Intel Spannungen für Ihre Prozessoren, mit denen diese garantiert funktionieren (zumindest in den meisten Fällen), frei nach dem Motto „Lieber zu viel, als zu wenig“.
Kurzum: Die Chancen stehen sehr gut, dass Sie den Stromverbrauch Ihres Prozessors durch Undervolting um einiges senken können. Um dies zu bewerkstelligen genügt das passende Programm. Es muss rein gar nichts an der Hardware des Computers verändert werden.
Stromsparen per Software
Was früher nur durch Umstecken von Jumpern auf dem Mainboard möglich war ist heutzutage problemlos per Software möglich: Das Anpassen der CPU-Kernspannung. Möglich wurde dies vor allem durch die Einführung von Stromsparmechanismen wie Cool’n’Quiet oder SpeedStep, die anfangs dazu gedacht waren, die Akkulaufzeit von Notebooks zu verlängern. Inzwischen sind solche Mechanismen längst auch in allen Desktop-CPUs zu finden.
Gemeinsam ist diesen Techniken, dass Prozessortakt und Spannung gesenkt werden, um Strom zu sparen. Dies muss im laufenden Betrieb des Computers und in Abhängigkeit der Auslastung des Systems geschehen. Das ganze muss also per Software geregelt werden, was im Normalfall die Prozessor-Treiber übernehmen.
Schnell folgten Programme findiger Entwickler, mit denen der Benutzer diese Einstellungen selbst vornehmen und steuern kann: Programme wie beispielsweise Notebook Hardware Control (NHC), RMClock und K10Stat erlauben es, Taktfrequenzen und VCore der CPU gezielt zu verändern und die automatische Steuerung durch den CPU-Treiber auszuhebeln.
In diesem Artikel soll es um das Undervolten von Phenom II Prozessoren gehen. Diese gehören zur K10-Reihe von AMD (Dazu gehören Phenom, Phenom II und neuere Opteron-Prozessoren). Tools wie NHC und RMClock unterstützen leider nicht die K10-Prozessoren. K10Stat hingegen schon: K10Stat erlaubt es, die Einstellungen für die so genannten PStates bei allen K10-CPUs zu verändern.
P-States sind verschiedene Zustände, in denen sich die CPU befinden kann. Für jeden PState kann eine Taktfrequenz und eine Kernspannung festgelegt werden, mit der die CPU in diesem Zustand betrieben wird. Der „alte“ Phenom hat nur zwei, der neue Phenom II hat vier P-States, welche im Fall des Phenom II 920 die folgenden Standard-Einstellungen haben:
- PState 0 – Takt: 2800 MHz, VCore: 1,35 Volt
- PState 1 – Takt: 2100 MHz, VCore: 1,25 Volt
- PState 2 – Takt: 1600 MHz, VCore: 1,15 Volt
- PState 3 – Takt: 800 MHz, VCore: 1,05 Volt
Ab einer bestimmten Prozessor-Auslastung wird in den nächst höheren beziehungsweise nächst niedrigeren P-State gewechselt. So verbraucht die CPU weniger Strom, wenn sie nicht viel rechnen muss, da sie dann mit nur geringer Taktfrequenz und niedriger Spannung betrieben wird. Muss viel gerechnet werden, dann wird hochgetaktet und die Spannung entsprechend erhöht, damit der Prozessor weiterhin stabil läuft.
Im folgenden werden wir K10Stat dazu benutzen, die CPU-Spannung der einzelnen P-States abzusenken, denn die viele Phenom II CPUs laufen auch mit deutlich weniger Spannung als der vorgegebenen, und das bei gleicher Taktfrequenz. Garantien gibt es hierfür allerdings nicht. Ob und wie weit die Spannung abgesenkt werden kann ist von CPU zu CPU unterschiedlich.
Sonstige Tools
Zunächst einmal wird selbstverständlich K10Stat benötigt. Das Programm kann unter http://www.geocities.com/k10stat/ (offline) heruntergeladen werden (in diesem Artikel wird Version 0.91 verwendet). Aber nebst K10Stat, zum Anpassen der P-States, werden auch noch weitere Programme benötigt:
- Prime95 – Mit diesem Programm kann die CPU einem Stresstest unterzogen werden. So lässt sich testen, ob der Prozessor mit den eingestellten Werten stabil läuft. Eine zu niedrige Spannung kann unter Last zu Rechenfehlern und sogar kompletten Systemabstürzen führen. Beim Herantasten an den optimalen VCore-Wert sind Blue-Screens keine Seltenheit. Prime95 gibt es hier: http://www.mersenne.org/freesoft/. Achten Sie darauf, die für Ihr Betriebssystem passende Version herunterzuladen (32 bzw. 64Bit).
- CPU-Z – CPU-Z zeigt detaillierte Informationen über den Prozessor Ihres Systems an. Darunter auch die „reale“ momentane Kernspannung. Dieses Tool ist nützlich um festzustellen, wie weit die „gewünschte“ Spannung von der „realen“ abweicht. Dazu später mehr. CPU-Z kann hier heruntergeladen werden: http://www.cpu-z.de
- CoreTemp – CoreTemp ist nützlich um zu überprüfen, mit welchen Einstellungen der Prozessor gerade läuft, da Es Eingestellten Takt und VID anzeigt. So kann überprüft werden, ob die mit K10Stat eingestellten Änderungen übernommen wurden. Außerdem zeigt es die momentane Temperatur der CPU an. CoreTemp kann hier heruntergeladen werden: http://www.alcpu.com/CoreTemp/
Undervolting Schritt für Schritt
Bevor es los geht sollten Sie alle benötigten Programme heruntergeladen und entpackt haben. Keines der Tools muss extra installiert werden. Wohin, das ist relativ egal, lediglich K10Stat sollte an einen Ort gespeichert werden, wo es dauerhaft bleiben kann, schließlich soll es dauerhaft Strom sparen. Ist das erledigt, kann es auch schon fast los gehen.
Wichtigste Voraussetzung für die Art des Undervolting: Cool’n’Quiet muss im BIOS Ihres Computer aktiviert sein und es darf nicht Maxmimale Leistung als Energie-Schema unter Windows gewählt sein (in diesem Schema wird Cool’n’Quite deaktiviert). Erst dies ermöglicht die Verwendung mehrerer P-States. Wo in den BIOS-Einstellungen die entsprechende Option für Cool’n’Quiet zu finden ist, steht im Handbuch des Mainboards. Es sollte aber auch ohne nicht allzu schwer zu finden sein.
1. Das erste und wichtigste: Starten Sie K10Stat. Wie alle anderen Programme auch benötigt K10Stat Administratorrechte. Unter Vista heißt es also Zugriff bestätigen.
2. Öffnen Sie in K10Stat den Reiter P-state. Hier finden Sie im Kasten QnC (was für Cool’n’Quiet steht) alle vier P-States des Prozessors aufgelistet und hier können diese auch bearbeitet werden. Auch die Taktfrequenzen für die einzelnen PStates können verändert werden, hier soll es aber lediglich um die CPU Voltage gehen.
3. Bevor es ans Ändern der Spannungen geht muss nun Prime95 gestartet werden. Beim Start können Sie einen Torture-Test auswählen. Markieren Sie die Option In-Place Large FFTs und bestätigen Sie mit OK. Dies startet einen (dauerhaften) Berechnungsvorgang, der maximale CPU-Last auf allen Kernen verursacht. Hiermit kann im Folgenden überprüft werden, ob die CPU bei der gewählten Spannung noch stabil läuft. Prime95 können Sie die ganze Zeit im Hintergrund laufen lassen. So lange Sie es nicht beenden, wird es rechnen und rechnen.
4. Ihr Prozessor sollte nun mit 100% Auslastung und voller Taktfrequenz laufen. Um genau herauszufinden, mit welcher Frequenz und welcher Last die einzelnen Kerne laufen, können Sie CoreTemp verwenden. Hier können Sie auch sehen, mit welcher Spannung der Prozessor gerade versorgt wird. Angezeigt wird aber nur die VID (Voltage ID). Diese gibt nur an, welche Spannung die CPU gerne hätte, die reale Spannung kann von dieser abweichen.
Für die einzelnen PStates können in K10Stat ebenfalls nur diese VIDs angegeben werden. Welche Spannung wirklich bei der CPU ankommt hängt unter anderem von den Spannungswandlern auf dem Mainboard und dem verwendeten Netzteil ab. Außerdem kann sie die reale Spannung mit der Zeit verändern, wenn die einzelnen Komponenten immer heißer werden. Dies ist ein weiterer Grund, warum es von PC zu PC unterschiedlich ist, mit welcher minimalen VID eine CPU stabil läuft. Um sich ein Bild von der realen Spannung und deren Schwankungen zu machen, können Sie CPU-Z verwenden: Das Tool zeigt im Gegensatz zu CoreTemp die tatsächliche Spannung an, mit der die CPU gerade versorgt wird, sofern diese ausgelesen werden kann.
VID und BIOS – Viele Mainboard erlauben die Anpassung der CPU-Spannung per BIOS. Wenn Sie hier bereits Änderungen vorgenommen haben, dann sind alle VIDs entsprechend „verrutscht“. Haben Sie beispielsweise die Standard-CPU-Spannung per BIOS um 0,1 Volt erhöht, dann sind auch die Spannungen aller VIDs um 0,1 Volt höher als angegeben. Bei einer VID von 1,2 Volt würde die CPU also mit 1,3 Volt versorgt.
5. Zurück zum Undervolting. Wechseln Sie gegebenenfalls jetzt wieder zu K10Stat. Wir beginnen das Undervolting beim höchsten P-State: Markieren Sie im Kasten CnQ den P-State P0 und klicken Sie dann auf alle Buttons daneben. Diese sollten mit der Taktfrequenz für diesen P-State beschriftet sein. Im Fall des Phenom II 920 steht dort 2800. Das Anklicken der Buttons schaltet den Prozessor in diesen P-State sobald Sie auf Übernehmen klicken. Dies ist vor allen in den folgenden P-States wichtig, damit die CPU im gewählten P-State getestet werden kann, und nicht aufgrund der Auslastung von Prime95 immer in die höchste Geschwindigkeit schaltet.
6. Passen Sie nun unter CPU Voltage die Spannung an. Der Standardwert des Phenom II 920 im P-State P0 ist 1,350 Volt. Stellen Sie nicht gleich eine wesentlich niedrigere Spannung ein, sondern tasten Sie sich langsam vorwärts. Klicken Sie auf Übernehmen, nachdem Sie die neue Spannung gewählt haben. Wenn die Einstellungen übernommen wurden, sollte die eingestellte Spannung auch in CoreTemp angezeigt werden.
7. Jetzt heißt es abwarten, ob der Rechner weiterhin stabil läuft. Je niedriger die gewählte Spannung, desto länger sollten Sie abwarten und überprüfen, ob der PC noch immer vernünftig arbeitet. Sie können gerne nebenbei andere Dinge am Computer machen, aber bitte nichts Wichtiges, da er jederzeit abstürzen könnte. Haben Sie das Gefühl, alles läuft stabil, dann wiederholen Sie Schritt 6 so lange, bis der Computer instabil wird. Bevor Sie zum nächsten P-State wechseln, sollten sie selbstverständlich mindestens auf die letzte stabile Spannung zurückstellen, besser noch eine Stufe weiter zurück. Sicher ist sicher.
8. Ist das Spiel für einen P-State fertig, dann heißt es zurück zu Schritt 5 und mit dem nächsten P-State weitermachen. So lange, bis für alle P-States die optimale CPU Voltage gefunden wurde. Danach können Sie K10Stat mit OK schließen. Die Einstellungen bleiben auch dann aktiv, wenn das Programm nicht mehr läuft, wovon Sie sich jederzeit mittels Core Temp überzeugen können.
K10Stat automatisch ausführen
Das schöne an K10Stat ist, dass das Programm nicht ständig im Hintergrund laufen muss. Es genügt K10Stat einmal zum Start auszuführen und so die eingestellten Werte für die PStates setzen zu lassen. Danach bleiben diese bis zum nächsten Start des Computer bestehen. Dazu kann das Tool mit folgenden Parametern aufgerufen werden:
K10Stat.exe -loadprofile:1 -nowindow
Dies startet K10Stat, setzt die Werte aus Profil 1 und beendet es danach sofort wieder. Dabei wir das Fenster des Programms nicht angezeigt. (Weitere Startparameter und deren Bedeutung finden Sie in unserer Referenz zu K10Stat).
Unter XP genügt es, eine Verknüpfung zu K10Stat mit den obigen Startparametern in den Autostart-Ordner zu packen, oder einen entsprechenden Autostart-Eintrag in der Registry einzutragen. Unter Vista wird es ein wenig komplizierter (zumindest bei eingeschalteter UAC), da das Programm Administrator-Rechte benötigt. Ein weiteres Problem ist, dass die PState-Einstellungen zurückgesetzt werden, wenn der Computer aus dem Standby geweckt wird. Für UAC und Standby ist die Lösung die Aufgabenplanung.
K10Stat Autostarter
Statt die Autostart-Aufgabe manuell anzulegen können Sie auch unser Tool K10Stat Autostarter dazu verwenden. Noch befindet sich das Programm allerdings in der Beta-Phase.
1. Starten Sie die Aufgabenplanung von Vista, zum Beispiel indem Sie das Startmenü öffnen, aufgabenplanung in das Suchfeld eingeben und das entsprechende Suchergebnis anklicken. Ansonsten ist die Aufgabenplanung unter Systemsteuerung / System und Wartung / Verwaltung / Aufgabenplanung zu finden.
2. Klicken Sie unter Aktionen auf den Punkt Einfache Aufgabe erstellen.
3. Geben Sie einen Namen für die Aufgabe ein, zum Beispiel K10Stat, und klicken Sie dann auf Weiter.
4. Wählen Sie als Aufgabentrigger die Option Beim Start des Computers und klicken Sie wieder auf Weiter.
5. Wählen Sie als Aktion den Punkt Programm starten und klicken Sie auf Weiter. Geben Sie als Programm die K10stat.exe an. Hierzu sollten Sie auf Durchsuchen klicken und dann die Datei K10Stat.exe suchen und auswählen. Geben Sie dann in das Feld Argumente hinzufügen „-loadprofile:1 -nowindow“ ein (ohne die Anführungszeichen!). In das Feld Starten in (optional) muss das Verzeichnis eingegeben werden, in dem sich K10Stat befindet (Dies am besten aus dem Eingabefeld Programm/Skript kopieren. Dabei aber die Anführungszeichen nicht mitkopieren! Erzeugt das Ausführen der Aufgabe die Fehlermeldung Der Verzeichnisname ist ungültig (0x8007010B), dann kann das an Anführungszeichen in diesem Feld liegen. Ans Ende des Pfades sollte außerdem ein abschließender Backslash!).
6. Klicken Sie nocheinmal auf Weiter, markieren Sie dann die Option Beim Klicken auf „Fertig stellen“, die Eigenschaften dieser Aufgabe öffnen und beenden Sie dann den Assistenten mit einem Klick auf Fertig stellen.
7. Öffnen Sie in den Eigenschaften der neuen Aufgabe den Reiter Allgemein (sollten die Eigenschaften nicht automatisch geöffnet worden sein, können Sie diese mit einem Doppelklick auf die Aufgabe öffnen). Aktivieren Sie hier die Optionen Unabhängig von der Benutzeranmeldung ausführen und Mit höchsten Privilegien ausführen.
Was ist mit den Parametern ClkCtrl und StayOnTray? – Das Ausführen unabhängig von der Benutzeranmeldung funktioniert nur dann, wenn K10Stat ohne die Startparameter „-ClkCtrl:1“ oder „-StayOnTray“ ausgeführt wird, welche in diesem Artikel nicht behandelt werden. (Beide finden Verwendung, wenn K10Stat das Schalten zwischen den PStates übernehmen soll. Für das reine Anpassen der Spannungen und Taktfrequenzen ist dies allerings nicht nötig.) Soll K10Stat mit diesen Parametern über die Aufgabenplanung gestartet werden, dann muss als Aufgabentrigger (Schritt 4) die Option „Bei Anmeldung“ gewählt werden und es darf in Schritt 7 nicht die Option „Unabhängig von Benuzteranmeldung ausführen“ aktiviert werden.
8. Wechseln Sie nun auf den Reiter Trigger und klicken Sie auf Neu. Wählen Sie aus der Drop-Down-Liste Aufgabe starten den Punkt Bei einem Ereignis aus. Unter Protokoll muss System und unter Quelle muss Power-Troubleshooter ausgewählt werden. Geben Sie dann als Ereignis-ID den Wert 1 an. Das so eingestellte Ereignis wird immer dann ausgelöst, wenn der Computer aus dem Standby aufgeweckt wird. So werden auch nach dem Standby die optimierten PStates durch K10Stat geladen.
9. Übernehmen Sie den neuen Trigger mit OK und speichern Sie die Einstellungen für die Aufgabe danach ebenfalls mit OK. Sie werden nun noch nach einem gültigen Benutzernamen und Passwort gefragt, die zum Ausführen des Programms verwendet werden. Hierbei muss es sich um ein Benutzerkonto mit Administratorrechten handeln. Achten Sie darauf sowohl Benutzernamen, als auch Passwort richtig einzugeben (dem Benutzernamen muss der Computername gefolgt von einem Backslash vorangestellt sein, z.B. Computername\Benutzer). Am besten wählen Sie den passenden Benutzer aus der Liste der verfügbaren Benutzer aus. Danach können Sie den Aufgabenplaner schließen.
Durch die so angelegte Aufgabe wird K10Stat immer beim Systemstart (noch vor der Benutzeranmeldung) ausgeführt und auch nach dem Aufwecken aus dem Standby. Ihr System läuft somit jederzeit mit den optimierten PState-Einstellungen. Sollten Sie sich einmal nicht sicher sein, ob dies wirklich der Fall ist, dann können Sie beispielsweise CoreTemp dazu verwenden, dies zu überprüfen.
Warum wird Clock Control Disabled in K10Stat angezeigt? – Dass K10Stat Clock Control Disabled anzeigt heißt nicht, dass die Undervolting-Einstellungen nicht angewendet werden. K10Stats Clock Control ist eine Alternative zum original Cool’n’Quiet und kann beispielsweise dann verwendet werden, wenn letzteres nicht funktioniert. Es hat keinerlei Einfluss auf die P-State-Einstellungen und wird bei aktivem Cool’n’Quiet fürs Undervolting nicht benötigt. Die Clock-Control-Funktion wird Thema einer anderen Anleitung.
K10Stat bei nur einem Benutzer und automatischer Anmeldung ausführen
Bei HTPCs mit Vista Home Premium hat man meist nur einen Benutzer ohne Passwort, der beim Start des Computers automatisch angemeldet wird. In diesem Fall funktioniert die obige Anleitung nicht, da hier ein Benutzer mit Passwort benötigt wird, damit K10Stat schon vor der Anmeldung eines Benutzers gestartet werden kann (und auch unabhängig davon, welcher Benutzer sich anmeldet). Mit nur einem Benutzer und automatischer Anmeldung genügt es aber völlig, wenn die Aufgab bei Anmeldung dieses einen Benutzers ausgeführt wird. Die Vorgehensweise ist die selbe wie oben beschrieben, bis auf folgende Änderungen:
4. Statt des Triggers Beim Start des Computers muss hier der Trigger Bei der Anmeldung ausgewählt werden.
7. Statt der Option Unabhängig von der Benutzeranmeldung ausführen ist die Option Nur ausführen, wenn der Benutzer angemeldet ist zu wählen. Mit höchsten Privilegien ausführen muss aber trotzden aktiviert werden.
Alle anderen Schritte bleiben gleich.
K10Stat hat noch einige Funktionen mehr zu bieten, als die hier beschriebenen. Fürs Erste soll die Absenkung der Kernspannung aber genügen. Mehr gibt’s vielleicht in einem späteren Artikel.