Undervolting Beema & Co

BlaBlam

Lieutnant
★ Themenstarter ★
Mitglied seit
20.02.2009
Beiträge
67
Renomée
11
Standort
Dresden
Da ich endlich Urlaub und dem entsprechend etwas Zeit habe, habe ich mich gestern noch mal hingesetzt und Informationen zu diesem Thema gesucht und ein wenig herum probiert.
Und ja: ich habe tatsächlich eine Möglichkeit gefunden, die zu funktionieren scheint ;D

Meine Methode ist unausgereift. Ich bin schließlich Laie und habe mich nur oberflächlich damit beschäftigen können. Dementsprechend habe ich nur bedingt Ahnung von dem, was ich da getan habe und Poste das hier in der Hoffnung, dass noch irgendjemand interesse hat, das vielleicht auch zu Testen und zu verfeinern...

Bei mir geht es um einen A6-6310 verbaut in einem Lenovo G50-45.
Anstoß war für mich dieser Artikel: https://semiaccurate.com/forums/showthread.php?8453-Undervolting-Beema-Mullins-(A8-6410)

Die Informationen darin sind für mich etwas Unübersichtlich und schwer nachzuvollziehen. Da ich den etwas kleineren Prozi habe, wollte ich auch auf keinen Fall die dort angegebenen Werte übernehmen. Und auch vom Umgang mit RWEverything habe ich kaum Ahnung. Bei meiner weiteren Recherche bin ich schließlich auf folgenden Post gestoßen: https://www.hardwareluxx.de/community/f11/custom-cool-quiet-jetzt-auch-fuer-x6-prozessoren-711736.html
Lässt sich nicht eins zu eins auf den Beema anwenden, aber zumindest die Vorgehensweise bei RWEverything ist ganz gut beschrieben.

Habe das Ganze dann noch mit dem BIOS and Kernel Developer’s Guide zur Prozessorfamilie abgeglichen.
https://support.amd.com/TechDocs/52740_16h_Models_30h-3Fh_BKDG.pdf
Hab mich irgendwie schon ein wenig erschlagen gefühlt von diesem Schmöker ???
Jedenfalls findet man dort ab Seite 611 die Definition der P-States und en Aufbau der Register. Wenn ich das mal so mit den Angaben im Posting bei Hardwareluxx vergleiche, scheint sich seit dem X6 da gar nicht so viel verändert zu haben.

Jedenfalls habe ich wie dort beschrieben erstmal die Einträge für die P-States in RWEverything angelegt. Das kleine Tool, welches dort verlinkt ist um die Registereinträge zu erstellen, ist für den Beema aber leider nicht zu gebrauchen. Und ohne das weiß ich nicht, wie ich die entsprechenden Hex-Werte für die Spannung generieren soll :-/

Habe es deshalb mit der Idee von semiaccurate versucht und direkt die Bits für die coreVID (Bit 15 bis 9) verändert. Wie beschrieben: ein höherer Wert sorgt für eine niedrigere Spannung. Ich wollte es nicht übertreiben und habe in den einzelnen P-States nur Bit 9 erhöht - war bei mir jeweils eine 0 eingetragen, also auf 1 geändert.

Habe schließlich versucht, die Spannungsänderung dabei mit CPUZ zu überprüfen. Resultat: bei Änderung/Erhöhung der Binärwerte um diesen einen Schritt, geht die Spannung um 0,013 Volt zurück (Wahrscheinlich 12,5mV gerundet). Weiter habe ich es erstmal nicht getrieben - habe ja wirklich keine Ahnung, von dem was ich hier mache *buck*

Nun meine Fragen zur Thematik ^^
-Findet sich hier Jemand, der diese Methode validieren mag? Nicht dass mir CPUZ vielleicht Mist anzeigt...
-Findet sich jemand in der Dokumentation von AMD zurecht (evtl. gibts ja irgendwo noch einen Spannungsteiler oder so, dass man nicht mit den 13mV schritten arbeiten muss) oder weiß Jemand wie man direkt die Hex-Werte für die Spannungen generiert?

So Long
BlaBlam
 

BlaBlam

Lieutnant
★ Themenstarter ★
Mitglied seit
20.02.2009
Beiträge
67
Renomée
11
Standort
Dresden
War zu erwarten, dass die Resonanz verhalten sein wird - ist halt keine CPU-Serie, die auf sonderlich großes Interesse stieß :P

Habe die Sache heute mal noch etwas weiter getrieben und versucht meinen A6-6310 prime-stable zu undervolten. Bin bei folgenden Werten gelandet:

StandardundervoltedDifferenz
p0 2,4GHz@1,250V1,150V-0,100V
p1 2,2GHz@1,000V0,9125V-0,0875V
p2 2,0GHz@0,800V0,725V-0,075V
p3 1,8GHz@0,625V0,5625V-0,0625V
p4 1,6GHz@0,450V0,400V-0,050V
p5 1,4GHz@0,325V0,275V-0,050V
p6 1,2GHz@0,200V0,1625V-0,0375V
p7 1,0GHz@0,100V0,075V-0,025V

Kann man sicherlich noch weiter treiben - speziell bei den Turbostufen. Meine Werte für p0 bis p2 sind approximiert, da mir es nicht gelungen ist, diese pStates taktseitig zu fixieren.
Leistungsmäßig ergibt es kaum Änderungen (im Bereich von Messungenauigkeiten), aber ich bilde mir ein, dass es den Turbo etwas länger hält *suspect*

Laut CoreTemp sind die Temperaturwerte unter Last dafür 2°C geringer (bei den Sommerlichen fast 30° hier im Zimmer schon mal nicht schlecht). Und BatteryEater Meldet unter Last 10min mehr Laufzeit. Ist nicht die Welt, aber ich nehme es doch gern mit - die CPU ist halt von Haus aus schon recht sparsam :)

Sollte wider erwarten doch Interesse bestehen, fasse ich hier gern noch mal alle Infos zur Vorgehensweise in einem kleinen Tutorial zusammen...

So long
BlaBlam
 

BlaBlam

Lieutnant
★ Themenstarter ★
Mitglied seit
20.02.2009
Beiträge
67
Renomée
11
Standort
Dresden
habe heute herausgefunden, dass der PhenomMSRTweaker zu einem gewissen Grad auch mit dem Beema funktioniert - zumindest die VID-Werte stimmen überein.
Funktioniert aber leider nur für P0 bis P5. Die weiteren Pstates sind einfach nicht implementiert. Habe mir mal den Sourcecode angesehen. Was das betrifft, bräuchte man eigentlich nur die fehlenden States ergänzen, aber ich persönlich scheitere daran, die grafische Oberfläche entsprechend zu erweitern. Habe bisher halt nie mit Visual Studio gearbeitet und meine Vorlesung zum Thema C++ ist auch schon ein paar Monde her :-/
Sollte aber jemand die nötigen Skills haben, schätze ich mal, dass eine Programmanpassung mit wenig Aufwand umzusetzen wäre. Zumal der Autor den Code sehr übersichtlich aufbereitet hat...

--- Update ---

Und falls es jemand mit RWE testen will, hänge ich hier einfach mal die Batchdatei mit meinen Einstellungen an. Die Werte sollten konservativ genug sein, dass sie jeder 6310 verkraftet. Dateiendung von .txt auf .rw ändern und in RWEverything laden...
Sollte theoretisch auch mit einem 6410 klappen, da die Frequenzen die gleichen sind.
 

Anhänge

  • A6-6310_undervolt.txt
    1,3 KB · Aufrufe: 27
Oben Unten