Ladíme výkon Athlonu 64
- Ladíme výkon Athlonu 64
- Athlon 64, maximální teplota
- Časování pamětí
- Frekvence pamětí
Nastavování časování je samozřejmě možné i u platforem s procesory Athlon 64 a z něj odvozených (Sempron, Athlon 64 X2 atd.). Protože ale tento procesor má řadič pamětí integrovaný přímo ve svém pouzdře, nastavuje se časování přímo na tomto integrovaném řadiči pamětí. Jinými slovy čipset nehraje žádnou roli. Je úplně lhostejné, zda máte starý VIA K8T800 nebo nejnovější nVIDIA nForce 4 SLI - ve všech případech jsou možnosti stejné, tj. i dosažitelný výkon je stejný.
Výchozím dokumentem pro ladění nastavení je "BIOS and Kernel Developer's Guide for AMD Athlon™ 64 and AMD Opteron™ Processors". Tento dokument číslo 26094.pdf si můžete stáhnout ze stránek AMD, sekce Technical Documentation. Aktuální verze již postihuje všechny uvedené procesory včetně dvoujádrových. To pro případ, kdy byste nebyli spokojeni s tím, co zde budu prezentovat a chtěli víc. Na hlavní prvky se samozřejmě podíváme přímo zde.
Uvedený dokument pochopitelně uvádí pouze nastavení, která jsou spojená s procesory - tj. nastavení integrovaného řadiče pamětí, jednoho až třech HyperTransportů (dle typu procesoru) a některých dalších parametrů jako například úsporných režimů. Nastavení čipové sady - tedy AGP, PCI-Express, řadičů pevných disků atd. - je uvedeno v jiných dokumentech, které bohužel nejsou pro čipové sady VIA, nVIDIA a SiS veřejně dostupné.
TCaseMax a THERMTRIP
Začněme ale něčím trochu jiným. Hodnota TCaseMax je specifikována jako maximální teplota uprostřed rozptylovače tepla (Heat Spreaderu) uprostřed.
Pro místo protnutí čar je definována teplota TCaseMax.
Jedná se o teplotu, do které výrobce (v tomto případě AMD) garantuje funkčnost čipu a do které se na procesor vztahuje záruka - pokud tuto teplotu překročíte, záruka zaniká. V případě překročení teploty také může dojít k trvalému poškození procesoru. Jedná se o položku nacházející se v kolonce "Absolute Maximum Ratings", které jsou definovány jako potenciálně zničující.
Procesory revizí B3, C0 a CG mají definovánu TCaseMax hodnotu pevně. Tak například Athlon 64 3500+ pro socket 939 s jádrem DH7 (NewCastle) jí má stanovenu na 70 stupňů. Athlon 64 FX-55 s jádrem SH7 (ClawHammer) má pak 63 stupňů atp. Údaj zjistíte z dokumentace AMD. Novější revize D0 má tuto také nastavenu napevno, tentokrát je ale možné jí zjistit i softwarově přímo z PCR procesoru. Konkrétně pro D0 je limit stanoven na 65 stupňů.
Nové revize E3, E4 a E6 pak jdou ještě dále. Nejen že umožňují hodnotu zjistit z procesoru, ony to dokonce vyžadují! Od těchto revizí je totiž hodnota TCaseMax individuálně kalibrovaná pro každý kus a to v rozsahu 49 až 79 stupňů. Přesněji řečeno od AMD se například dozvíte, že model 3500+ je nastavován v rozsahu 49 až 65 stupňů.
Jak hodnotu zjistit? Stačí si v Device 24, Function 3 najít Offset E4h. V něm bity 28 až 25 určují hodnotu, z níž lze spočítat TCaseMax následovně:
TCaseMax = 49 + (obsah bitů 28 až 25) * 2
Jinými slovy zjištěnou hodnotu vynásobíte dvěma a přičtete k ní 49. Výsledek je ve stupních Celsia. U nedávno testovaných procesorů byly výsledky následující:
Athlon 64 3200+, jádro DH8-D0: binární hodnota 1000, tedy teplota 65 stupňů
Athlon 64 3000+, jádro DH8-E3: binární hodnota 0011, tedy teplota 55 stupňů
V tomto registru se nachází i hodnoty pro THERMTRIP (Thermal Trip). Jedná se o signál vysílaný procesorem na jeden z pinů v případě přehřátí. Athlon 64 má interní logiku, která v případě katastrofické teploty (např. vlivem odpadnutí chladiče) odstaví generování frekvence jádra z 200 MHz frekvence clock generatoru, načež následně vyšle signál THERMTRIP, což má základní deska vyhodnotit tak, že okamžitě odpojí napájení a celá se vypne. Bit 5 v tomto registru pak indikuje, že THERMTRIP je zapnut. Tak by to mělo být u všech prodejních kusů, některé předvýrobní vzorky mohou mít tuto ochranu vypnutou.
Hodnota registru z Athlonu 64 3000+ s jádrem DH8-E3
Zajímavý je ještě bit 31. Jedná se o testovací bit pro manuální signalizaci THERMTRIP. Pokud do tohoto registru zapíšete jedničku, dojde k vyslání signálu a následně k vypnutí počítače. Tedy pokud vše funguje. V podstatě se tím dá simulovat situace katastrofického přehřátí a můžete si snadno ověřit, zda deska skutečně na signál odpovídá tak, jak má. Před testem doporučuji uložit si veškerou rozdělanou práci ;-).
HyperTransport
HyperTransport je sériová sběrnice používaná procesory Athlon 64 ke komunikaci s okolím. Díky nízkému napětí, diferenciálnímu rozpoznávání hodnot a úzké datové šířce může pracovat na velmi vysoké frekvenci 800 či 1000 MHz, navíc ještě v režimu DDR.
Procesory Sempron, Turion 64, Athlon 64, Athlon 64 FX, Athlon 64 X2, Opteron řady 1xx a speciální verze Athlonů XP pro společnost HP mají k dispozici jeden HyperTransport kanál sloužící k připojení k čipové sadě.
Schéma osmiprocesorového uspořádání Opteronů 8xx v zapojení Twisted Ladder.
Procesory AMD Opteron řady 2xx mají řadiče dva, jeden k připojení k čipové sadě a druhý k připojení k dalšímu procesoru. Opteron řady 8xx pak má řadiče tři - u něj se připojuje čipset + dva procesory nebo tři procesory.
Zatímco u Opteronů jsou frekvence a datová šířka HyperTransportu při spojení mezi procesory klíčové, protože se přes ně přenáší data z pamětí jednotlivých paměťových řadičů (i ony 4GB/s nových Opteronů s 1000 MHz sběrnicí jsou limitujícím faktorem), u Athlonů 64 je HyperTransport extrémně naddimenzován. V případě, kdy chceme přetaktovat, může být vysoká frekvence či velká datová šířka brzdou. Naštěstí je možné nastavení změnit přímo za chodu.
Nastavení se provádí v Device 24, Function 0, Offset 88h - LDT0 Frequency/Revision Register. Toto platí pro první HyperTransport kanál, další se nastavují v Offsetu A8h (LDT1) a C8h (LDT2) se stejným významem bitů.
Link Frequency (bity 11 až 8) určují použitý násobič základní frekvence 200 MHz:
- 0000 = 1x
- 0010 = 2x
- 0100 = 3x
- 0101 = 4x
- 0110 = 5x
- 1111 = 0.5x
Program GCPUID ukazuje frekvenci HyperTransportu - zde 100 MHz, desetina maxima.
Teoreticky by snad dokonce mělo být možné naprogramovat frekvenci na vyšší, než je pro procesor udávané maximum. To jsem ale nezkoušel, protože mně dostupný procesor má maximum na 1000 MHz, tedy již nebylo kam stoupat. Mimochodem, z bitů 7 až 5 a 4 až 0 můžete vyčíst hlavní, resp. minoritní verzi HyperTransportu. U revizí D0 a E3 se jedná o verzi 1.2.
Vyjma frekvence je možné nastavovat i datovou šířku a to nezávisle směrem In / downstream (do procesoru) i Out / upstream (z procesoru pryč). Nastavení pro LDT0 se provádí v Device 24, Function 0, Offset 84h. LDT1 má pak stejný registr v Offsetu A4h, LDT2 v C4h.
Link Width Out (bity 30 až 28) a Link Width In (bity 26 až 24) - bitové kombinace jsou stejné pro obě hodnoty:
- 000 = 8bit
- 001 = 16bit
- 011 = 32bit
- 100 = 2bit
- 101 = 4bit
Nastavení 4bit Out a 16bit In.
Pokusně jsem pomocí jednoho programu testoval rychlost při pomalejších parametrech. Při nízkých frekvencích a nízké datové šířce již bylo pozorovatelné, že místy je HyperTransport přetížen a poskytuje nižší výkon. Proto to s omezováním datové šířky a frekvence nepřehánějte, i když je tato sběrnice hodně naddimenzovaná, tak přeci jenom desetinová frekvence (z 1000 na 100 MHz) a k tomu ještě osminová datová šířka (z 16bit na 2bit) snižují propustnost z 8GB/s na 100MB/s. Pro plynulý chod by měla rychlost být alespoň 2GB/s.