Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

BIOS - 8. díl: Power Management Setup - šetříme energií

8.7.2009, Petr Stránský, článek
BIOS - 8. díl: Power Management Setup - šetříme energií
Víte, že správným nastavením BIOSu můžete nejen ušetřit na měsíčním vyúčtování elektřiny, ale též zmírnit tepelný výkon instalovaných komponent, které se vám za to určitě odvděčí delší životností? Nebo co jsou technologie označené zkratkami APM či ACPI?
Kapitoly článku:
APM, coby technologie určená ke správě energie, ale brzy přestala dostačovat, a tudíž byl v roce 1996 její vývoj ukončen revizí 1.2. Začalo se též hovořit o nástupci, tentokrát označeném jako Advanced Configuration and Power Interface, zkráceně ACPI.


ACPI (Advanced Configuration and Power Interface)


Tento standard byl zaveden na konci roku 1996 v prosinci jako zamýšlený nástupce již nevyhovujícího APM, který pracuje jako součást systému BIOS. Tehdy se sešlo mnoho velkých počítačových firem v čele s Microsoftem (Intel, Toshiba), které začaly pracovat na této nové specifikaci otevřeného standardu. Posléze se přidaly i společnosti Hewlett-Packard a Phoenix Technologies. Šetření energií je zde plně v režii operačního systému, a díky tomu jej můžeme nastavovat jednoduše přímo z OS.

V současnosti je v platnosti již čtvrtá revize standardu ACPI, která byla představena v červnu tohoto roku (2009). Specifikace je klíčová pro zavedení tzv. OSPM (Operating System-directed configuration and Power Management), což není nic jiného než název celého nově vzniklého modelu, ve kterém hraje hlavní roli operační systém, jenž určuje optimální chování a šetření energií pro jednotlivé instalované komponenty globálně. Ty již více neobsahují funkce určené k šetření energií pouze ve svém firmwaru. Standard definuje mimo jiné také hardwarové registry, nové rozhraní BIOSu (ke komunikaci je využíváno jazyku AML - ACPI Machine Language) či teplotní management.




Blokové schéma standardu ACPI, acpi.info


Počítač lze též zapínat či vypínat "na dálku" (technologie Wake On LAN, WOL) například přes místní síť či internet a zároveň můžeme třeba i nastavit automatické probuzení počítače po zjištění aktivity některého z instalovaných zařízení. Podpora tohoto však byla přítomna již u předchůdce ACPI.

Pozn.: Wake On LAN, jak zní celý název zkratky WOL, představuje funkci některých základních desek, která dovolí uživateli zapnout počítač „na dálku“. Na počítač se zapnutou podporou WOL je možné jednoduše zaslat tzv. Magic Packet (magický paket), ten je obslužným programem přijat a vyhodnocen. V případě shody MAC adres dojde následně k nastartování celého počítače.

Pozn.: Magický paket je odeslán do konkrétní místní sítě, která je určena její broadcastovou adresou a má speciální strukturu. Obsahuje totiž celkem šest bajtů, jejichž hodnota je FF hexadecimálně. Aby ale bylo umožněno spustit pouze jeden počítač v celé síti, je ještě třeba, aby ihned za magickým paketem následovala jedinečná MAC adresa síťové karty buzeného počítače, a to rovnou šestnáctkrát za sebou. Paket bývá odesílán pomocí nezabezpečeného protokolu UDP. Je při tom nejčastěji využíváno portů 7 či 9.

Chcete-li si tuto funkci vyzkoušet, můžete to provést poměrně jednoduše. Stačí si stáhnout například utilitku "Wake On Lan" (pro Windows) nebo prográmek s podobným názvem "Wake-on-LAN" pro použití v příkazovém řádku, který se bude hodit například k lepšímu zautomatizování různých akcí. Buzený počítač pak musí být v některém z ACPI stavů G1 nebo G2 (viz. dále).




Wake On Lan - jeden z mnoha prográmků umožňujících vzdálené zapnutí síťových stanic


Jak jsem již výše uvedl, součástí standardu ACPI je též tzv. teplotní management (Thermal Management). Jakým způsobem pracuje? Na všech nových základních deskách jsou obsažena teplotní čidla, která monitorují teplotu důležitých komponent systému, jako je procesor, či základní deska. Díky tomu může BIOS nebo operační systém číst tyto údaje a následně informovat uživatele nebo podle toho regulovat otáčky ventilátorů.

Princip je jednoduchý - se snižující se teplotou se snižují i otáčky chladiče a naopak. V případě vystoupání teploty komponenty ke kritické hodnotě, kterou můžeme v Setupu nastavit, může dojít i k vypnutí celé počítačové sestavy - to záleží na nastavení v Setupu, většinou v obrazovce PC Health Status. Zde můžeme zvolit maximální teplotu, po jejímž překročení dojde ke snížení výkonu CPU či celkovému vypnutí počítače. Ale to již příliš předbíhám, podrobně tuto obrazovku rozeberu v některém z dalších dílů seriálu.




Celý systém je rozdělen do několika teplotních zón, které představují logické uskupení různých zařízení (včetně teplotních senzorů), acpi.info


V ACPI je integrována také podpora pro tzv. CPU Throttling ("přiškrcení"), což zajistí, že pokud by někdy došlo k dosažení kritické teploty, systém by začal do běhu procesoru vkládat nulové cykly. Konkrétní hodnota v počtu procent byla vždy určena podle toho, jak moc kritická teplota byla. Po jejím snížení docházelo i k odpovídající změně počtu vkládaných nulových cyklů. Jakmile pak byla kritická teplota zažehnána, byla technika vypnuta, protože vkládání nulových cyklů není z pohledu výkonu zrovna nejpřijatelnější řešení.

Čím více nulových cyklů totiž do činnosti procesoru budeme vkládat, tím více se bude procesor zpomalovat, protože tím mu budeme vlastně nařizovat, aby nedělal zhola nic. V těchto případech se to ale vcelku hodí, protože s poklesem výkonu dojde též ke snížení provozní teploty procesoru a ten se nám tak doslova neuvaří.

Příkladem takové technologie je například TCC (Thermal Control Circuit), jež byla (a je) používána u procesorů Intel Pentium, jejichž dřívější architektura výroby procesorů NetBurst doslova "pekla". U ní totiž docházelo k nárůstu výkonu primárně právě zvyšováním taktu. Byla už tak navržena. Více o této technologii a souvisejícím nastavení BIOSu si můžete přečíst v našem šestém dílu seriálu zabývajícím se nastavením BIOSu.




Intel Pentium 4 Prescott - topič největší


ACPI definuje hned několik stavů šetření, označených G0 až G3. Kolik jich vaše základní deska s BIOSem bude podporovat záleží ale jen a pouze na jejím výrobci a obsaženém čipsetu, výrobce by však měl zahrnout podporu minimálně pro tři stavy těchto šetření.


Přehled ACPI šetření:
  • Working (G0, S0) - plný výkon, podobné jako režim Enabled u APM.
  • Sleeping (G1) - po určité době nečinnosti nebo po vzniku nějaké události (například stisku tlačítka) se zapíná jeden z následující šetřících režimů:
    • Power On Suspend (S1, POS) - ekvivalent k režimu Standby u APM. Vyprázdněny jsou procesorové mezipaměti cache a procesor je následně zastaven. Napájena by měla být pouze ta zařízení, která to vyžadují - procesor, operační paměť - ostatní mohou býti vypnuta. Mělo by být zaručeno bezpečné navrácení k rozpracované práci.
    • Sleeping (S2) - stejné jako předchozí možnost. Zde však dochází též k vypnutí procesorové jednotky.
    • Suspend To RAM (S3, STR) - režim je z pohledu softwaru velmi podobný tomu předchozímu. Jediný rozdíl mezi těmito režimy pak představuje skutečnost, že ty zdroje, které u S2 mohly zůstat ještě zapnuty, jsou zde již vypnuty. Tak je tomu u naprosto všech komponent včetně pevných disků a ventilátorů, napájena zůstává pouze operační paměť. Probuzení z tohoto stavu trvá přibližně 5 vteřin. Tento typ šetření doporučuji před vlastním používáním nejprve nezávazně vyzkoušet, neboť se snadno může stát, že některá vaše komponenta jej nebude správně podporovat, PC se již neprobudí a veškerá vaše neuložená práce bude ztracena. Osobně tento režim u svého notebooku mám nejradši a preferuji jej. A jaké režimy používáte vy? Připojte svůj názor do diskuze pod článkem...
    • Suspend To Disk (S4, STD, Hibernation) - obsah operační paměti je zapsán na nějaké "non-volatile" úložné zařízení (nejčastěji pevný disk) a celý počítač je následně vypnut. Probuzení podle výkonnosti PC, přibližně asi 20 vteřin. Režim poskytuje nejvyšší úsporu energie (napájeno během něj nemusí být opravdu zhola nic - vše je uloženo na pevném disku, avšak za cenu velmi pomalého probouzení).
  • Soft Off (G2, S5) - systém v tomto režimu spotřebovává minimální množství elektrické energie a žádné programy nebo spustitelný kód na něm nemůže nikdy běžet. Nelze se z něj také jednoduše probudit, vždy je nutné provést restart systému. Dá se z něho ovšem kdykoliv "vyskočit" pomocí signálu obdrženého například pomocí síťové karty (technologie WOL, viz výše), modemu, klávesnice, myši ...
  • Mechanical-Off (G3) - úplné vypnutí počítače. Ve skutečnosti nejde o "spící" režim, nýbrž o režim globální (čili G3). To proto, že se z něho nelze jednoduše probudit, a obnovit tím veškerý stav před vypnutím počítače. Odběr energie je v tomto případě nulový, tedy až na hodiny reálného času, které stále běží.




Názorné provázání jednotlivých ACPI stavů, acpi.info


Stejně jako v případě standardu APM, existují zde také různé šetřící stavy jednotlivých instalovaných zařízení:
  • D0 (Fully On) - zařízení pracuje na plný výkon a uživateli, který počítač ovládá, poskytuje všechny své funkce
  • D1 - nejčastěji nepovinný režim, který je definován výrobcem zařízení (různí se v závislosti na tom, o jaké zařízení se konkrétně jedná)
  • D2 - režim je definován výrobcem zařízení (různí se v závislosti na tom, o jaké zařízení se konkrétně jedná) a dosahuje vyšší úspory oproti režimu D1
  • D3 - komponenta je vypnuta a nereaguje na žádné požadavky

Pozn.: Existuje ještě režim D3hot, jenž představuje ve spotřebě jakýsi mezistupeň mezi režimy D3 a D2.


Stejně tak ACPI definuje šetřící stavy procesoru:
  • C0 - stav, ve kterém se zpracovávají instrukce
  • C1 (Halt) - v tomto režimu instrukce zpracovávány nejsou, avšak nabízí operačnímu systému možnost okamžitě se v případě potřeby pomocí přerušení navrátit do C0, obsah systémových pamětí cache je udržován
  • C2 (Stop Clock) - nepovinný režim, úspornější, kterému ale trvá návrat do plné funkčnosti o něco déle
  • C3 (Sleep) - opět nepovinný režim, jenž se vyskytuje v mnoha podobách, které se liší vzájemně právě rychlostí návratu do stavu C0. Není zde také nutnost udržovat procesorovou cache




Přehled šetřících stavů procesoru, acpi.info


Pozn.: Písmenko "G" před číslem šetřícího režimu značí, že se jedná o globální stav (Global); "S" na druhou stranu označuje stav, ve kterém bude počítač "uspán" (Sleeping). Dále existují prefixy "D" (Device Power State), "C" (Processor Power State) a "P" (Device and Processor Performace State).

Pozn.: K tomu ještě existují takzvané stavy výkonu (Performace States), přičemž nejvýkonnější režim představuje stav P0. Celkový počet stavů není blíže určen, nicméně těchto nemůže být více jak 16. Známé jsou především technologie Intel Speed Step či AMD PowerNow! a Cool'n'Quiet.

K bezchybnému fungování ACPI je nutno splnit určité podmínky. První z nich je podpora ACPI ze strany veškerého používaného hardwaru či operačního systému. Podpora musí být zajištěna také samotným BIOSem počítače. Při nedodržení některých z výše uvedených podmínek je možné, že systém dostane punc nestability či bude vykazovat jiné podivné potíže. PC se dokonce může i samo začít vypínat. U OS je již situace lepší - podporu ACPI mají v sobě implementovány všechny systémy Microsoftu od Windows 98 nahoru.

Při výskytu těchto nebo jiných reakcí zkuste v BIOSu ACPI zakázat a provozovat jej nějaký čas bez podpory ACPI. Mohu i uvést příklad z praxe: Můj starší počítač byl kdysi často nestabilní. Po dlouhém hledání příčiny potíží jsem zjistil, že se hádají systémová přerušení (IRQ). Nakonec, po strastiplných bojích, jsem vypnul ACPI a od té doby se mé tehdejší problémy vyřešily.




Ve Správci zařízení můžeme nalézt několik informací o ACPI podporovaných zařízeních


Pokud naopak po vypnutí operačního systému musíte počítač ještě vypnout zapínacím tlačítkem. Zkontrolujte, zda je správně nastaven hlavní ovládací program počítače, Setup. Pokud používáte některý z OS Windows, bude poté ještě pravděpodobně nutné přeinstalovat celý systém. Důvodem je absence potřebných ovladačů pro vrstvu HAL (Hardware Abstraction Layer). Stejně tak, pokud je při instalaci Windows podpora ACPI zakázána, jsou automaticky nainstalovány ovladače pouze pro standard APM! Operační systém Windows Vista však už v sobě podporu pro běh APM nemá pro jistotu implementovánu vůbec.

Pokud máte tedy Windows instalovaný bez podpory ACPI a zapnete jej, systém se okamžitě po testech POST zasekne. Buď tedy můžete v Setupu vrátit podporu pro běh APM, nebo existuje několik neoficiálních a ne zrovna čistých postupů, kterými lze nastíněného docílit. Jde o to, že je třeba nechat zavést systém z instalačního CD systému Windows XP, přihlásit se do konzole a zde spustit příkaz expand d:i386halacpi.dl_ c:windowssystem32, který vyextrahuje soubor hal.dll obsahující ovladač Hardware Abstraction Layer ve verzi s podporou ACPI do složky System32 v adresáři Windows. Nyní zkuste přímo z konzole smazat původní soubor hal.dll a před chvílí nakopírovaný halacpi.dll jím nahradit, a to tak, že jej přejmenujete na hal.dll.

Podle dalších neoficiálních informací stačí spustit trošičku upravený příkaz expand d:i386halacpi.dl_ c:windowssystem32hal.dll, a to jednoduše přímo ve Windows z příkazové řádky (Start - Spustit - cmd). Po provedeném restartu pak již jen stačí skočit do Správy zařízení a zde v položce Počítač (zde byste měli vidět jak ovladač pro Standard PC, tak i ACPI PC), odinstalovat položku Standard PC, a finálně restartovat. To však bude možné samozřejmě pouze v případě, že se do své instalace operačního systému nalogujete.

Pozn.: Tyto postupy nejsou, jak již bylo ostatně řečeno, tak úplně čisté, a navíc nemám potvrzené, že skutečně fungují. I když se z různých internetových diskuzních fór ozývají pozitivní ohlasy, doporučuji s nimi experimentovat jen pokud už vám jiná možnost nezbývá, a to samozřejmě na předem zazálohovaném systému.




Příkaz pro extrakci souboru halacpi.dl_ do složky C:WindowsSystem32 (pod názvem hal.dll) v akci


Naopak pokud chcete Windows donutit k přechodu z ACPI zpět do standardu APM, lze toto provést poměrně jednoduše přímo ve Správci zařízení ve Windows. V něm je třeba vyhledat položku Počítač a dvojklikem rozkliknout Advanced Configuration and Power Interface (ACPI) PC. Nyní stačí už jen zvolit, že této položce chcete přiřadit nové ovladače, a jako ten nový zavést Standardní PC. Po následném restartu si Windows samy znovu nadetekují instalovaná zařízení a přemapují stávající přerušení.

Pozn.: V případě operačního systému Linux je používána obdoba ACPICA (Advanced Configuration and Power Interface Component Architecture). Více o něm se můžete dozvědět na domovských stránkách projektu na www.acpica.org.

Tímto bych ukončil dnešní pokračování, které mělo za cíl seznámit vás s různými možnostmi šetření energií v PC. Příště se již budeme věnovat jejich konkrétnímu a praktickému nastavení přímo v ovládacím programu Setup.