Blog Alkis Blog #44 - Hilfe! 1,5 Volt!

Incredible Alk

Moderator
Teammitglied
Nach langer Wartezeit ist es endlich wieder so weit: Eine neuer „Fullnode“ in der Fertigung von Hochleistungsmikrochips ist im Endkundenmarkt angekommen, namentlich die 7nm-Fertigung von TSMC in Form der Ryzen 3000 CPUs. Ich möchte nun ganz bewusst das Thema „tatsächliche Strukturgrößen gegen Namensschemata“ ausklammern, das wird auf verschiedensten Seiten ausführlich behandelt. Es geht hier – wie in vielen meiner Blogs – wieder darum, ständig wiederkehrende Fragen aus der Community etwas ausführlicher zu behandeln um mir selbst die Arbeit zu ersparen Dinge immer wieder neu zu erklären… ich verlinke nur noch hier hin (gibs zu – du bist einem solchen Link gefolgt, oder…? ;-)).

AMD hat bei seinen neuen Ryzen 3000ern nicht nur eine neue Fertigungstechnik genutzt sondern auch den grundlegenden Aufbau von Endkundencpus geändert – statt eines Chips sitzen im CPU-Package ein I/O-Chip und einer oder mehrere Chiplets die die eigentlichen Kerne enthalten. Der I/O ist dabei noch in 12nm gefertigt, die neue 7nm-Klasse findet sich in den Chiplets. All diese Neuerungen haben so manche „Kuriositäten“ zur Folge, über die viele User stolpern bzw. sich wundern oder gar Angst haben weil man gewisse Dinge so nicht gewohnt war – ein Beispiel ist die Überschrift dieses Blogs, dazu gleich mehr.

Neben der Fertigungstechnik und dem Chipaufbau bietet die neue CPU-Generation noch einige anderen Änderungen die vielleicht weniger revolutionär sind aber durchaus weitere Fragen aufwerfen können, darunter die extrem ausgefeilte Boostmethodik. Ich will nun hier keine Abhandlungen schreiben was wie warum im Detail funktioniert (auch das können andere Seiten besser), aber durchaus einige Dinge für Anfänger verständlich erklären die regelmäßig nachgefragt werden weil AMD sie anders handhabt als Intel es seit 10+ Jahren so tut. Also los geht’s, zurück zur Übershrift:


„Mein Ryzen läuft mit 1,5v! Ist das nicht viel zu viel?!“

Ja und nein.
Eins vorneweg: 1,5v ist von AMD als Maximalspannung vorgesehen und im gewollten und normalen Bereich. Dennoch würde es einen Ryzen 3000 in harte Bedrängnis bringen (sowohl was Hitze als auch Verschleiß angeht) wenn er bei 1,5v und großer Last laufen würde. Um die Hintergründe zu verstehen müssen wir etwas ausholen.

Betriebsspannung (Volt) ist, entgegen der landläufigen Meinung vieler User, NICHT das, was CPUs umbringt oder Wärme erzeugt. Letztere Dinge werden vom Stromfluss (Ampere) erzeugt. Je mehr Strom fließt desto belastender ist es für die Leitung und desto heißer wird diese – ganz simpel wie in einer Glühbirne. Natürlich steigt der Stromfluss an wenn man die Spannung erhöht (sowohl in der Glühbirne als auch in der CPU), die Spannung selbst ist aber nicht der „Böse“. Denn wie viel Spannung gebraucht wird um einen gewünschten Stromfluss zu erzeugen ist vom elektrischen Widerstand des Bauteiles abhängig – auch hier bei der Glühbirne genau wie bei der CPU. Eine Glühbirne, die für 12V ausgelegt ist (etwa Autolampen) überlebt die 230V einer Steckdose keine Sekunde, die Haushaltsbirnen (wer sie noch kennt…) würden bei 12V nicht mal leuchten – der Grund dafür ist, dass die 12V-Lämpchen einen viel geringeren (Innen-)Widerstand haben und der entstehende Stromfluss das entscheidende Kriterium dafür ist, ob der Draht in der Birne brennt, nicht brennt oder gar durchbrennt. Genau so ist das bei CPUs auch.

Ryzen 3000 hat nun aufgrund seines Designs aus mehreren Chips und Verdrahtungen dazwischen schon einen grundsätzlich etwas höheren Widerstand verglichen mit beispielsweise aktuellen intel-CPUs die nur aus einem Einzelchip bestehen. Folglich erzeugen die gleichen Spannungen in einem Ryzen geringere Stromstärken als in einem Intel. Oder anders gesagt: Wo ein Ryzen 3700X mit 1,4v noch weniger ein Problem hat ist ein 9900K schon stark am schwitzen. Das ist keinerlei Wertung in irgendeine Richtung, es sind einfach verschiedene elektrische Eigenschaften verschiedener Chips. Für einen Chip A 1,4v viel, für einen Chip B nicht. Genau wie für eine Glühbirne A 230V tödlich sind, für eine Glühbirne B normal. Das gilt es zu verstehen.

Dennoch: Wie oben schon erwähnt hätte auch ein 3700X mit 1,5v Spannung unter voller Last ein großes Problem. Denn der Stromfluss (was die wichtige Größe ist) hängt nicht nur von der Spannung und dem Chipwiderstand ab sondern auch wesentlich davon, wie hoch die Last ist oder anders gesagt wie viele Transistoren wie oft schalten müssen (denn jeder Schaltvorgang bedingt einen Stromfluss).
Vergleichen wirs wieder mit der Glühbirne und bauen einen Schalter an die Fassung. Wenn wir die Birne einschalten fließt Strom, die Birne wird hell und heiß. Das ist der Lastzustand. Schalten wir sie ab fließt kein Strom und es wird nichts hell oder heiß. Das ist der Idlezustand. Die 230V liegen wohlgemerkt immer noch an!

Eine CPU reagiert genauso – nur kann sie extrem schnell an und ausschalten. Bedeutet so lange die CPU nicht schalten muss (nichts zu tun hat) fließt auch (fast) kein Strom und Abwärme und Verschleiß sind (fast) Null – trotz hoher Spannung. Halbleiterchips sind zwar hier nicht so simpel wie Glühbirnen (daher das „fast“ in den Sätzen davor), aber um das Prinzip zu verstehen reicht die Analogie vollkommen.

Fairerweise sei erwähnt, dass das nicht beliebig weit getrieben werden kann – genau wie ein Blitz durch den Schalter schlägt wenn man Zehntausende Volt an die Glühbirne anlegt und sie zerstört wird auch ab einer gewissen Spannung (geschätzt im 2V-Bereich) eine aktuelle CPU „durchschlagen“ auch wenn keine Last anliegt. Also bitte nicht ausprobieren. ;-)

Warum hat ein 3700X mit 1,5v unter Last jetzt ein Problem? Ganz einfach – wenn hohe Last anliegt muss so oft „angeschaltet“ werden, dass die Lampe auf Dauer zu heiß würde oder durchbrennt. Warum man überhaupt dann so hohe Spannungen einsetzt hat einen weiteren Grund. Bis hierher alles verstanden? Gut – dann gehen wir einen Schritt weiter.

Bleiben wir mal beim 3700X. Der hat nun nicht nur einen Kern sondern ganze acht Stück. Bauen wir unser Gedankenexperiment aus: 8 Glühbirnen statt nur einer und an jeder Birne noch ein Potentiometer (Drehknopf zur Spannungseinstellung). Sagen wir zusätzlich, jedes Birnchen hätte 10W – ich weiß das ist nicht sonderlich hell (wer will darf statt Birnchen LEDs verwenden, dann IST es hell), passt aber ganz gut weil auch ein einzelner Kern des 3700X etwa 10W verbrauchen darf. Nun könnte man sagen: Jedes Birnchen (Kern) darf 10W verbrauchen, bei 8 Stück sind das 80W, mehr gibt das Stromkabel/Netzteil auch nicht her bzw. darüber schaltet es ab. Das würde funktionieren. Die CPU würde sich unter Last im Bereich von sagen wir 4 GHz und vielleicht 1,25v bewegen, unsere Birnchen leuchten alle und alle wären glücklich. Wirklich?

Naja… was würde passieren, wenn eine Anwendung nur zwei Kerne benutzen kann oder unser Beleuchter nur zwei Glühlampen anschalten würde statt allen? Richtig – 10W pro Kern/Birne, wieder 4 GHz und zwei leuchtende Birnchen, Verbrauch: 20W. Und der ganze Rest von dem Zeug ist genau wie die verbleibenden möglichen 60W nutzlos. Was macht man also? Naja, wenn nur zwei Kerne/Birnchen arbeiten könnte man die doch ein bisschen mehr aufdrehen, oder? Gib den Kernen halt 1,4v und ein paar Hundert MHz mehr und dreh den Regler am Birnchen das leuchten soll mehr auf. Siehe da, die beiden Einzelkerne werden schneller und die Birnchen heller während alle anderen Kerne/Birnchen aus sind. Das ist der Singlecore-Boost.

Und jetzt kommt das Problem: Das machen die nicht lange mit. Eine solche „Überlast“ lässt Birnchen wie Kerne auf Dauer durchbrennen. Bedeutet die Maximalspannung darf nur dann genutzt werden wenn die Last (--> Stromfluss) nicht allzu hoch ist oder ums auf die Birne zu beziehen sie nicht allzu oft/lange eingeschaltet ist. Und deswegen wäre es ein sehr ernstes Problem wenn man beispielsweise von Hand die 1,5v einstellt und auf alle Kerne/Birnchen volle Last gibt – denn erstens ist das mehr als die einzelnen Kerne/Birnen dauerhaft aushalten und zweitens ist das wenn alles gleichzeitig an ist viel mehr Leistung als die 80W die eigentlich erlaubt sind.

Was ist nun das Resultat dieser ganzen Geschichte?
Einfach ausgedrückt: Um die maximal mögliche Leistung einer solchen CPU (oder Glühlampenanordnung) in jedem möglichen Szenario erreichen zu können muss man sich sehr genau überlegen, welchen Kern (Birne) man wann mit welcher Spannung wie hoch getaktet (hell) betreibt ohne dass was kaputt geht oder man Spezifikationen verletzt.

Und genau das macht ein 3700X in unvorstellbarem Ausmaß. Die CPU verfügt über Hunderte von Sensoren, die ständig für alle Kerne (und Stellen dazwischen) überwachen, wie Spannung, Stromfluss, Temperatur, Leistungsaufnahme, Lastzustand usw. gerade aussehen und leitet daraus ab, welche Parameter wie verändert werden müssen um am Optimum zu arbeiten innerhalb der gesetzten Parameter (beispielsweise maximal 88W Stromverbrauch und maximal 95°C Kerntemperatur). All das passiert ungefähr ein Mal pro Millisekunde (!), also viel schneller als irgendwelche Tools das anzeigen könnten. Diese ganze Regelungstechnik ist extrem ausgefeilt und in 99% der Fälle deutlich besser als manuell eingestelltes OC (der Inhalt des Blogs Nummer 42) ist also relevanter als je zuvor). Dass hierbei Extremwerte wie 1,5v oder auch mal 0,2v erreicht werden können erscheint zwar auf den ersten Blick seltsam, ist aber so gewollt und ungefährlich.


Die genannten 0,2v sind ein weiteres Phänomen das so bisher nicht bekannt ist. Manch einer mag wissen, dass moderne CPUs einzelne Kerne die nicht gebraucht werden in einen Tiefschlafmodus („C6 Deep Sleep State“) versetzen können, um möglichst wenig Strom zu verbrauchen. Das ist von Intel beispielsweise bekannt, dass CPUs beim nichtstun irgendwo bei 0,7v herum schlafen – das ist verglichen mit unseren Glühbirnen so, als würde man den Potentiometer ganz klein drehen und die Lampe nur noch minimal glimmt. Der Verbrauch geht dann auf weniger als 1W zurück. Tolle Sache, oder?

Ryzen geht noch einen Schritt weiter – durch sogenanntes „PowerGating“ kann die CPU einzelne Kerne ganz abschalten. Also den Schalter vor dem Potentiometer abschalten! Die Glühbirne geht aus und verbraucht genau 0 Watt. CPUs sind leider nicht so ideal wie Glühbirnen – dennoch liegt der Verbrauch eines abgeschalteten Kerns bei einer Handvoll Milliwatt (!). Eine kleine Restspannung (eben die 0,2v) sind nötig um den Powergate-Status so stabil zu halten und auch die Möglichkeit zu haben, den Kern wieder anzuschalten aber auch hier – alles völlig normal und gewollt. Probleme gibt’s da nur noch mit vielen Tools. Denn diese Technik ist neu und unbekannt für die Programme: Ist ein Kern abgeschaltet fragt das Programm dennoch „wie hoch ist dein Takt und deine Spannung gerade?“ Nun hat die CPU zwei Möglichkeiten:
1.) Den Kern aufwecken und die Anfrage beantworten – was dann wieder zig MHz und viel Spannung anzeigt weil der Kern ja aufgeweckt wurde (übrigens besonders unpraktisch weil viele Tools ständig solche Anfragen schicken und Kerne dann nie zum abschalten kommen…)
2.) Den Kern nicht aufwecken und die Anfrage nicht beantworten. Dann weiß das Tool nicht was es tun soll und zeigt den Wert weiter an, der im besagten Speicherbereich noch drin ist (= vor dem abschalten) und natürlich falsch ist.

Diese Problematik wird von den Toolherstellern in kommenden Versionen sicherlich berücksichtigt werden, aktuell ist aber der Ryzenmaster von AMD das einzige Programm, das dieses Verhalten versteht und korrekte Werte sowie abgeschaltete Kerne („Ruhezustand“) anzeigen kann.


So, ich hoffe mal zumindest die Angst vor den 1,5v ist jetzt Geschichte und es ist etwas klarer geworden, wie die Ryzen 3000 CPU-Technik insbesodnere hinsichtlich ihrer Boosttechniken funktioniert. Wenn Dinge noch unklar sind – da unten kann man sich auslassen und eine PN-Funktion (die potentiell schneller beantwortet wird als Blogkommentare…) gibt’s ja auch noch.
 
Uff, da war ich mal im Urlaub und hab deinen neusten Blog nicht gelesen :D
Um deinen Kommentar aus dem ersten Absatz zu beantworten: Nein, ich bin aus freien Stücken hergekommen, ohne Verlinkung. Aber mal sehen, vielleicht sehe ich den Artikel hier demnächst häufiger mal verlinkt.
 
Hmm, eine Kleinigkeit finde ich unstimmig. Der Tod durch Elektromigration geschieht doch nicht nur durch Hitze, sondern wurde ab dem 130-nm-Prozess des Northwood auch bei kompressorgekühlten CPUs beobachtet. Halt entsprechend später. Kann natürlich auch nur mit den Strömen zusammenhängen. Aber ich kann mir auch irgendwie nicht so recht vorstellen, dass die Spannung gar keine direkte Auswirkung hat, die sollte doch immerhin bestimmen, mit welchem Nachdruck sich die Elektronen im Leiter bewegen. Oder bewegen sich Elektronen bei halbwegs normalen Spannungen immer kollisionsfrei, solange es nicht zu viele sind? Ich bin da kein Spezialist. Und wenn halt bei den Spannungen entsprechend wenig Strom fließt, klingt es auch stimmig, dass sich hohe Spannung und niedriger Strom ausgleichen. Wobei ja eher nicht wenig Strom, sondern selten Strom fließt. Was natürlich über eine angepeilte Lebensdauer auch völlig im Rahmen sein kann.
 
Zum Thema Elektromigration gibts auch nen Blog (#19). ;)

Und ja, Spannung macht gar nichts für sich alleine gesehen. Du kannst auch an eine Spannungsquelle dranfassen in der ne Million Volt anliegen ohne dass du irgendwelchen Schaden nimmst oder etwas bemerkst (abgesehen von elektrischer Influenz). So lange du Gummistiefel anhast und entsprechend kein Strom fließt ist das alles kein Problem. Erst dann wenn ein (viel zu hoher) Strom fließen kann wirst du gebraten. Bei Stromleitungen oder Transistoren ist das genau dasselbe. Du kannst an einen dünnen Kupferdraht ne Million Volt anlegen - so lange du den Strom auf nen Milliampere begrenzt ist das gar kein Problem. Erst wenn die Strombegrenzung weg ist und zig Ampere fließen können/dürfen hauts dir den Draht um die Ohren.
 
Nein, ich habe nicht vor meinen akademischen Grad weiter zu steigern, wohl aber noch mehr Text hier reinzuballern... klicke mal einen Blog weiter! :devil:
 
:daumen: Super geschrieben Alk, wirklich. Hat richtig Spaß gemacht zu lesen.

PS.: Wenn man für jedes "Birnchen" einen kurzen kippt, macht es noch viel mehr Spaß und huldigt dem Autor in ungeahntem Maße. :nicken:
 
Zurück