64 - BITOVÉ PROCESORY AMD MARTIN POSPÍŠIL 2005 1
REGISTRY PROCESOR AMD64 Dosavadní 32 bitové hlavní registry ( jsou rozšíeny na 64 bit, a je pidáno dalších osm ist 64-bitových registr, tyto nové registry se již dále nedají dlit, což je napíklad u registru EAX možné ( rozdlení na 16-bit. registr AX a ten pak dále na 8- bit. registry AH a AL), dále procesor obsahuje. Obr. 1 Registry procesor PRACOVNÍ MÓDY PROCESOR AMD64 Procesory mohou pracovat ve tech módech (viz. Tab1.), první je 64bitový mód (64bitový operaní systém a 64bitový program), Compatibility mód (64bitový OS a "starý" 32 nebo 16bitový program) a Legacy mód ("starý" 32bitový OS a "starý" 32 nebo 16bitový program). Všechny registry procesor využije jen v 64bitovém módu, v jiných módech se procesor chová jako klasický 32bitový (tj. bez dalších registr). 2
Tab. 1 Pracovní módy procesor PIPELINE PROCESOR AMD64 Nové procesory generace K8 mají dvanáctistupovou pipeline jek je vidt v následující tabulce. Délka pipeline pro celoíselné operace Cykl Architektura K7 Architektura K8 1 Fetch Fetch 1 2 Scan Fetch 2 3 Align 1 Pick 4 Align 2 Decode 1 5 EDEC Decode 2 6 IDEQ/Rename Pack 7 Schedule Pack/Decode 8 AGU/ALU Dispatch 9 L1 Address Generation Schedule 10 Data Cache AGU/ALU 11 Data Cache 1 12 Data Cache 2 Tab.2 Pipeline procesor generace K8 Ve stupni Fetch se penáší instrukce z datové L1 cache k pekladam (tzv. decoders). Zde jsou ve stupni Pick pipraveny k prvnímu dekódování. Stupn Decode 1 a Decode 2 instrukci nepekládají, ale sbírají o ní informace. Poté je instrukce ve stupni Pack/Decode peložena na 3
tzv. Macro-Ops. Následn jsou již instrukce pipraveny na vstup do vykonávací jednotky ALU (pípadn FPU). Po provedení zamíí hotová data do cache. Obr. 2 Diagram pipeline procesor generace K8 PREDIKNÍ LOGIKA PROCESOR AMD64 Prodloužení pipeline na jedné stran sice pináší zvýšení frekvence, ovšem na druhé stran možnost ztráty výkonu pi chybném odhadu vtvení, pro snížení tchto chyb se používá predikní logika. Obr. 3 Predikní logika procesor generace K8 4
Predikní jednotka se skládá z nkolika dležitých ástí. Hlavní jsou Branch Selectors - vybírají, která vtev má být použita, a která nikoliv. Branch Selectors spolupracují s Global History Counterem, který se stará o sbírání informací o historii vývoje vtví.novinkou u Hammeru je tzv. BTAC Branch Target Adress Calculator, který v pípad poteby dokáže pesn spoítat vývoj vtve (tento výpoet trvá pt cykl), tím se zvýší efektivita a možnost chybné vtve se tém vyluuje. JÁDRO PROCESORU AMD64 Obr. 4 Jádro procesor generace K8 Instrukní i datová cache procesoru jsou shodné velikosti 64K, jsou 2-way asociativní a velikost ádku je 64 byt. Jejich zpoždní je stejn jako u Athlonu 2 cykly, ale krom toho se od generace K7 odlišuje v dalších parametrech (nepoítáme-li vtší cache, HyperTransport a integrovaný adi pamtí). Je to napíklad rozsáhlejší TLB (Translation Look-Aside Buffer) pro L2 cache, který zvládá 512 vstup a také o nco zvtšený TLB pro L1 cache, jenž nyní iní 40 vstup. Vyrovnávací pam první i druhé úrovn samozejm podporuje ECC. 5
HYPER TRANSPORT Je full-duplexní sbrnice pipojená na integrovaný NorthBridge, která je schopná provést až 1.6GT/s (tedy GigaTransakcí za sekundu) v každém smru. Transakce znamená penos jednoho bitu po jednom drátu. V pípad 16bitové sbrnice se tedy jedná o rychlost 3.2GB/s v každém smru. "Jednotkou" HT sbrnice je práv tato 16bitová linka. Každý Opteron má k dispozici ti a pl HT sbrnice, tedy ti 16bitové a jednu 8bitovou (což je ta plka :-). Desktopový Athlon64 bude mít k dispozici pravdpodobn jeden a pl sbrnice a díky tomu bude možné stavt dvouprocesorové desktopy bez nutnosti používání dražších Opteron. Poloviní, 8bitová sbrnice se používá pro pipojení SouthBridge, plnokrevnými, 16bitovými sbrnicemi jsou vzájemn spojeny procesory. Pokud systém obsahuje jen dva Opterony, lze dv sbrnice spojit a tak získat 32bitové full-duplexní propojení s celkovou propustností 12.8GB/s, což je, jak jist uznáte, celkem fofr. Obr. 5 Hyper transport technologie 6
INTEGROVANÝ PAMOVÝ ADI Obr. 6 Architektura K8 Opteron ve svém jáde obsahuje integrovaný pamový adi, co to znamená? Vtšina souasných procesor pistupuje k hlavní pamti pes NorthBridge, což je jedna souást ipové sady umístná na základní desce. Spojení mezi procesorem a NorthBridge musí být realizováno pomocí sbrnic, které zpomalují tok dat a zvyšují zpoždní (latenci). Protože má ale Opteron adi pamtí pímo v jáde, snižuje se tak latence a pístup je výrazn rychlejší. 7
Obr. 7 Integrovaný pam ový adi ROZDÍLY MEZI JEDNOTLIVÝMI TYPY PROCESOR První procesor ady K8 byl serverový Opteron urený pro patici Socket 940. I když se záhy poté objevily první "civilní procesory" (viz dále - Athlony 64 FX-51) i pro tuto platformu, nic to nezmnilo na tom, že Socket 940 není uren pro nasazení v oblasti desktop a koneným cílem jsou servery a víceprocesorové systémy. Zanedlouho po Opteronech pišly cenov dostupnjší Athlony 64 a Socket 754. Narozdíl od Opteron mly Athlony 64 urené pro Socket 754 (napíklad Athlon 64 3200+) integrovaný jeden 64-bitový pamový adi pamti. Athlon 64 byl sice schopen pracovat s pammi o rychlosti DDR400, nicmén v té dob Intel hojn využíval svých ipových sad i865/i875p, které obsahovaly dvoukanálový pamový adi DDR400. Proto výkonnostní dopad na celou procesorovou scénu nebyl zprvu takový, jaký mohl být. Sice ml Athlon 64 pamový adi integrovaný pímo v procesoru (a tím byly znan snížené pístupové doby pi komunikaci procesor - pam), nicmén na dvoukanálové ešení to vždy nestailo. Proto byl také souasn (z dnešního pohledu na krátkou chvíli) uveden procesor Athlon 64 FX-51 urený pro Socket 940. Šlo vícemén o pejmenovaný Opteron (takže zde byla nutnost použití serverových tzv. registered pamtí), který byl ale tentokrát míen do desktopové oblasti. Firma AMD tak v dob zavádní procesor K8 mla Athlony 64 pro Socket 745, které mly zajistit novým procesorm ady K8 pokud možno co nejmén bolestivé (co nejmén nákladné) pronikání mezi uživatele - a aby firma AMD pedvedla svou sílu, od toho tady byly Athlony 64 FX-51 pro Socket 940. U procesor s dvoukanálovým adiem pamtí se logicky zvýšil poet pin, což s sebou pineslo i zmnu patice, do které lze nové procesory osazovat. Athlon 64 nastoupil se svými 754 piny, kdežto nová ada využívající klasické pamti DDR jich má 939. Takže nyní tu máme celkem ti rzné patice, piemž je každá urena pro jinou výkonnostní kategorii. lenní podle paticí je tedy jasné. Socket 940 pro servery, socket 754 pro Mainstream (jednokanálový adi pamtí) a nejnovjší socket 939 pro desktopový High-End (dvoukanálový adi pamtí). 8
Typické vlastnosti pro jednotlivé sockety Socket 940 Socket 754 Socket 939 Název CPU Opteron, Athlon FX Athlon 64 Nutnost registered pamtí Athlon 64, Athlon FX ano ne ne adi pamtí Dvoukanálový Jednokanálový Dvoukanálový Jádra procesor SledgeHammer ClawHammer NewCastle ClawHammer NewCastle Cílové urení Server Mainstream High-End Tab. 2 Typické vlastnosti jednotlivých procesor 9