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ě

Merced a EPIC architektura

20.3.1999, Vít Zatloukal, zpráva
Merced a EPIC architektura
Co všechno EPIC umí ?
Intel prakticky opanoval oblast osobních počítačů, kde se používají 32-bitové procesory, avšak oblast výkonných serverů s 64-bitovými procesory mu zůstala uzavřena. Teprve ve spolupráci s Hewlett-Packard Intel vyvíjí 64-bitový procesor s názvem Merced. Jeho uvedení je plánováno na polovinu roku 2000.

Merced bude vyráběn 0,18 mikronovou technologií, s frekvencemi od 600MHz a výkon jeho FPU jednotky by měl být 20x vyšší než Pentium Pro. Je dost možné, že díky svému pozdnímu uvedení se Merced mezi v konkurenci moc neprosadí. Jeho následníkem pak bude McKinley, který bude vyráběn 0,13 mikronovou technologií, s frekvencemi od 1GHz bude 2x rychlejší než Merced. Po McKinleym by měl následovat Madison, při jehož výrobě již bude použita měděná technologie. 64-bitovým procesorem pro desktopy by pak měl být někdy v roce 2003 Deerfield.

Intelovské 64-bitové procesory budou používat EPIC architekturu, která je velmi podobná VLIW (píšeme na jiném místě). Pro EPIC jsou charakteristické vlastnosti: Predication, Speculation, Explicit Paralelism, 128 celočíselných registrů, 128 FPU registrů, 64 predication registrů.

Základní vlastností EPIC je paralelnost. Současné procesory musejí "za běhu" analyzovat instrukční kód a stanovit nejvýhodnější pořadí vykonávání. EPIC přenechává tuto špinavou práci kompilátoru, který seřadí instrukce tak, aby bylo využito všech výhod paralelnosti. Proto má EPIC procesor množství instrukčních pipeline (zřetězení), mnoho registrů a široké datové sběrnice. Hlavní výhodou EPIC je účinnost, o kterou se stará kompilátor, takže procesor má více prostředků pro vykonání smysluplných operací a hlavně neztrácí čas čekáním na přísun informací.

Další výhodou EPIC je predication. To je technika používaná pro zkrácení čekání. Vysvětlíme si ji na příkladu. Dejme tomu, že pravidelně chodíte do oblíbené hospůdky, kde většinou popíjíte pivo a někdy, když máte dobrou náladu, si dáte víno. Dále řekněme, že načepování piva i nalití vína trvá pět minut (i s objednáním a donesením ke stolu). Šikovný číšník může zkrátit vaše čekání tím, že jakmile vás uvidí, přinese vám bez ptaní pivo. Problém však vyvstane, pokud budete chtít víno. Číšník musí pivo odnést, nalít víno a znovu ho donést. Predication tedy nefunguje jen vždy, ale v 90% případů je tato metoda úspěšná. Když však bude číšník hodně šikovný, přinese vám rovnou pivo i víno a vy si můžete bez čekání vybrat. Reálně samozřejmě nelze předvídat všechny instrukce, takže EPIC musí rozhodnout, které instrukce bude paralelně zpracovávat (rozhodování provádí kompilátor). Výsledky vykonaných operací se ukládají do predication registrů, kterých má EPIC dostatečné (celkem 64) množství. Predication vlastně obchází výběr, to znamená, že redukuje počet větví v kódu.

Velkým problémem pro dnešní procesory jsou čekací doby pamětí. Výkon procesorů roste rychleji než pamětí, takže se v procesorech používají stále větší cache paměti, to však není ta správná cesta (velikost cache nelze neustále zvětšovat). EPIC architektura řeší tento problém načasováním a natažením instrukcí z paměti ještě předtím, než k nim dojde při zpracovávání instrukcí. Tento proces se nazývá speculation. Problém ovšem je, co se stane, když hodnota není platná (není ještě definována).Normálně by došlo k výjimce a program by spadl. V EPIC systému si však procesor pamatuje, že přenos byl spekulativní, takže hodnota nemusí být definována a pokračuje dál. Až jsou data vyžadována, procesor je znovu zkontroluje, a pokud jsou platná, pak je použije. Ve svém důsledku vede speculation k úspoře času při přenosu dat z paměti do procesoru.

Aby mohly být predication a speculation techniky úspěšně použity, je EPIC architektura vybavena množství registrů, na rozdíl od dnešních procesorů, které mají 32 a méně registrů. To dává vývojářům volné ruce pro využití všech výhod EPIC.

I přesto, že bude Merced 64-bitový (IA64), bude provádět všechny IA32 a PA-RISC (PA-RISC instrukce Hewlett-Packard pro RISCové procesory) instrukce díky hardwarovému překladu. Intel se rozhodoval mezi tímto řešením a přidáním IA32 a PA-RISC jádra do EPIC. Nakonec se ale přiklonil k efektivnější a elegantnější variantě (zvláštní jádra by byla mrháním místa). Výhodou překladu IA32 instrukcí je také to, že tak mohou využít 64-bitovou sběrnici.

Problémem EPIC architektury je to, že její výkon silně závisí na kompilátoru. Pomalý kompilátor by se projevil výrazným snížením výkonu. Vytváření aplikací pro EPIC může být také docela komplikované. Zejména speculation může způsobovat zajímavé problémy při kompilaci. Vývojáři tedy budou potřebovat dobrý debugging software.