Um die Leistungsaufnahme bei modernen Computersystem zu reduzieren, haben sich die Hersteller allerhand einfallen lassen. Für den normalen Endverbraucher wird es hingegen immer schwerer den Überblick zu behalten. Soll man die erweiterten C-States im BIOS aktivieren ? Was sind die Vor- und Nachteile ? Wieviel Strom lässt sich wirklich sparen ?
Diesen Fragen möchte ich hier auf den Grund gehen. Da die Materie extrem nerdlastig ist, kratze ich sie nur oberflächlich an. Alle energierelevanten Standards im PC Bereich sind im [b]Advanced Configuration and Power Interface (ACPI)[/b] zusammengefasst.
[title]C-States[/title] Die [b]C-States[/b] Energiesparfunktionen können im BIOS eingestellt werden. Sie dienen dazu die CPU (also den Prozessor) in einen stromsparenden Modus zu befördern, wenn gerade keine oder wenig Leistung abgerufen wird. Diesen Modus bezeichnet man auch als [b]Idle[/b] (also Leerlauf). Die C-States müssen von der Hardware unterstützt werden, bieten aber mit das größte Energiesparpotential.[table][tr][td][b]State[/b][/td][td][b]Name[/b][/td][td][b]Latenz zu C0[/b][/td][td][b]Leistungsaufnahme*[/b][/td][/tr][tr][td]C0[/td][td]Operating Mode[/td][td][/td][td]100%[/td][/tr][tr][td]C1[/td][td]Halt[/td][td]~ 1 µs[/td][td]40%[/td][/tr] [tr][td]C1E[/td][td]Enhanced Halt[/td][td]~ 1-2 µs[/td][td]35%[/td][/tr][tr][td]C2[/td][td]Stop Clock[/td][td]~ 59 µs[/td][td]30%[/td][/tr][tr][td]C2E[/td][td]Extended Stop[/td][td]~ 70 µs[/td][td]28%[/td][/tr][tr][td]C3[/td][td]Deep Sleep[/td][td]~ 85 µs[/td][td]26%[/td][/tr][tr][td]C4[/td][td]Deeper Sleep[/td][td]~ 150 µs[/td][td]24%[/td][/tr][tr][td]C4E/C5[/td][td]Enhanced Deeper Sleep[/td][td]~ 250 µs[/td][td]22%[/td][/tr][tr][td]C6[/td][td]Deep Power Down[/td][td]~ 300 µs[/td][td]19%[/td][/tr][tr][td]C7[/td][td]Deeper Power Down[/td][td]~ 400 µs[/td][td]15%[/td][/tr][/table] * Die Leistungsaufnahme ist von System zu System unterschiedlich. Sie soll hier nur dazu dienen eine Vorstellung von der unterschiedlichen Leistungsaufnahme in den C-States zu bekommen. [bild 2]
Generell zeigt sich: Je tiefer die CPU „einschläft“ desto länger dauert es, bis die CPU in den Volllastzustand zurückwechseln kann. Dies ist logisch, denn bei hohen C-States – ab C6 – werden Arbeitsspeicher und sogar Teile des internen Cache abgeschaltet.
[title]P-States[/title] CPU-Mulitplier und CPU Spannung können zudem noch über die softwareseitigen [b]P-States[/b] reguliert werden. Diese werden vom Betriebssystem (also z.B. Windows) verwaltet. Entgegen seines schlechten Rufs ist Windows eines der Betriebssysteme mit der besten P-States Verwaltung. Im Idle lassen sich so bessere Werte wie z.B. unter Ubuntu Linux (10,0W zu 14,5W in meinem Beispiel) erreichen. [table][tr][td][b]State *[/b][/td][td][b]CPU-Takt (MHz)[/b][/td][td][b]CPU-Takt (Anteil)[/b][/td][/tr][tr][td]P0[/td][td]2801[/td][td]100%[/td][/tr][tr][td]P1[/td][td]2800[/td][td]99%[/td][/tr][tr][td]P2[/td][td]2700[/td][td]96%[/td][/tr][tr][td]P3[/td][td]2600[/td][td]92%[/td][/tr][tr][td]P4[/td][td]2500[/td][td]89%[/td][/tr][tr][td]P5[/td][td]2300[/td][td]82%[/td][/tr][tr][td]P6[/td][td]2200[/td][td]78%[/td][/tr][tr][td]P7[/td][td]2100[/td][td]74%[/td][/tr][tr][td]P8[/td][td]2000[/td][td]71%[/td][/tr][tr][td]P9[/td][td]1900[/td][td]67%[/td][/tr][tr][td]P10[/td][td]1800[/td][td]64%[/td][/tr][tr][td]P11[/td][td]1700[/td][td]60%[/td][/tr][tr][td]P12[/td][td]1500[/td][td]53%[/td][/tr][tr][td]P13[/td][td]1400[/td][td]49%[/td][/tr][tr][td]P14[/td][td]1300[/td][td]46%[/td][/tr][tr][td]P15[/td][td]1200[/td][td]42%[/td][/tr][/table] * Das hier dargestellte Beispiel basiert auf einem Intel Core i5-3360M (2×2,80GHz). Die Werte wurden mit Microsofts [b]pwrtest[/b] Tool (Windows DDK Toolkit 7.1) unter Windows 7 Professional 64bit ermittelt. Prozessoren mit anderen Taktfrequenzen stufen natürlich anders ab. Die maximale Anzahl an [b]P-States[/b] ist auf 16 limitiert, wovon Windows 7 auch alle nutzt.Die maximale Transition Latency (also die Latenz um wieder in den State 0 = 100% Leistung) zu gelangen liegt bei diesem System bei 10 µs. Bei den P-States handelt es sich also um einen reinen Softwaremechanismus.
[title]S-States[/title] Die [b]Sleep-States[/b] werden über die Energieverwaltung des Betriebssystemes gesteuert. Nach einer beliebigen Zeit fährt dann das System (sofern unterstützt) in den jeweiligen S-State herunter. [table][tr][td][b]State[/b][/td][td][b]Beschreibung[/b][/td][td][b]Leistungsaufnahme[/b][/td][/tr][tr][td]S0[/td][td]Working / on[/td][td]100%[/td][/tr][tr][td]S1[/td][td]Sleep / CPU stopped[/td][td][/td][/tr][tr][td]S2[/td][td]Deeper Sleep / CPU off[/td][td][/td][/tr][tr][td]S3[/td][td]Standby (Save to RAM)[/td][td]~ 1 Watt[/td][/tr][tr][td]S4[/td][td]Ruhezustand (Save to disk)[/td][td]~ 0,1 Watt[/td][/tr][tr][td]S5[/td][td]System power off[/td][td]~ 0,1 Watt[/td][/tr][/table] [title]HDD-States[/title] Energiesparmechanismen gibt es natürlich auch bei Festplatten. Diese werden größtenteils durch die SSDs unwichtiger, aber da große Kapazitäten immer noch durch normale Festplatten bedient werden, ist dies für einige trotzdem interessant (z.B. in einem NAS). Hier ein Beispiel einer Seagate Barracuda ST3000DM001. [table][tr][td][b]State[/b][/td][td][b]Leistungsaufnahme (w)[/b][/td][td][b]Aktivierung[/b][/td][/tr][tr][td]Load (Lesen/Schreiben)[/td][td]5,8[/td][td]Unter Last[/td][/tr][tr][td]Idle (Leistung)[/td][td]1,8[/td][td]Keine Aktivität[/td][/tr][tr][td]Active Idle[/td][td]0,9[/td][td]~1s keine Aktivität[/td][/tr][tr][td]Low Power Idle[/td][td]0,6[/td][td]~10s keine Aktivität[/td][/tr][tr][td]Standby[/td][td]0,1[/td][td]Energieverwaltung (OS)[/td][/tr][/table]Zuletzt gibt es noch die [b]G-States[/b] (Global States), die aber nicht konfigurierbar sind. Als G-States gibt es [b]On[/b], [b]Off[/b] und [b]Sleeping[/b]. Die G-States sind für den Endverbraucher relativ uninteressant, sie dienen meist nur zu Dokumentationszwecken.
Wieviel Energie lässt sich denn nun sparen ? Einiges. Eine pauschale Aussage lässt sich hier nicht treffen, denn jedes System reagiert natürlich anders auf die Energiesparmechanismen. Die C-States bieten mit das größte Energiesparpotential und ich kann nur jeden raten (gerade bei NAS / Fileservern oder Always-On-PCs) sich im BIOS zu vergewissern, dass die C-States aktiviert sind (die Standardeinstellung in den meisten BIOS ist „deaktiviert“ !).
Warum sind die C-States häufig werksseitig deaktiviert ? Zum einen wird der PC durch die Aktivierung der C-States etwas träger, denn er benötigt eine gewisse Zeit um aus den Schlafzuständen wieder in den Normalmodus zu wechseln. Ich habe schon von 5-10% Leistungsabfall auf den USB und SATA-Hostcontrollern gelesen. Auch dies ist von System zu System unterschiedlich. Hier kann ich nur dazu raten die Einstellungen durchzuprobieren – eventuell werdet ihr mit einer netten Stromersparnis belohnt!
Tipp: Wer noch nach einem geeigneten Mainboard sucht, der sollte sich das Intel DH87RL einmal anschauen, welches mit einem phänomenal niedrigen Verbrauch von 10W (mit Intel Core i5-4570) auftrumpft.
Hallo,
interessanter Artikel, schöne übersicht.
Bei dem Vergleich Windwos zu Linux habe ich einige Fragen:
Wurde Unter Linux Powertop vewendet?
https://wiki.ubuntuusers.de/PowerTOP/
Bei mir macht „powertop –auto-tune“ einen Unterschied von ~4W, wenn auch bei einem Athlon-Prozessor.
Wurden die Festplatten mit hdparm in Schalfmodus versetzt?
Bei mir nochmals 2* 3W. Ich denke das sind Energiesparfunktionen die Windwos automatisch einrichtet, während man unter Linux das selber in die Hand nehmen muss.
Danke,
F.
Und wie funktioniert das auf einem Asus Prime B760 Plus (DDR5) Mainboard mit UEFI?
Ich möchte diesen ganzen Energiespar kram deaktivieren.
Der PC soll im „Normal modus“ aber mit voller/maximaler Stomversorgung laufen.
Betriebsystem: Linux-Mint Debian 5
liebe Grüße
Nachtrag:
uwe@intel:~$ inxi -Fz
System: Kernel: 6.1.0-0.deb11.9-amd64 x86_64 bits: 64 Desktop: Cinnamon 5.6.8 Distro: LMDE 5 Elsie
Machine: Type: Desktop System: ASUS product: N/A v: N/A serial:
Mobo: ASUSTeK model: PRIME B760-PLUS v: Rev 1.xx serial: UEFI: American Megatrends v: 1210
date: 07/14/2023