Naprostá většina mobilních procesorů disponuje technologií typu Intel SpeedStep či AMD Cool‚Äôn'Quiet, která přepíná násobič (potažmo mění frekvenci) a napětí procesoru podle aktuální zátěže. Tato metoda jistě nějaký watt ušetří, ale rozhodně není nastavena nikterak agresivně (pravděpodobně kvůli zajištění stoprocentní stability i horších kusů procesorů). Naštěstí existují cesty, kterými může pokročilý uživatel dosáhnout snížení spotřeby, množství vyzařovaného tepla a zvýšit výdrž na baterii při zachování stejného výpočetního výkonu procesoru.
Jistý uživatel heinz2005 prováděl výzkum minimálních napětí, které jsou přístupné pro nastavení RM Clockem pro různé generace mobilních Intel CPU a ze zjištěných údajů pak sestavil následující graf:
Zatímco starší procesory vyráběné 65nm technologií měly minimální napětí relativně rovnoměrně rostoucí s frekvencí, u novějších 45nm procesorů tomu tak není. Možností, proč to tak Intel udělal, je samozřejmě několik, za nejpravděpodobnější bych asi pokládal udržení nízkospotřebových ULV (ultra low voltage) procesorů na svém místě, aby jejich místo neobsazovaly levnější non-ULV procesory, a také zajištění stoprocentní stability i horších kusů CPU v plné zátěži.
Každopádně je z obrázku zřejmé, že zejména v nižších taktech musí mít 45nm procesory napětí zbytečně vysoké.
V notebooku MSI GT628 jsem měl procesor Core 2 Duo T6600 (2 MB cache, 2,2 GHz, 800 MHz FSB), který má Intelem dané napětí v rozsahu od 1,00 do 1,25 V. Podle oné tabulky by pro běh na maximálním taktu mělo dostačovat napětí 0,95 V. Přesto do procesoru Intel tlačí při nejvyším násobiči (11×) napětí 1,25 V. Procesor tak zbytečně moc topí a má vysokou spotřebu.
Naštěstí existují specializované programy, které umožňují napětí CPU měnit, a to dokonce pro jednotlivé násobiče. Bohužel - jen v rámci rozsahu napětí specifikovaných Intelem.
Není snad nutné zdůrazňovat, že tyto informace nejsou pro začátečníky a za škody, nestabilitu ani potíže při řešení reklamací nenesu já ani redakce zodpovědnost.
Snížení napětí přes software
Softwarové cesty ke snížení VID
Pokud máte notebook se starším chipsetem PM965/GM965, případně starší chipsety pro AMD platformu, doporučuji použít program RM Clock. Vývoj tohoto programu byl ovšem v roce 2008 ukončen a poslední řadou podporovaných chipsetů je právě Intel PM/GM965 spolu s 45nm procesory Core 2. Mezi jeho hlavní problémy patří zejména podpora jen celých násobičů a už zmíněná nepodpora novějších chipsetů. Jednoduchý návod na používání RM Clocku je například na foru PCTuningu.
Pro novější procesory a chipsety je vhodnější použít nástroj ThrottleStop, který plně podporuje Core 2 Duo, Core 2 Quad i Core 2 Extreme. Nové procesory řad i3/i5/i7 podporuje jen v omezené míře (aktivace Cx states, správa Turba - regulace napětí k dispozici není).
Samotný program má velmi snadné ovládání, umí měnit VIDy, donutit procesor využívat technologii Intel Dynamic Acceleration (pokud ji daný procesor podporuje), monitorovat teploty CPU/GPU, měřit spotřebu při běhu na baterii a spoustu dalších věcí. Samozřejmostí jsou čtyři profily, možnost rychlého přepínání mezi nimi a nastavení, zda se daný profil má aktivovat pouze při běhu na baterii nebo na síti. Rovněž je k dispozici možnost automatického spouštění programu po přihlášení uživatele, včetně možnosti "tichého spuštění", kdy se zobrazí jen ikona v tray oblasti.
Intel Dynamic Acceleration (IDA) je technologie umožňující v případě zátěže jen jednoho jádra zvýšit násobič procesoru o stupeň výše, než má běžně. Lze říci, že se jedná o omezeného předchůdce technologie Turbo Boost, která je přítomna u procesorů rodiny i5/i7. Pro její zprovoznění stačí vypnout v BIOSu notebooku EIST (Enhaced Intel Speedstep Technology) a v ThrottleStopu nastavit nejvyšší násobič. Volitelně pak lze aktivovat Power-saver (snižování násobiče dle potřeby).
Z měření spotřeby v praktickém nasazení vyplynulo, že při plné zátěži CPU je rozdíl spotřeby mezi různými hodnotami VID znatelný, ale důležitým faktem také je, že spotřebu ovlivňuje zejména napětí jádra: frekvence procesoru ve spotřebě hraje roli naprosto zanedbatelnou (rozdíl cca 3 W), v idle je rozdíl spotřeby v závislosti na násobiči v rámci chyby měření!
Praktický význam u snižování spotřeby CPU má změna napětí, nikoliv frekvencí. Nižší frekvence jsou nejspíš "přežitkem" z dob CPU vyráběných starším výrobním procesem s jiným průběhem taktů a příslušných napětí (viz. graf na předchozí straně), kdy byla nižší frekvence nutností k udržení zaručené stability při nižším napětí.
Pokud máte pocit, že CPU snese ještě nižší napětí, než má ve specifikacích, resp. než vám umožní nastavit software, můžete udělat pinmod (platí jen pro procesory Core 2 Duo, Core 2 Quad a Core 2 Extreme) - o tom více na další straně.
Poznámky, upozornění:
U operačních systémů Windows Vista/7 s aktivním "Řízením uživatelských účtů" je nutno tyto programy spouštět jako správce - vyžadují přímý přístup k HW.
Pinmod aneb nebojte se drátování
Pinmod, aneb drátování není nic složitého
Druhou cestou ke snížení napětí je cesta hardwarová - pinmod, aneb drátování socketu jako za dob Athlonu XP.
Na začátek upozorním, že veškeré zásahy do notebooku provádíte na vlastní riziko. Riskujete zejména ztrátu záruky na případně poškozené komponenty a nestabilitu notebooku! Veškeré úpravy doporučuji provádět až po dočtení celého článku, jinak mohou nastat nemilá překvapení.
Postup je následovný:
1) Podle návodu/servisní příručky od výrobce notebooku odmontujeme kryt, odmontujeme chlazení, otočíme zámkem, který drží procesor v patici o 180 ¬∞ a procesor vytáhneme.
Pokud máte na notebooku štítek typu "Při porušení zaniká záruka", doporučuji použít fén a nožík a pokusit se jej jemně seškrábnout. Praktický význam té nálepky je stejně limitně blízko nule, jelikož v EU záruka nesmí být vázána jen na stav nějakého štítku.
Tím se dostáváme dál, a to ke krytu samotné desky - je dost možné, že na krytu zespod bude nějaká otíratelná vrstva. Ta se ráda chytá na prsty a na krytu zůstávají pěkně viditelné černé otisky prstů. Je docela možné, že podle otisků by výrobce mohl poznat, že do notebooku někdo zasahoval a případně dělat ohledně uznání reklamace problémy. Takže pozor na to - kryt berte do rukou jen za hrany.
2) Provedeme vlastní pinmod, který spočívá ve vodivém spojení pinů pro dosažení změny napětí o danou hodnotu.
Nejvíce informací nám poskytnou datasheety přímo od Intelu:
Na obrázku levé poloviny socketu P jsou zvýrazněny piny, které nás zajímají při voltmodu:
- žluté = hodnoty VID, které ovlivňují napětí o 0,8000; 0,4000; 0,2000; 0,1000; 0,0500; 0,0250 nebo 0,0125 V; nejčastěji se lze setkat s mody VID 5, VID4 a VID3 - ostatní VID mění napětí buď o příliš vysokou nebo naopak o příliš nízkou hodnotu.
- zelené - Vcc piny; při spojení VIDx + Vcc dojde ke změně na 1 u daného VID v celém rozsahu tabulky; kde dojde ke změně, dojde ke snížení napětí hodnotu daného VID
- červené - Vss piny; při spojení VIDx + Vss dojde ke změně na 0 u daného VID v celém rozsahu tabulky; kde dojde ke změně, tam nastane zvýšení napětí o hodnotu daného VID
- modré - Vcc_sense, Vss_sense - prostřednictvím těchto pinů, tenkých měděných drátků a voltmetru lze zjistit reálné napětí, které do CPU v daný okamžik teče
Celá podstata změny napětí pinmodem tkví ve vodivém spojení pinů VIDx a Vcc nebo Vss.
Krom již zmíněného pinoutu socketu nám příslušný Intelí datasheet poskytne ještě jednu důležitou věc - tabulku hodnot VID. Zde je k dispozici zpracování formou "živé" excelovské tabulky, které má původ někde na fóru XtremeSystems.
Zní to složitě, ale pár příkladů to jistě vysvětlí lépe:
Napětí 1,2000 V je reprezentováno následující kombinací VID:
VID6 | VID5 | VID4 | VID3 | VID2 | VID1 | VID0 |
0 | 0 | 1 | 1 | 0 | 0 | 0 |
Změna o -0,1 V provedením spojení VID3 + Vcc nebude mít žádný účinek, protože hodnota VID3 je 1 a mod VID3 + Vcc z ní udělá 1. Hodnota VID se nezmění, nedojde tedy ani k žádné změně napětí. Napětí, které do CPU poteče při softwarově nastaveném VID 1,2000 V bude stále 1,2000 V.
Změna o +0,1 V spojením VID3 + Vss už ale fungovat bude. Původní hodnota VID3 1 se vlivem modu změní na 0 a ke zvýšení napětí tedy dojde. Při softwarově nastaveném 1,2000 V a tomto pinmodu do CPU poteče
1,3000 V.
Napětí 1,1000 V je vytvořeno kombinací:
VID6 | VID5 | VID4 | VID3 | VID2 | VID1 | VID0 |
0 | 1 | 0 | 0 | 0 | 0 | 0 |
Pokus o změnu napětí o -0,1 V zde úspěšný bude, VID3 má původní hodnotu 0, spojením VID3 + Vcc dojde ke změně VID3 na hodnotu 1 a dosáhne se nižšího napětí. Při SW VID 1,1000 V do CPU poteče 1,0000 V.
Naopak zde nebude možnost zvýšení napětí o +0,1 V pouhým spojením VID3 + Vss. Důvod je stále stejný, původní hodnota je 0, nová hodnota bude 0, nedojde ke změně - při SW nastavení na 1,1000 V tam poteče stále 1,1000 V.
Je ale možnost, jak zvýšení napětí docílit: kombinace VID5 + Vss (zvýšení napětí o 0,4 V), VID4 + Vcc (snížení napětí o 0,2 V) a VID3 + Vcc (snížení napětí o 0,1 V). Ve výsledku bude při nastaveném VID 1,1000 V reálné napětí o 0,1 V vyšší, ale je to komplikovanější cesta a je zapotřebí více drátků.
Z toho plyne jedna velmi důležitá věc - věnovat zvýšenou pozornost výběru (rozsahu) napětí, na kterém bude daný mod funkční.
3) Vložíme CPU do socketu, procesor zamkneme otočením zámku o 180 ¬∞ do původní polohy, zkontrolujeme stav teplovodivé pasty (případně přepastujeme) a notebook poskládáme zpět do původní podoby.
Poznámky, upozornění:
Pokud se chystáte provést mod VID4 + Vcc - drátek se vede z jiné řady, je nutno dbát na to, aby nedošlo ke zkratu s jiným pinem. Osobně se mi stalo jen to, že mi notebook nenastartoval, ale to neznamená, že tento zkrat nemůže způsobit nějaké škody.
Ohlídejte si, jaký VID se snaží nastavit software. Je velmi pravděpodobné, že nastane situace, kdy na některé softwarově nastavené napětí je CPU chladnější a kdy ne. Tohle je jedna z nevýhod aktuální verze ThrottleStopu - při aktivním PowerSaveru snižuje napětí na minimální, což nemusí být v případě provedeného voltmodu žádoucí (software může výsledné napětí dostat mimo rozsah, pro který je platný voltmod).
S jedním Vcc/Vss pinem lze propojit i více hodnot VID současně. (To, že je vhodnější použít jiný pin kvůli přehlednosti a menší zaplněnosti díry v socketu, asi netřeba rozvádět.) Rozložení/funkce některých pinů se mezi Core 2 Duo a Core 2 Quad liší, nicméně žádná odlišnost se netýká VIDů.
V případě spojování pinů v jedné řadě drát vedeme mimo socket, aby to nemohlo nic jiného vyzkratovat - na fotografii je příklad snížení napětí o 0,1 V spojením VID3 s Vcc.
Core 2 Duo T6600: použití a výsledky
Srovnání spotřeb a teplot v různých situacích: Intel Core 2 Duo T6600
Stále nejste rozhodnuti, jestli do voltmodu jít či nikoliv? Podívejme se na srovnání spotřeby a teploty v různých situacích (klid/zátěž, základní napětí/SW mod/pinmod).
Ve snaze o maximální přesnost a minimální zkreslení výsledků jsem zvolil metodu vypnutí všeho, co může měření zkreslovat (Wi-Fi, BlueTooth, USB, notebookové LCD) a softwarové měření spotřeb i teplot již zmíněným programem ThrottleStop.
Notebooky při měření spotřeb i teplot beží z baterie, aby ThrottleStop mohl odečítat hodnoty zbývající kapacity baterie a na základě jejich úbytku pak vypočítat aktuální spotřebu. Zároveň umí všechny hodnoty zaznamenávat do logu, ze kterého pak lze snadno vytvořit grafy. To zajišťuje vyšší přesnost oproti měření zásuvkovým wattmetrem, který samotnou spotřebu notebooku zkresluje o účinnost zdroje.
Monitoring a logování teplot zajišťuje rovněž ThrottleStop.
Samotné výsledky pak dostaneme z těchto testů:
- test jednovláknové zátěže: Intel BurnTest - 2 pass, 1 thread => spotřeba, teplota
- test vícevláknové zátěže: Intel BurnTest - 2 pass, 2 threads => spotřeba, teplota
- 5 minut ochlazování, poté test v idle => spotřeba, teplota
Tyto testy proběhnou ve třech stavech:
- defaultní nastavení VID od Intelu/výrobce notebooku
- softwarové nastavení VID (nejnižší možný)
- pinmod + odladění softwarem
Pro demonstraci výsledků použijeme následující konfiguraci:
MSI GT628-636XCZ - Intel Core 2 Duo T6600, 2× 2 GB DDR3, Nvidia GeForce GTS 160M (P12 state), Seagate ST9500420AS (7200 ot./min), Wi-Fi off, Bluetooth off, USB off, LCD off (připojeno externí přes HDMI), originální baterie s aktuální kapacitou ~47 Wh, Windows Server 2003 R2 Standard Edition x86 SP2
Pozn.: U C2D T6600 dochází ke špatné teplotní detekci ThrottleStopem, rozdíl oproti ostatním programům (a praktické teplotě) je vždy přesně 10¬∞C, proto v grafech i v tabulkách figuruje teplota o 10¬∞C nižší, než je na screenshotech z ThrottleStopu.
Jak to vypadá při aktivním EISTu bez jakýchkoliv zásahů do nastavení frekvencí a napětí?
Frekvence se nám přepínají podle aktuální zátěže, VID při násobiči 6x je 1,037 V, v zátěži pak 1,2625 V.
Vysokému napětí zejména na nejvyšším násobiči samozřejmě odpovídá vysoká teplota i spotřeba:
- při zátěži jednoho jádra 30,6 W a 58 ¬∞C
- při zátěži obou jader 41,1 W a 63 ¬∞C
- v nečinnosti 14,9 W a 39 ¬∞C
Podívejme se nyní na to, jak se to chová po nastavení ThrottleStopem na nejnižší VID (0,9250 V) s nejvyšším násobičem a aktivním PowerSaverem:
VID při všech násobičích je 0,925 V. Všimněte si častého přepínání násobiče v idle v poslední části grafu, které je způsobeno příliš nízkým prahem CPU zátěže pro přepnutí násobiče.
Snížení napětí mělo blahodárný vliv na teploty i spotřebu. Hodnoty v jednotlivých částech měření byly:
- při zátěži jednoho jádra 25,9 W a 50 ¬∞C
- při zátěži obou jader 32,5 W a 54 ¬∞C
- v nečinnosti 15,1 W a 38 ¬∞C
Pinmod se nezdařil, resp. odlišnost od softwarového voltmodu byl jen v rámci chyby měření.
Srovnání spotřeby a teploty Core 2 Duo T6600
klid | Intel BurnTest - 1 thread | Intel BurnTest - 2 threads | |
default - 1,2625 V | 14,9 W/39 °C | 30,6 W/58 °C | 41,1 W/63 °C |
SW voltmod - 0,9250 V | 15,1 W/38 °C | 25,9 W/50 °C | 32,5 W/54 °C |
Core 2 Quad Q9000: použití, výsledky a závěr
Srovnání spotřeb a teplot v různých situacích: Intel Core 2 Quad Q9000
Spotřeba při takovémto nastavení se pohybuje okolo 21 W v idle až po 66 W v zátěži. Taková spotřeba v zátěži je samozřejmě výraznou zátěží pro baterii, které se takto zkracuje životnost.
Při pokusu o snížení napětí softwarovou cestou (ThrottleStop) a nastaveném VID 1,050 V se vše drží stabilně, ale spotřeba klesá jen nevýrazně. To nelze říci o teplotách, které oproti defaultním 78¬∞C klesly o cca 6¬∞C.
Pořádný užitek ale přináší až pinmod, nicméně vzhledem k rozsahu VID, který tento procesor používá (1,050 ~ 1,1625, resp. 1,2625 V), si člověk nevystačí jen s jednoduchým voltmodem jedním drátkem.
Nejníže jsem se dostal při použití modů VID4+Vss (zvýšení o 0,2 V) v kombinaci s VID5+Vcc (snížení o 0,4 V). Snížení napětí o celkem -0,2 V ale neplatí v celém rozsahu VIDů, nýbrž jen od 1,1125 do 1,3000 V.
Následně jsem v ThrottleStopu nastavil 1,1125 V - výsledné napětí tak bylo 0,9125 V.
Spotřeba klesla na neuvěřitelných 46 W v plné zátěži, v idle jsem se dostal blíže ke 20 W a po výměně pasty za AC MX-4 klesly teploty v zátěži k pouhým 60 ¬∞C.
Když jsem byl s napětím kolem 0,92 V, docházelo ke zvláštnímu problému - CPU byl plně stabilní v maximální zátěži, ale v idle jsem dostával náhodné BSOD. Potom mne napadlo provést testy v jednovláknové zátěži a bylo to jasné - CPU při IDA násobiči vykazovalo chyby a způsobovalo nestabilitu. IDA násobič podle všeho potřebuje napětí alespoň o 0,05~0,1 V vyšší, než mají ostatní násobiče. Řešení je snadné - pokud software neumožňuje změnit konkrétní IDA VID, jako to umí např. RM Clock, tak IDA násobič prostě zakažte.
Další důležitá připomínka je, že v tomto stavu člověk nesmí za žádnou cenu nechat zapnutý Power Saver v ThrottleStopu. Ten se bude snažit snižovat VID na 1,050 V, což je mimo oblast, kterou ovlivní voltmod, do procesoru tak v idle poteče vyšší napětí, než v zátěži.
Dá se říct, že jsem se díky voltmodům dostal s Core 2 Quad Q9000 spotřebou v plné zátěži blíže k Core 2 Duo T6600 (rozdíl cca 13 W), ale s téměř dvojnásobným výkonem. To za to stojí, ne?
Srovnání spotřeby a teploty Core 2 Quad Q9000
klid |
Intel BurnTest - 1 thread | Intel BurnTest - 2 threads | Intel BurnTest - 3 threads | Intel BurnTest - 4 threads | |
default - 1,1625 V | 21 W/48 °C | 33 W/57 °C | 44 W/65 °C | 53 W/70 °C | 66 W/78 °C |
pinmod - 0,9125 V | 20 W/45 °C | 31 W/53 °C | 39 W/57 °C | 43 W/58 °C | 47 W/60 °C |
Závěr
Neprovádějte žádnou činnost, u které potřebujete mít stoprocentní stabilitu, než budete mít stoprocentní jistotu, že je procesor na dané frekvenci s daným napětím opravdu stabilní. Vše důkladně otestujte (Intel BurnTest, Orthos, Prime95, ‚Ķ) s různým nastavením (single-/multithreaded zátěž)!
Pokud to projde delšími testy stabilně, mělo by se to tak udržet - potom si můžete bez obav užívat nižší spotřeby, nižších teplot a vyšší výdrže na baterii.
- Tento článek si můžete také přečíst na blogu JejKey.net.
Poděkování:
- tec2do & rousini (fórum ExtraHardware.cz) za první zmínky o této možnosti a za nápovědu při řešení problémů
- naton & Zorror (fórum NotebookReview.com) za otestování funkčnosti HW voltmodů