Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Pokročilé architektury počítačů Intel Itanium Referát Tomáš Vojtas (voj209) 2.12.2009
Úvod Itanium je třída 64bitových mikroprocesorů od Intelu, které implementují architekturu Intel Itanium (značenou IA- 64). Procesory jsou prodávány pro použití ve firemních serverech a vysoce výkonných výpočetních systémech. Architektura byla vytvořena firmou Hewlett-Packard (HP) a později byla vyvíjena společně firmou HP a Intel. Intel Itanium Vyráběn Výrobce Max. frekvence CPU Frekvence sběrnice Instrukční sada 2001 - současnost Intel 733MHz - 1,66GHz 300MHz - 667MHz Itanium Jádra 1 až 2 Patice Kódové označení PAC611 a PAC418 McKinley Madison Hondo Deerfield Montecito Montvale S cílem potlačit výkon za současné meze se Itanium výrazně oddělilo od architektur Intel x86 a dalších. Architektura Itanium je založena na explicitním paralelismu na úrovni instrukcí, při kterém se kompilační program rozhoduje, které instrukce se budou zpracovávat paralelně. Naproti tomu jiné superskalární architektury závisí na komplikovaném obvodu procesoru a hlídají závislosti jednotlivých instrukcí během vykonávání programu. Tato alternativní cesta dovoluje procesorům Itanium zpracovávat až šest instrukcí během jediného hodinového cyklu.
Architektura Procesorová řada Itanium Originální logo Druhá verze loga Logo 2008 Logo 2009 Nejnovější logo Architektura byla během historie několikrát přejmenována. HP ji původně nazývalo PA- WideWord (Procesorová architektura s širokým-dlouhým slovem). Intel ji později nazval IA-64, pak Itanium Processor Architecture (IPA) a nakonec Intel Itanium Architecture, ale dosud je stejně označována jako IA-64. Jedná se o 64bitovou explicitně paralelní architekturu bohatou na registry. Základní datové slovo má 64bitů a je adresovatelné po bajtech. Logický adresní prostor je 2 64 bajtů. Architektura implementuje predikaci (výrokovou logiku), spekulaci a větvenou predikci (předvídání). Používá spíže mechanizmus hardwarového přejmenovávání registrů než jednoduchý okénkový registr s předáváním parametrů. Stejný mechanizmus je také používán pro potvrzování paralelního zpracování smyček. Spekulace, predikce, predikace a přejmenovávání je pod kontrolou kompilátoru: každé instrukční slovo pro tyto účely obsahuje extra bity. Toto jsou základní charakteristické rysy pro tuto architekturu. Implementuje 128 celočíselných registrů, 128 registrů pro operace s pohyblivou řadovou čárkou, 64 jednobitových predikátů a osm větvených registrů. Registry s pohyblivou řadovou čárkou jsou 82bitů dlouhé kvůli uchování přesnosti při mezi-výpočtech. Provádění instrukcí Každé 128bitové instrukční slovo obsahuje 3 instrukce. Přenosový mechanismus může číst až 2 instrukční slova v jednom hodinovém cyklu z paměti L1 cache do pipeline. V nejlepším případě pak může kompilátor zařídit tak, aby procesor mohl provést 6 instrukcí během jednoho hodinového cyklu. Procesor má celkem 30 výpočetních jednotek rozdělených do jedenácti skupin. Každá jednotka může provádět jednotlivou "podmnožinu" instrukční sady a každá jednotka pracuje rychlostí jedné instrukce za hodinový cyklus dokud se provádění nezablokuje čekáním na data.
Skupiny výpočetních jednotek dohromady obsahují: 6 ALU (aritmeticko logická jednotka) jednotek pro primární účely, 2 celočíselné jednotky a jednu proměnnou jednotku 4 data cache jednotky 6 multimediálních jedn., 2 paralelní proměnné jednotky, 1 paralelní násobičku, 1 souborový sčítač Dvě 82bitové jednotky pro funkci násob-shrň (multiply-accumulate) s pohyblivou řadovou čárkou, 2 SIMD (Single Instruction, Multiple Data) jednotky pro operace násobshrň s pohyblivou řadovou čárkou (každá zvládne dvě 32bitové operace) 3 větvící jednotky Kompilátor je schopen často seskupit instrukce do šesti souborů, které je schopen vykonat současně. Jelikož jednotky s pohyblivou řadovou čárkou implementují operaci násob-shrň (angl. term. multiply-accumulate), v jedné instrukci se může provést operace dvou instrukcí, pokud aplikace potřebuje násobit a pak sečíst což je velmi běžná operace. Pokud tato situace nastane, procesor může provádět až čtyři FLOPS (FLoating point Operations Per Second) během jediného cyklu. Takže například Itanium s frekvencí 800MHz má teoretickou zatížitelnost 3,2 GigaFLOPS a nejvýkonější Itanium 2 s frekvencí 1,67GHz by mělo zatížitelnost 6,67 GigaFLOPS.
Architektura pamětí V letech od 2002 do 2006 procesory Itanium 2 sdíleli obecnou hierarchii vyrovnávací paměti (dále jen CACHE). Obsahovali 16kB L1 instrukční cache a 16kB pro datovou cache. Paměť L2 cache byla sjednocena (pro instrukce i data stejná) a to o velikosti 256kB. Paměť L3 pak byla také sjednocená a lišila se ve velikosti od 1,5MB až do 24MB. 256kB paměti L2 obsahuje dostatečnou logiku pro provoz semaforových operací aniž by vyrušila hlavní ALU. Hlavní paměť je přístupná přes sběrnici do čipsetu. Sběrnice Itanium 2 byla původně označena jako McKinley sběrnice, ale nyní je označována jen jako sběrnice Itanium. Rychlost sběrnice se neustále zvyšovala spolu s příchodem nových procesorů. Sběrnice přenese 2 128bitů za jeden h. cyklus, což znamená že 200MHz McKinley sběrnice byla schopna přenést 6,4 GB/s a 533MHz sběrnice Montecito přenese 17,056 GB/s. Podpora hardware Systémy Pro rok 2009 nabízí hned několik výrobců systémy Itanium, mezi ně patří společnosti HP, SGI, NEC, Fujitsu, Hitachi a Groupe Bull. Firma Intel navíc nabízí šasi, která může být použita výrobci k sestavení systému Itanium. HP jako jediná z průmyslových TOP výrobců serverů nabízejících systémy založené na Itaniu, má 80% podíl na celkové výrobě všech systémů Itanium. HP prodalo 7200 těchto systémů v prvním čtvrtletí roku 2006. Většina prodaných systémů jsou firemní servery a stroje pro technické výpočty ve velkém měřítku, a to s průměrnou cenou za systém více než 200 000 amerických dolarů. Typický systém používá osm a více procesorů Itanium. Čipsety Sběrnice Itania je propojena se zbytkem systému skrze čipset. Výrobci firemních serverů rozlišují jejich systémy navrhováním a vyvíjením čipsetů, které propojují procesor s pamětí a ovladači periferií. Čipset je srdcem architektury na systémové úrovni. Vývoj čipsetů stojí desítky miliónů dolarů a představuje nejdůležitější část pro použití procesorů Itanium. IBM vytvářelo čipset v roce 2003 a Intel v roce 2002, ale ani jeden z nich nevyvíjel čipsety s podporou nových technologií jako DDR2 či PCI express. V současné době čipsety s podporou těchto technologií jsou vyráběny firmami HP, Fujitsu, SGI, NEC či Hitachi.
Připravovaný Itanium procesor Tukwila je navrhován tak, aby měl čipset shodný s procesory řady Intel Xeon EX (procesory navrhovány pro 4 procesorové a větší servery). Cílem je zefektivnit systémový vývoj a snížiz náklady pro výrobce serverů, jelikož mnozí z nich vyvíjí servery založené na technologii jak Itanium tak Xeon. Podpora software S cílem umožnit provoz více softwarům na procesorech Itanium, Intel podpořil rozvoj efektivních kompliátorů pro svou platformu, obzvláště svou vlastní sadu překladačů. GCC, Open64 a MS Visual Studio 2005 (a pozdější) umí také vytvářet strojový kód pro Itanium. Od roku 2008 je Itanium podporováno systémy Windows Server 2003 a Windows Server 2008, několika Linuxovými distribucemi (včetně Debianu, Gentoo, RedHat a Novell SuSE), FreeBSD, HP-UX, OpenVMS a NonStop(HP), vše nativně. HP také prodává virtualizační technologii pro Itanium zvanou Integrity Virtual Machines. Itanium také podporuje mainframe prostředí GCOS od Groupe Bull a několik IA-32 operačních systémů pomocí simulátorů instrukční sady (Instruction Set Simulators). Podle Itanium Solutions Alliance bylo k dispozici přes 13000 aplikací pro systémy založené na platformě Itanium v roce 2008.
Jednotlivé typy Itanium procesorů Kódové L2 L3 Cache označení Vydán Takt Cache / / Sběrnice CPU výr. proces Jádro Jádro x Itanium 733M Spotř. (W) Merced 2001 Hz 96kB není 266MHz 1 116 800M 180 nm Hz Itanium 2 900M McKinley 2002 Hz 1,5MB 130 180 nm 1GHz 3 MB 130 1,3GHz 3 MB 130 2003 1,4GHz 256kB 4 MB 130 Madison 130 1,5GHz 6 MB 400MHz 1 130 nm 2003 1,4GHz 1,5 MB 130 2004 1,4GHz 3 MB 130 1,6GHz 3 MB 130 Poznámky 2MB mimo-čip L3 cache 4MB mimo-čip L3 cache Deerfield 2003 1,0GHz 256kB 130 nm 1,5 MB 62 Nízké napětí 1,1 Hondo 130nm 2004 GHz 256kB 4 MB 400MHz 2 260 32MB L4 Cache 1,6 Fanwood GHz 3 MB 533 MHz 130 2004 256kB 1 1,3 130nm GHz 3 MB 400 MHz 62 Nízké napětí 1,6 Madison 9M 2004 GHz 9 MB 400MHz 130 1,67 256kB 1 130 nm 2005 GHz 6 MB 667MHz 130 1,67 2005 GHz 9 MB 667MHz 130 1,4 Montecito GHz 256kB + 12MB 400MHz 2 104 Virtualizace, 2006 1,6 1M multivlákna 90 nm GHz 12MB 533MHz 2 104 Montvale 2007 90 nm 1,66G Hz 256kB + 1M 4-18MB 400-667MHz 1-2 75-104 Přepínání založené na požadavku
Reference (1) Wikipedia Itanium, <http://en.wikipedia.org/wiki/itanium> (2) Intel, <http://www.intel.com/products/processor/itanium> (3) Microsoft Computing on Itanium, <http://www.microsoft.com/servers/64bit/itanium/overview.mspx>