Cool'n'Quiet - mějte tiché PC
21.10.2003, Eagle , článek
Athlony 64 jako první procesory nabídly technologii PowerNow! pro desktopy. Se svými 35 Watty minimální spotřeby se dnes jedná o nejméně topící procesory pro desktop. V tomto článku podrobněji rozebereme, jak nová technologie Cool'n'Quiet funguje.
Kapitoly článku:
- Cool'n'Quiet - mějte tiché PC
- Cool'n'Quiet
- Technická realizace
Technická stránka věci aneb co je pod povrchem
Procesor Athlon 64 podporuje násobiče externí frekvence 4x až 25x (6bit enkódování). Při zapnutí se procesor nastaví na startovní násobič a napětí, jejichž hodnoty má uloženy ve své vnitřní konfiguraci. U současných procesorů je po startu nastavena nejvyšší možná frekvence a standardní napětí.
Ve Windows přebere ovládání driver. Ten si z procesoru zjistí maximální násobič a napětí a z datového bloku uvnitř BIOSu potřebné charakteristiky základní desky - především stabilizační dobu napěťového regulátoru a napěťové / frekvenční kombinace procesoru. Pro správný chod technologie Cool'n'Quiet je proto nutné aktualizovat BIOS. Jestliže driver nenajde příslušné charakteristiky, nebude fungovat! V horším případě bude dokonce fungovat špatně.
Po vyhodnocení možných stavů driver zkontroluje zatížení procesoru a naprogramuje Model Specific Registers. Procesor se postará o zbytek, změní svojí frekvenci změnou násobiče a zasignalizuje napěťovému regulátoru požadavek na změnu napětí.
Násobiče a jejich změna
Změna násobičů má ale jedno úskalí - procesor umí měnit jen o jeden násobič nahoru nebo dolů v jednom průchodu. Při nastavení násobiče jiného než sousedního s aktuálně používaným dojde k havárii systému. Změna proto není okamžitá, je nutné měnit frekvenci postupně.
Inženýři v AMD proto vytvořili dvě sady násobičů - nízké a vysoké. Nízké násobiče jsou 4x až 7x, vysoké od 8x výše. Rozdíl je v tom, že nízké násobiče se tváří jako dvojnásobek své hodnoty, zatímco vysoké ne:
Pro změnu násobičů za chodu je důležitý násobič v kolonce VCO. Zde nesmí dojít ke změně o více než jeden násobič. Jaká bude změna v reálném násobiči, není důležité.
Nejlépe se celý mechanismus dá pochopit na příkladu. Vezměme jako příklad procesor Athlon 64 3200+ s frekvencí 2000 MHz, u kterého chceme snížit frekvenci na nejnižší možnou hodnotu - na 800 MHz. Driver nejdříve sníží násobič z hodnoty 10x na 9x (1800 MHz) a dále pak na 4x (800 MHz). Změny násobičů budou vypadat takto:
Způsob je to v podstatě geniální - dvakrát se změní násobič a frekvence procesoru při tom poklesne o 60 procent. Málo změn násobičů je nutných kvůli rychlost - například stabilizace napětí při jednom kroku trvá cca. 100 mikrosekund (milióntin vteřiny - při frekvenci 2 GHz je to promrhaných cca. 200 tisíc hodinových cyklů), stejně tak i změna napětí vyžaduje stabilizaci frekvenčního generátoru uvnitř procesoru. Všechny tyto transakce stojí čas a tento promrhaný čas snižuje výpočetní výkon. I přesto, že změna násobičů je v procesorech Athlon 64 jedna z nejrychlejších vůbec (starší procesory byly mnohem pomalejší, využívaly často speciálních úsporných režimů - Athlon 64 se proti tomu přepíná za plného chodu), i tak je vždy něco za něco.
Bohužel i rozdělení na nižší a vyšší násobiče má svá ale. Tím nejhlavnějším je absence nízkých násobičů na níže taktovaných procesorech. Tak např. onen zmíněný Athlon 64 3200+ může přejít z vyšších násobičů na frekvenci 8x (1600 MHz) a z nižších na 4x a 5x (1000 MHz). Na násobiče 6x a 7x se není možné přepnout, protože tyto násobiče vyžadují pro přepnutí z vysokých násobičů minimálně 11x, resp. 13x (jejich VCO reprezentace je 12x, resp. 14x). Už jenom z toho důvodu, že procesor zablokuje všechna nastavení vyšší než maximální násobič, není možné takové násobiče nastavit. Frekvence 1200 MHz tak zůstane skrytá až do uvedení Athlonu 64 3400+ a frekvence 1400 MHz nebude dostupná až do doby, než se objeví Athlon 64 s frekvencí 2600 MHz. Stejně tak je problematické i to, že vysoce taktované procesory nad 3 GHz budou muset procházet hodně z vysokých násobičů, než dosáhnou nejbližšího bodu pro přepnutí do nízkých.
Výsledky úspory energie
Na závěr se podělím o v současnosti veřejně nedostupné údaje z dokumentace. Konkrétně se jedná o dokument AMD Athlon 64(tm) 64 Processor Power and Thermal Data Sheet:
Ve starší, dnes již z webu stažené revizi dokumentu, byl omylem uveden i procesor Athlon 64 3400+:
Hodnoty pro Athlon 64 3200+ si můžete bez problémů stáhnout, 3400+ by měl být uveden někdy ke konci roku (mluví se o listopadu).
Zde je vidět, jak procesor dokáže regulovat svojí spotřebu. Při maximální frekvenci mají oba čipy spotřebu až 89W (včetně integrovaného řadiče pamětí). Pro každý z nich jsou definované jiné garantované P-States (Power States - frekvenční / napěťové kombinace). 3200+ má garantován režim 1800 MHz při 1.4V (66W) a 800 MHz při 1.3V (35W), zatímco 3400+ má garantováno 2000 MHz při 1.4V (70W) a 800 MHz při 1.3V (35W). V obou případech se jedná o asi nejlepší procesory dneška z hlediska poměru spotřeba / výpočetní výkon. A můj názor je ten, že 800 MHz bude stačit na většinu činností včetně přehrávání filmů v MPEG-4.
I kdyby se někomu právě tyto režimy nelíbily, je možné pomocí jiného software než toho od AMD nastavovat režimy podle libosti. Jediný limitující faktor je maximální násobič a napětí, to procesor nedovolí překročit. A pochopitelně kde sehnat onen zázračný software. Povzbuzující zpráva na závěr: pracuji na tom....
Procesor Athlon 64 podporuje násobiče externí frekvence 4x až 25x (6bit enkódování). Při zapnutí se procesor nastaví na startovní násobič a napětí, jejichž hodnoty má uloženy ve své vnitřní konfiguraci. U současných procesorů je po startu nastavena nejvyšší možná frekvence a standardní napětí.
Ve Windows přebere ovládání driver. Ten si z procesoru zjistí maximální násobič a napětí a z datového bloku uvnitř BIOSu potřebné charakteristiky základní desky - především stabilizační dobu napěťového regulátoru a napěťové / frekvenční kombinace procesoru. Pro správný chod technologie Cool'n'Quiet je proto nutné aktualizovat BIOS. Jestliže driver nenajde příslušné charakteristiky, nebude fungovat! V horším případě bude dokonce fungovat špatně.
Po vyhodnocení možných stavů driver zkontroluje zatížení procesoru a naprogramuje Model Specific Registers. Procesor se postará o zbytek, změní svojí frekvenci změnou násobiče a zasignalizuje napěťovému regulátoru požadavek na změnu napětí.
Násobiče a jejich změna
Změna násobičů má ale jedno úskalí - procesor umí měnit jen o jeden násobič nahoru nebo dolů v jednom průchodu. Při nastavení násobiče jiného než sousedního s aktuálně používaným dojde k havárii systému. Změna proto není okamžitá, je nutné měnit frekvenci postupně.
Inženýři v AMD proto vytvořili dvě sady násobičů - nízké a vysoké. Nízké násobiče jsou 4x až 7x, vysoké od 8x výše. Rozdíl je v tom, že nízké násobiče se tváří jako dvojnásobek své hodnoty, zatímco vysoké ne:
násobič | VCO násobič |
4x | 8x |
5x | 10x |
6x | 12x |
7x | 14x |
8x | 8x |
9x | 9x |
10x | 10x |
11x | 11x |
... atd. | ... atd. |
Pro změnu násobičů za chodu je důležitý násobič v kolonce VCO. Zde nesmí dojít ke změně o více než jeden násobič. Jaká bude změna v reálném násobiči, není důležité.
Nejlépe se celý mechanismus dá pochopit na příkladu. Vezměme jako příklad procesor Athlon 64 3200+ s frekvencí 2000 MHz, u kterého chceme snížit frekvenci na nejnižší možnou hodnotu - na 800 MHz. Driver nejdříve sníží násobič z hodnoty 10x na 9x (1800 MHz) a dále pak na 4x (800 MHz). Změny násobičů budou vypadat takto:
násobič | 10x | 9x | 4x |
VCO násobič | 10x | 9x | 8x |
Způsob je to v podstatě geniální - dvakrát se změní násobič a frekvence procesoru při tom poklesne o 60 procent. Málo změn násobičů je nutných kvůli rychlost - například stabilizace napětí při jednom kroku trvá cca. 100 mikrosekund (milióntin vteřiny - při frekvenci 2 GHz je to promrhaných cca. 200 tisíc hodinových cyklů), stejně tak i změna napětí vyžaduje stabilizaci frekvenčního generátoru uvnitř procesoru. Všechny tyto transakce stojí čas a tento promrhaný čas snižuje výpočetní výkon. I přesto, že změna násobičů je v procesorech Athlon 64 jedna z nejrychlejších vůbec (starší procesory byly mnohem pomalejší, využívaly často speciálních úsporných režimů - Athlon 64 se proti tomu přepíná za plného chodu), i tak je vždy něco za něco.
Bohužel i rozdělení na nižší a vyšší násobiče má svá ale. Tím nejhlavnějším je absence nízkých násobičů na níže taktovaných procesorech. Tak např. onen zmíněný Athlon 64 3200+ může přejít z vyšších násobičů na frekvenci 8x (1600 MHz) a z nižších na 4x a 5x (1000 MHz). Na násobiče 6x a 7x se není možné přepnout, protože tyto násobiče vyžadují pro přepnutí z vysokých násobičů minimálně 11x, resp. 13x (jejich VCO reprezentace je 12x, resp. 14x). Už jenom z toho důvodu, že procesor zablokuje všechna nastavení vyšší než maximální násobič, není možné takové násobiče nastavit. Frekvence 1200 MHz tak zůstane skrytá až do uvedení Athlonu 64 3400+ a frekvence 1400 MHz nebude dostupná až do doby, než se objeví Athlon 64 s frekvencí 2600 MHz. Stejně tak je problematické i to, že vysoce taktované procesory nad 3 GHz budou muset procházet hodně z vysokých násobičů, než dosáhnou nejbližšího bodu pro přepnutí do nízkých.
Výsledky úspory energie
Na závěr se podělím o v současnosti veřejně nedostupné údaje z dokumentace. Konkrétně se jedná o dokument AMD Athlon 64(tm) 64 Processor Power and Thermal Data Sheet:
Ve starší, dnes již z webu stažené revizi dokumentu, byl omylem uveden i procesor Athlon 64 3400+:
Hodnoty pro Athlon 64 3200+ si můžete bez problémů stáhnout, 3400+ by měl být uveden někdy ke konci roku (mluví se o listopadu).
Zde je vidět, jak procesor dokáže regulovat svojí spotřebu. Při maximální frekvenci mají oba čipy spotřebu až 89W (včetně integrovaného řadiče pamětí). Pro každý z nich jsou definované jiné garantované P-States (Power States - frekvenční / napěťové kombinace). 3200+ má garantován režim 1800 MHz při 1.4V (66W) a 800 MHz při 1.3V (35W), zatímco 3400+ má garantováno 2000 MHz při 1.4V (70W) a 800 MHz při 1.3V (35W). V obou případech se jedná o asi nejlepší procesory dneška z hlediska poměru spotřeba / výpočetní výkon. A můj názor je ten, že 800 MHz bude stačit na většinu činností včetně přehrávání filmů v MPEG-4.
I kdyby se někomu právě tyto režimy nelíbily, je možné pomocí jiného software než toho od AMD nastavovat režimy podle libosti. Jediný limitující faktor je maximální násobič a napětí, to procesor nedovolí překročit. A pochopitelně kde sehnat onen zázračný software. Povzbuzující zpráva na závěr: pracuji na tom....