Od Mercedu k Itaniu
První 64-bitový procesor vyvíjený firmou Intel nesl jméno podle města v Kalifornii - Merced. Marketingový pracovníci nejspíš shledali, že Merced není to pravé ořechové, a tak vývoj a testování proběhlo pod oficiálním názvem Itanium (musí se nechat, že jméno je to vskutku impozantní, uvidíme, zda budeme moci to samé říct i samotném procesoru). Na veřejnost již proniklo i jméno jeho následníka - McKinley (nejspíš podle nejvyšší hory Severní Ameriky). Ten by se měl začít vyrábět až někdy v druhé polovině roku 2001. Ale zpátky do současnosti - k Itanium. Je to první z nové generace procesorů, založených na architektuře IA-64 (Intel 64bit Architecture). Je to RISCový nebo CISCový procesor (viz seriál o procesorech)? Ani jedno, ani druhé. V souvislosti s IA-64 se zavádí nový, tzv. EPIC koncept. EPIC definovaný společně firmami Hewlett-Packard a Intel, by měl stát novou technologickou architekturou, analogickou k RISC a CISC.
IA-64 a EPIC zblízka
IA-64 obsahuje zcela novou 64-bitovou instrukční sada. V oficiálních prohlášeních Intelu a HP je často označována jako 64bit Instruction Set Architecture (64bit ISA). Samozřejmě, že by i u Itania měla být zaručena plná zpětná kompatibilita s řadou x86 procesorů založených na archituktuře IA-32.
Podle přestavitelů firem HP a Intel mají tradiční mikroprocesorové architektury základní atributy, které ovšem limitují jejich výkon. Kdo dosáhnutí vyššího výkonu nestačí, aby procesor vykonával instrukce rychleji, ale aby zároveň vykonával několik instrukcí zároveň (paralelně). Limitujícími faktory jsou tzv. větve (instrukce, které mění tok vykonávání programu) a latencie paměti (čas potřebný na získání informací z paměti). EPIC (Explicitly Parallel Instruction Computing) se tyto limity snaží překonat tím, že paralelizaci instrukcí přenáší z hardwaru na software. EPIC má několik dominantních vlastností:
- Velké množství registrů
- Schopnost řazení značného počtu funkčních jednotek - přesně se tahle vlastnost jmenuje:"inherentně tříditelná instrukční sada"
- Paralelizmus je vykonáván explicitně ve strojovém kódu, závislosti mezi instrukcemi jsou hledány a ošetřovány kompilátorem a ne procesorem
- Předpovídání - instrukce z různých větví podmíněného výroku jsou označované speciálními, tzv. predikčními registry a jsou vykonávány současně
- Spekulativní zavádění - data z pomalé paměti se zavádějí předem
Vlastnosti IA-64
Nová architektura IA-64 je, jak již bylo řečeno, postavená na technologii EPIC. Při popisu jejich vlastností začneme u registrů. Inženýři z Intelu s nimi, jak se zdá, nešetřili. Posuďte sami:
- 128 univerzálních 64-bitových registrů
- 128 registrů 80-bitových, určených pro operace s pohyblivou desetinnou čárkou
- 64 registrů 1-bitových, tzv. predikčních (instrukce se provádí jen tehdy, když je zvolený predikční parametr "pravdivý")
Všechny registry jsou viditelné pro programátora a umožňují náhodný přístup. Registrů je v Itaniu skutečně dost. V porovnání s osmi univerzálními registry v x86 je 128 opravdu velké číslo. Ale např. procesor MIPS R10000 (Silicon Graphics) má 64 celočíselných registrů a 64 pro operace s pohyblivou desetinnou čárkou.
To by na úvod stačilo. Příště se podíváme na to, jak u Itania funguje předpovídání, spekulativní zavádění dat a možné vymyslím ještě něco zajímavějšího...