____foveon
_____fotografie_____infrared_____sonstiges_____

kontakt

artikel

stromsparen
handwerkszeug
standby
typ. Verbräuche


x100e - Undervolting-Anleitung mit RMClock
(Stand: Oktober 2013/Feb 2014)

 Um was geht es: Das Lenovo Thinkpad x100e ist ein Notebook, welches zumindest in der Doppelkern-Ausstattung (AMD K8 X2 alias 'Turion Neo X2 L625') sehr heiß wird und nach jahrelange intensiver Rechentätigkeit gerne aufgrund eines Mainboard-Schaden das Zeitliche segnet. Die Undervolting Anleitung ist jedoch auch auf die Einkern-Variante mit AMD 'Neo MV-40' sowie den Doppelkern AMD 'Athlon X2 Neo L335' übertragbar.

Um den Hitzetod des Laptop-Mainboards etwas hinaus zu zögern, kann man versuchen den Prozessor mit Unterspannung zu betreiben ('Undervolting'). Beim x100e ist dies schwierig, weil es dabei zu Abstürzen neigt. Hier soll ein Weg aufgezeigt werden, was man dabei beachten muss.

Das wichtigste vorweg: Bei zu großen Spannungsabsenkungen wird das System instabil werden und könnte im allerschlimmsten Fall auch z.B. auch eine Speicheradresse auf der Festplatte falsch ausrechnen und dadurch Dateien überschreiben. Die Durchführung der nachfolgenden Ausführungen erfolgt auf eigene Gefahr und ich empfehle ihnen vorher ein Backup ihrer wichtigten Daten anzulegen.

 Benötigte Software: 
- Lenovo Energie-Manager ('Powermanager')
- RMClock Utility
- Patch für 64-Bit Windows 7, Vista oder XP
- Orthos CPU Loader

 Schritt 1 - Erstellung eines Energie-Schemas: Öffnen sie den Lenovo Energie-Manager (/Powermanager) aus dem Installationsverzeichnis* mit Admin-Rechten**. Im sich öffnenden Fenster, schalten sie den Energiemanager dann in den 'Erweitert'-Modus (Abb. 1, oben rechts).
* auf meinem Rechner: C:\Program Files\ThinkPad\Utilities\PWMUI.EXE
** Rechtsklick auf die PWMUI.exe, dann 'Als Administrator ausführen'

Ansicht Energiemanager - Erstellen eines neuen Profils
Abb. 1: Im Energie-Manager wird ein neues Profil erstellt (ein Klick auf die Grafik öffnet ein neues Fenster).

 Im Reiter 'Energieschema' erstellen sie mit 'Neu' (1 in Abb. 1) ein neues Schema, in welchem sie die 'Maximale CPU Geschwindigkeit' für den Akku- und den Netzbetrieb jeweils auf 'Niedrigste' stellen. Den Rest der Einstellungen können sie nach Belieben wählen.
Wir werden den Prozessor später mit einer anderen Software steuern, diese Einstellung stellt sicher, dass der Energie-Manager sich dabei nicht einmischt. Er stellt beim Aufrufen des Profils die niedrigste Geschwindigkeit ein und hält sich ab da an raus.

 Schritt 2 - Installieren von RMClock und Orthos: RMClock wird später die CPU steuern, dh. dessen Taktrate und Versorgungsspannung der anliegenden Rechenlast anpassen. Sie können sich die Software im Internet frei herunterladen.
Sofern sie ein 64-Bit Betriebssystem (Windows XP, Vista oder 7) benutzen, ist noch ein kleiner zusätzlicher Patch von Nöten. Den können sie hier herunter laden.

'Orthos CPU Loader' ist ein Programm zur Erzeugung von CPU-Last und ebenfalls kostenlos. Beides muss installiert werden.

 Grundgedanke hinter RMClock: Normalerweise senkt man mit RM-Clock nur die Versorgungsspannung des Prozessors. Angenommen eine CPU kennt im Auslieferungszustand zwei Zustände:
- 0,8 GHz bei 0,8 V Spannung
- 1,6 GHz bei 0,95 V Spannung

Jeden 'Zustand', also die Kombination aus Taktrate und Spannung, nennt man P-state. Nun ist bei über 95 % aller ausgelieferten Prozessoren weder bei 0,8 noch bei 1,6 GHz die vom Hersteller angelegte Spannung wirklich notwendig. Mit RMClock kann man den Prozessor z.B. fest auf die spezifische Taktrate festlegen, den Prozessor mit einer Rechensoftware wie Orthos CPU Loader voll auslasten und dann die Spannung schrittweise von 0,95 V ausgehend absenken. Das macht man ebenso für die fest eingestellte 0,8 GHz Taktfrequenz.

Man senkt jeweils so weit ab, bis Orthos Rechenfehler meldet oder der Rechner abstürzt. Die Absturz-Spannungen notiert man sich, beispielsweise:
- Absturz bei 0,8 GHz bei 0,625 V Spannung 
- Absturz bei 1,6 GHz bei 0,800 V Spannung

Anschließend schlägt man auf die Absturz-Spannung noch einen Puffer auf (0,05 bis 0,075 V) auf, testet beide Lastzustände auch noch einmal im Akkubetrieb. Eigentlich immer läuft das System dann mit 0,700V@0,8GHz und 0,875V@1,6GHz sehr stabil. Anschließend richtet man das als Standardzustand ein und ist fertig. So ist es  zumindest im Normalfall, beim x100e ist das noch um einiges komplizierter:

 Problemfall Lastwechsel: Beim x100e ist weiteres Tuning notwendig. Auch wenn der Prozessor mit 0,8GHz@0,700V sowie mit 1,6GHz@0,875V stabil läuft, kann er trotzdem beim Hochschalten von 0,8 GHz auf 1,6 GHz abstürzen. Bei einigen x100e trat das Problem schon im Auslieferungszustand auf.

Wichtig ist daher die Einstellungen für den Lastwechsel festzulegen, der Prozessor darf keines Falls von 0,8 GHz gleich auf 1,6 GHz hochschalten. Nun ist jedes x100e ein wenig anders, das heißt die nachfolgend dargestellten Werte sind Erfahrungswerte, die bei mir selbst laufen, aber nicht 1:1 bei anderen laufen müssen.

RMClock einstellen

 Lastwechsel-Parameter: 

 Das Betriebssystem bzw. der Energie-Manager darf nicht an den CPU-Steuerung heran. Wird die CPU auch nur einmal abrupt auf die Maximalgeschwindigkeit von 1,6 GHz bei 0,95 V geschaltet, stürzt der Rechner ab.

Dazu muss, das 'OS power management' in RMClock eingeschaltet werden (ganz unten), ebenso muss ganz oben unter 'P-states transitions method' die Einstellung 'Perform single-step-transitions only' ausgewählt sein:

OS power management in RMClock einschalten

Weiterhin muss für jedes Profil, bei den OS-Settings als Powerplan das zuvor erstellte RMClock Profil eingestellt werden - damit funkt uns weder Windows noch die Lenovo Software dazwischen:

Ein Energieprofil des Betriebssystems muss für jedes RMClock Profil ausgewählt werden

 Umschalt-Parameter festlegen: Weiterhin sollte die CPU nur langsam von 0,8 GHz auf höhere Level schalten. Das stellt man unter den 'P-state transistions settings' ein. Die Werte sollte man nicht unnötig groß wählen, dies kann ansonsten kurzes Flackern auf dem Monitor zur Folge haben:

Die restlichen Einstellungen aus den 'Advanced CPU settings' sind nicht so überlegt gewählt:

Die Werte 'Clock-Power / timing settings' sollten sie 1:1 übernehmen.

Oben war als ACPI-state C0 ausgewählt, hier C2. Wobei ich nicht mehr weiß, ob die Abweichungen zu den Standard-Werten (sofern vorhanden) von Belang sind.

 Einstellen der Spannungswerte: Der Startzustand und die Spannungswerte werden unter 'Profiles' eingestellt. Als Start-Up wählen sie jeweils 'no management'! Weiterhin schalten sie folgende P-states frei, das geschieht jeweils über das Häkchen am linken Rand ('Index'):

0 mit 0,80 V Spannung  =>  800 MHz
3 mit 0,85 V Spannung  => 1100 MHz
6 mit 0,90 V Spannung  => 1400 MHz
8 mit 0,95 V Spannung  => 1600 MHz

Die eingestellten Spannungen entsprechen ca. den Herstellervorgaben.

 Erstellen der Profile: Nun erstellen wir noch die Profile. Man fängt mit dem 'Power saving' Profil an. Bei diesem wird der Prozessor fest mit einer geringen Taktrate betrieben. Mit diesem Profil kann man später auch gut die Spannungen testen.

Für AC-Power muss das Häkchen 'Use P-state transistions' aktiviert werden und anschließend kann genau einer jener P-states aktiviert werden, die wir zuvor frei geschaltet haben. Bei uns ist das der Index 0 (Multiplikator 4 und einer Spannung von bei ihnen 0,8 V).

RMClock speichert geänderte Einstellungen erst beim Beenden. Zwischenspeichern kann man mit einem Rechtsklick auf das Trayleistensymbol (unten rechts in Windows neben der Uhr) und anschließendem 'Restart Rightmark CPU Clock Utility'. Das sollten sie jetzt erst einmal machen.

 Absenken der Spannung bis zur Stabilitätsgrenze: Nun geht's an Experimentieren. Sie starten RMClock, aktivieren das 'Power saving'-Profil. Der Prozessor arbeitet jetzt fest mit 800 MHz bei 0,8 V Spannung. Anschließend starten sie Orthos und den darin enthaltenen Test 'Small FFTs - stress CPU'. Der wird ihrem Prozessor Beschäftigung verschaffen.

In RMClock können sie unter 'Monitoring' die Betriebsparameter der CPU dabei beobachten, das sieht später mit einem fertig erstellten Profil vielleicht so aus:

Zum Testen der Stabilität wählen sie den Punkt Profiles in RMClock aus und verändern die Spannung des aktiven P-states z.B. von 0,8000 V auf 0,7750 V. Lassen Orthos 20 Sekunden laufen und senken dann weiter ab. Irgendwann wird der Rechner abstürzen, den dabei eingestellten Spannungswert schreiben sie sich auf. Sie stellen ihn jedoch keinesfalls schon fest im RMClock ein (<- wichtig!).

Für die P-States darüber (1,1 GHz, 1,4 GHz & 1,6 GHz) nutzen wir das 'Performance on demand'-Profil (denken sie dran, unter OS Settings die Einstellung 'RMClock' zu verwenden!):

Hier aktivieren sie am Anfang bei ihnen nur die Powerstates 800 MHz und 1100 MHz. Dann starten sie RMClock neu (um die Änderungen zu speichern), aktivieren das Profil 'Performance on Demand' und starten Orthos, welches sie rechnen lassen.

Der Prozessor wird jetzt mit 1,1 GHz laufen. Anschließend senken sie die Spannung für den 1,1 GHz zustand wieder schrittweise bis zum Absturz und notieren die Absturz-Spannung. Das wiederholen sie auch noch für die zwei verbliebenen Taktraten von 1400 und 1600 MHz. Am Ende haben sie eine Tabelle:

0800 MHz - 0,65 V
1100 MHz - 0,725 V
1400 MHz - 0,750 V
1600 MHz - 0,800 V

Auf diese Spannungen schlagen sie 0,050 bis 0,075 V auf und stellen sie in RMClock ein. Anschließend sollte der Rechner stabil laufen. Da das Kühlsystem des x100e für den Doppelkern sehr knapp dimensioniert ist, ist es unter Umständen ratsam sich auf den Bereich von 800 bis 1400 MHz zu beschränken.

 Sporadische Abstürze bekämpfen: Erfahrungsgemäß wird sich der Rechner in den ersten Tagen hin und wieder einmal aufhängen. Die Ursache ist bei mir das Umschalten von einer niedrigen Spannung auf eine hohe. 

Wenn Stabilitätsprobleme auftreten sollten, heben sie zuerst die Spannungen bei 800 MHz und evtl. auch 1100 MHz an. Alternativ kann man zwischen z.B. 800 und 1100 MHz noch einen Zwischenschritt bei z.B. 900 MHz einfügen, um die Sprungweite zu reduzieren. Zwischen den P-states dürfen keine zu großen Spannungszustände auftreten.

 Verbrauchswerte: Was bringt das ganze? Nachfolgend gemessene Verbrauchswerte (gemessen an der Steckdose, also incl. der Verluste im Netzteil) des x100e mit verschiedenen Spannungszuständen unter CPU-Volllast:

Einstellung Verbrauch [W] - CPU Last auf beiden Kernen
1,6GHz@0,95V (Herstellerwert) 33,8 W
1,6GHz@0,875V 29,5 W
1,4GHz@0,825V 24,8 W
0,8 GHz@0,700V 17,6 W

Im Leerlauf spart man mit der Geschichte nicht sehr viel ein, aber für den Lastbetrieb ist der Unterschied markant.

Oktober 2013