reklama
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ě

Technologie: Athlon 64 - 64bitů pro masy

23.9.2003, Eagle , článek
Technologie: Athlon 64 - 64bitů pro masy
Už je tady! Athlony 64 dorazily a vzaly si s sebou i velké bratříčky Athlony 64 FX. My se dnes podíváme, co jsou tyto nové procesory zač a zaměříme se především na to, co nového pozitivního (a případně i negativního) mohou nabídnout. Novinek není málo.
AMD64 - 64bit výpočty a něco k tomu

Hlavní devizou, kterou se AMD chlubí (a na kterou lidé slyší) je podpora 64 bitů. Ale co to vlastně znamená?

Abychom mohli hovořit o 64 bitovém procesoru, musí tento splňovat následující požadavky:

1. Adresace 64 bit paměťového rozsahu.
2. Výpočty s 64 bit celými čísly v ALU jednotkách.

První požadavek znamená, že procesor by měl umět adresovat 2 na šedesátou čtvrtou bytů RAM operační paměti, tj. 18446744073709551616 bytů (snad nevadí, že toto číslo ani neumím pojmenovat, moje znalosti končí někde u předpon Tera či Peta). Adresovat takové množství paměti je dnes samozřejmě nesmysl, ostatně poskládat tolik RAM i z těch největších dnes dostupných DIMM modulů by zabralo jistě minimálně dům. Proto procesory Opteron a Athlon 64 umí adresovat "pouze" 1024 GByte, tj. 1 TeraByte. Reálná použitelnost je ale omezena adresovací schopností paměťového řadiče, kdy jeden řadič zvládne 4 GByte - Opteron a Athlon 64FX tedy umí 8 GByte, klasický Athlon 64 pak pouze 4 GByte. Větší množství než jsou tyto připadá v úvahu pouze ve víceprocesorových systémech (pro které ale Athlony 64 nejsou určeny).



Druhý požadavek je možná ještě složitější než první. Vyžaduje rozšíření vnitřních mikro-pamětí - registrů (přesněji General Purpose Registrů) - ze současných 32 bitů na 64 bitů a schopnost výpočetních jednotek si s takovýmito čísly poradit.



V AMD si ovšem řekli, že když už do toho budou zasahovat, tak ať je to pořádně. Nejen že rozšířili osm General Purpose Registers na 64 bitů, ale zároveň přidali dalších osm těchto registrů a k tomu ještě osm registrů pro SSE instrukce. Výsledkem tohoto snažení je zvýšený výkon v nově vytvořených aplikacích pro instrukční sadu AMD64, pokud jsou tyto velmi náročné na využití registrů (mnoho operací na velmi malém datovém bloku).



Příklad za všechny - test kompilátoru gcc na Digit-Life. Červená čára značí optimalizaci pro procesory 386, modrá pro Athlon 64 v 32bit režimu a konečně zelená optimalizaci pro Athlon 64 v 64bit režimu. I přesto že tento kompilátor zatím nemá příliš odladěné optimalizace pro Athlon 64 (jinak by byla 32bit optimalizace vždy rychlejší než optimalizace pro 386), lze v některých případech pozorovat znatelné nárůsty výkonu ve spojení s instrukční sadou AMD64.

Tyto nárůsty výkonu mohou být jednak způsobeny výrazně rychlejší prací s 64bit čísly (ty lze počítat i na klasickém 32bit procesoru, ovšem jakousi oklikou, kdy se hlídá přetečení registru a následně se inkrementuje jiný registr, což je ale strašně pomalé) nebo právě více registry. Avšak pozor, protože je toto první várka procesorů s technologií AMD64, není ještě zcela optimalizovaná pro interní přejmenovávání registrů a jiné dnes běžné výkon zvyšující operace, kdy je využíváno více než oněch standardních 8 registrů dvaatřicetibitového režimu. Proto může dojít i k mírnému snížení výkonu. To je však vidět na grafu výše. Stejně tak ale ani software není dosud plně optimalizován, v budoucnu tak lze očekávat větší nárůsty než nyní.

Sečteno a podtrženo nelze od AMD64 čekat nějaké zázraky, alespoň ne v první variantě, kdy programy ještě neumí využívat nových registrů. Než se objeví kompilátory s pořádnými optimalizacemi a jimi vytvořený uživatelský software, bude to ještě nějakou dobu trvat. A pokud jde o 64 bitové výpočty - v praxi je málokterý program potřebuje a i kdyby přece, dají se vypočítat přes SSE instrukce (i když to v případě ne-SIMD operací nebude tak rychlé). Do budoucna to jistě není špatná věc, ale očekávat stejné nárůsty jako v případě přechodu z 16 bitů na 32 bitů je nesmysl - kdejaký program vyžaduje čísla větší než 65535, zatímco málokterý čísla přes 4294967295.
reklama