Itanium

**Itanium** on Inteli loodud 64-bitiste mikroprotsessorite seeria, mis rakendab Intel Itaniumi arhitektuuri (mille nimeks oli varem IA-64). Selle seeria protsessoreid turustatakse ettevõtete serverarvutite ja kõrge andmetöötlusjõudlusega süsteemide jaoks. Itaniumi arhitektuur sai alguse Hewlett Packardist (HP), hiljem arendasid seda edasi HP ja Intel koos.

Erinevalt enamikust arhitektuuridest otsustab Itaniumi puhul kompilaator, milliseid käske tuleb täita paralleelselt. Protsessor ei pea seega programmi jooksmise ajal ise programmi jälgima, et teada saada, milliseid käske on võimalik paralleelselt teostada. Eesmärgiks on teha protsessoreid lihtsamaks, odavamaks ja energiasäästlikumaks.

Itanium oli algul mõeldud x86-arhitektuuri uuendusena, kuid sellest sai täiesti teistsugune mikroprotsessorite seeria. Pärast pikaajalist arendusprotsessi ja mitmeid viivitusi lasi Intel 2001. aastal müüki esimese Itaniumi seeria protsessori koodnimega Merced. See protsessor oleks olnud muljetavaldav, kui ta oleks tähtajaliselt 1999. aastal müügile tulnud. 2001. aasta standardite järgi oli ta suhteliselt aeglane. Tol ajal kaasaegse x86-arhitektuuril põhineva Pentium 4-ga võrreldes oli Merced poole aeglasem.

Tänapäeval toodab HP enamiku Itaniumil põhinevaid süsteeme seeria HP Integrity Servers osana. HP pole aga ainuke firma, mis neid toodab. Mitmed teised firmad (sh ka Intel) toodavad samuti Itaniumil põhinevaid süsteeme. 2008. aasta seisuga oli Itanium mikroprotsessorite tootmises ettevõtete serverarvutites rakendamiseks 4. kohal (x86-64, IBMi, POWERi ja SPARCi taga). Itaniumi mikroprotsessor Tukwila planeeriti müüki lasta 2007. aastal, kuid turule jõudis see alles 2010. aasta 8. veebruaril.

Itaanium plaanis algul Itaniumi protsessoreid müüki lasta siis, kui serverid alles hakkasid 64-bitiliste protsessoritele üle minema. 21. sajandi algul arendas AMD aga juba x86 seeriale 64-bitise laiendi tuntud kui x86-64. Hiljem võttis Intel selle seeria omaks ning muutis selle arhitektuuri PC arvutite protsessorite standardiks. Enamik Itaniumi võimsamaid protsessoreid töötab HP-UX operatsioonisüsteemiga. Sellel põhjusel teatas Microsoft 2010. aasta aprillis, et nad enam ei arenda uusi versioone Itaniumi toetusest Windowsil.

## Vastuvõtt turul

### Kõrgemat järku võimsusega serverite turg
Esmase müüki laskmise ajal 2001. aastal oli Itaniumi jõudlus võrreldes RISC ja CISC protsessoritega väga pettumust valmistav. Olemasoleva tarkvara ja operatsioonsüsteemide emuleerimine oli väga halb, kusjuures üks benchmark 2001. aastast teatas, et esimene Itaniumi protsessor oli 100 MHz Pentiumiga umbes samaväärne. Itanium jättis halva esmamulje ega suutnud konkureerida uute x86-l põhinevate protsessoritega, mis hakkasid turule ilmuma. Artiklis "How the Itanium Killed the Computer Industry" ajakirjanik John C. Dvorak, kommenteerides Itaniumi ajalugu, ütles: "See on jätkuvalt üks suurematest fiaskodest viimase 50 aasta jooksul". Tehnoloogiakolumnist Ashlee Vance kommenteeris, et viivitused ja kehv jõudlus "muutsid selle toote naljaks protsessorite turul".

## Ajalugu
### Arendus: 1989–2000
1989. aastal jõudis HP järeldusele, et vähendatud käskude kogumiga arvuti (*reduced instruction set computer* ehk RISC) arhitektuurid lähenesid töötlemise kiiruse piirile, milleks peeti sagedust: üks käsk tsüklis. HP teadlased uurisid uut arhitektuuri, mis hiljem sai nimeks *explicitly parallel instruction computing* (EPIC), mis lubas protsessoril täita mitut käsku igas tsüklis. EPIC rakendab ühte VLIW arhitektuuri tüüpi, milles iga käsu sõna sisaldab mitut käsku. EPIC arhitektuuriga, kompilaator määrab eelnevalt millised käsud saab täita samaaegselt. Seetõttu ei vaja protsessor keerulisi mehhanisme, et määrata millised käsud täita paralleelselt. Sellisel lähenemisel on kaks eesmärki: võimaldada paremat koodi uurimist, et avastada lisavõimalusi paralleelse käivitamise jaoks, ja lihtsustada protsessori disaini ning vähendada energia tarbimist, elimineerides vajadust runtime plaanimise järgi.

HP uskus, et ainult ühe firma oma mikroprotsessorite arendamine polnud enam kulutõhus ning seetõttu astus partnerlusse Inteliga, et arendada IA-64 arhitektuuri, mis pärines EPIC-st. Intel oli valmis IA-64 arendamisega palju vaeva nägema, lootes, et tulemuseks saadud mikroprotsessor läheb enamikus ettevõtete süsteeme tootvates firmades kasutusse. HP ja Intel algatasid suure ühise arendusprojekti, mille eesmärgiks oli 1998. aastaks valmistada nende esimene toode, Merced.

Arenduse ajal prognoositi, et IA-64-st saab serverites, tööarvutites ja võimsamates lauaarvutites dominantne protsessor ning lõpuks ületab see ka RISC ja CISC arhitektuure üldotstarbelises kasutuses. Compaq ja Silicon Graphics otsustasid katkestada Alpha ja MIPS arhitektuuride arenduse vastavalt, et valmistuda IA-74'le migreerumiseks.

Mitmed ettevõtted arendasid Itaniumi jaoks operatsioonisüsteeme, sealhulgas ka Microsoft Windows, Linux ja mõned UNIX-i variandid (nt HP-UX, Solaris, Tru64 UNIX ja Monterey/64). 1997. aastaks selgus, et IA-64 arhitektuuril kompilaatori rakendamine oli palju keerulisem kui algul arvatud ning Mercedi väljastamist lükati edasi. Üheks tehniliseks raskuseks oli suure transistorite arvu vajadus, et toetada laiu käsusõnu ja suuri vahemälusid. On olnud ka struktuurilisi probleeme, kuna kaks gruppi kasutasid erinevaid metoodikaid ja omasid natuke erinevaid prioriteete. Kuna Merced oli esimene EPIC protsessor, siis arendusmeeskond ei osanud eeldada nii palju ootamatuid probleeme, kui neid tegelikult tekkis. Lisaks tugines EPIC lähenemisviis sellistele kompilaatori võimetele, mida polnud kunagi varem rakendatud, seetõttu vajas projekt veelgi rohkem uurimist.

Intel kuulutas Itaniumi protsessori ametliku nimena välja 4. oktoobril 1999. Juba mõne tunniga anti protsessorile uus hüüdnimi – "Itanic" (viidates Titanicule – "uppumatule" laevale)). Paljud kasutavad seda hüüdnime, et vihjata mitmemiljardilisele investeeringule Itaniumisse ja selle varasele ülekiitmisele, millele järgnes selle suhteliselt kiire allakäik.

### Itanium (Merced): 2001

Selleks ajaks, kui Itanium 2001. aasta juunis müüki lasti, polnud selle jõudlus parem kui konkureerivatel RISC ja CISC protsessoritel. Itanium konkureeris väiksema võimsusega (enamasti 4 CPU-ga ja väiksemad süsteemid) serverite turul x86 seeria protsessoritega ning võimsamate serverite turul IBM POWER- ja Sun Microsystems SPARC arhitektuuridega. Intel muutis Itaniumi prioriteete, et keskenduda võimsamatele äriklassi serveritele ja HPC-le, üritades saavutada x86 edu "horisontaalsel" turul (s.t, üks arhitektuur, mitu süsteemide müüjat). Esimese protsessori versiooni edu piirdus asendustega: PA-RISC HP süsteemides, Alpha protsessorid Compaqi arvutites ja MIPS SGI arvutites. Lisaks tootis IBM sellel protsessoril baseerunud superarvuti. POWER ja SPARC jäid turul tugevale positsioonile. Samal ajal kasvas 32-bitise x86 arhitektuuri edu ettevõtete infotöötlusse.

Ainult mõni tuhat arvutit, mis kasutavad originaalset Merced Itanium protsessorit, said müüdud. Halva müügiedu põhjusteks olid enamasti suhteliselt halb jõudlus, kallis hind ja piiratud tarkvara kõlblikkus. Et suurendada Itaniumi jaoks tarkvara valikut, hakkas Intel esimesel Itaniumil põhinevaid arvuteid tegema kättesaadavaks iseseisvatele tarkvaramüüjatele, et stimuleerida arendust. Aasta hiljem tõid HP ja Intel müüki uue põlvkonna Itanium 2 protsessori.

### Itanium 2: 2002–2010
Itanium 2 protsessor lasti müüki 2002. aastal. Erinevalt Mercedist suunati Itanium 2 pigem firmade serverarvutitele müügiks, kui kogu võimsate protsessorite turgu. Esimese mikroprotsessori Itanium 2 seeriast, koodnimega McKinley, arendasid taas Intel ja HP koostöös. Selle arenduse käigus parandati palju jõudlusega seotud vigu, mis olid originaalsel Itaniumi seerial. Enamiku vigadest põhjustas ebaefektiivne mälu alamsüsteem. McKinley koosnes 221 miljonist transistorist, mõõtmed olid 19,5 × 21,6&nbsp;mm (421&nbsp;mm²) ja seda valmistati 180&nbsp;nm CMOS protsessis kuue alumiiniumikihiga.

2003. aastal tuli müüki AMD *Opteron* seeria, mis rakendas 64-bitist arhitektuuri(x86-64). Opteron sai kiiresti ettevõtete serverite piirkonnas kuulsaks, sest see pakkus kerget uuendust x86'st. Intel vastas, rakendades x86-64 arhitektuuri oma *Xeon* protsessorite seerias aastal 2004.

2003. aastal valmis ja läks müüki Itanium 2 seeria uus liige, koodnimega Madison. Madisonist sai alus kõikidele uutele Itanium protsessoritele kuni Montecito valmimiseni 2006. aastal.

Märtsis 2005 teatas Intel, et arenduses oli uus Itanium protsessor koodnimega Tukwila, mida plaaniti müüki lasta 2007. aastal. Tukwilal pidi olema 4 protsessori tuuma ja see pidi asendama Itaniumi siini uue ühtse süsteemiliidesega (Common System Interface e CSI), mis pidi minema kasutusse uues tulevases Xeoni protsessoris. Hiljem samal aastal lükkas Intel tähtaja edasi 2008. aastale.

Novembris 2005 liitusid peamised Itaniumil baseeruvate serverite tootjad Inteliga ja mõnede tarkvara müüjatega, et luua Itaniumi-lahenduste ühing (*Itanium Solutions Alliance*) eesmärgiga edendada Itaniumi arhitektuuri ja kiirendada tarkvara portimist. Ühing teatas, et selle liikmed investeerivad aastakümne lõpuni Itaniumi lahendustesse 10 miljardit dollarit.

2006. aastal valmis uus Itaniumi seeria liige, nimega Montecito (müügil Itanium 2 9000 seeria nime all). See protsessor oli kahetuumaline, umbes kaks korda parema jõudlusega ja 20% väiksema energiatarbega.

2007. aasta novembris lasi Intel müüki Itanium 2 9100 seeria koodnimega *Montvale* 

### Itanium 9300 (Tukwila): 2010
Itanium 9300 protsessor, koodnimega Tukwila, ilmus müüki 8. veebruaril 2010. Tukwila kasutab 65&nbsp;nm protsessi, sisaldab 2–4 tuuma, kuni 24 MB vahemälu, Hyper Threadingu tehnoloogiat ja integreeritud mälukontrollereid. See rakendab *double-device data correction* tehnoloogiat, mis aitab parandada mäluvigu. Tukwila rakendab ka Intel QuickPath Interconnect (QPI) tehnoloogiat, et asendada Itaniumi siinil põhinevat arhitektuuri. Selle interprotsessori ribalaius on 96 GB/s ja mälu ribalaius 34 GB/s. Tänu QuickPath tehnoloogiale on protsessoril integreeritud mälukontrollerid ja see suudab mälu otseselt juhtida. Quickpath on samuti kasutusel Inteli protsessorites, mis kasutavad Nehalemi mikroarhitektuuri, mis võib võimaldada nii Tukwilal kui ka Nehalemil kasutada samu kiibistikke. Tukwila sisaldab 4 mälukontrollerit. Iga neist toetab mitut DDR3 DIMM-i teise mälukontrolleri kaudu.

## Arhitektuur

Intel oli ulatuslikult dokumenteerinud Itaniumi käskude kogumit ja mikroarhitektuuri. Itaniumi arhitektuuri nimetati mitu korda ümber. HP nimetas selle algul PA-WideWordiks. Intel nimetas selle IA-64-ks ja hiljem Itanium Processor Architecture'iks (IPA), enne kui jäädi pidama nimel Intel Itanium Architecture, kuid ka nimi IA-64 on veel laialt kasutusel.

Itanium on 64-bitine registririkas detailselt paralleelne arhitektuur. Loogilise aadressi ruum on 264 baiti. Arhitektuur rakendab haru väitmist, eeldamist ja oletamist. See kasutab riistvaralist registrite ümbernimetamise mehhanismi. Sama mehhanismi kasutatakse ka selleks, et lubada tsüklite paralleelset käivitumist. Oletamine, eeldamine, väitmine ja ümbernimetamine on kõik kompilaatori kontrolli all: iga käsusõna rakendab selleks lisa baite.

Arhitektuur rakendab 128 täisarvude registrit, 128 murdarvude registrit, 64 ühebitist väidet ja 8 haruregistrit. Murdarvude registrid on 82 bitti pikad, et säilitada paljude komakohtadega arvude täpsust.

### Käskude täitmine
Iga 128-bitine käsusõna sisaldab 3 käsku ning hankimise mehhanism suudab L1-vahemälust lugeda torustikku kuni 2 käsusõna ühe tsükli jooksul. See tähendab, et kui kompilaator maksimaalselt seda kasutada, suudab protsessor täita 6 käsku ühe tsükli jooksul. Protsessoril on 30 funktsionaalset käivitamisseadet üheteistkümnes grupis. Iga seade saab käivitada käskude kogumist üht kindlat alamhulka ja iga seade täidab käske sagedusega üks käsk tsükli kohta, juhul kui käivitusmehannism ei veni aega, et oodata andmete kohalejõudmist. Kuigi kõik seadmed ühes grupis ei käivita identseid käskude kogumist alamhulka, saavad mitmed seadmed täita ühiseid käske.

Käivitamisseadmete gruppidesse kuuluvad:
* kuus üldotstarbelist ALU-t, kaks täisarvuseadet, üks nihkeseade
* neli andmete vahemäluseadet
* kuus multimeediaseadet, kaks paralleelset nihkeseadet, üks paralleelne korrutaja, üks kogumilugeja.
* kaks 82-bitist murdarvude korrutaja-liitja seadet, kaks SIMD murdarvude korrutaja-liitja seadet (kumbki kaks 32-bitist operatsiooni)
* kolm hargnemisseadet

Kompilaator tihti saab grupeerida käske kuueliikmelistesse hulkadesse, mis saavad käivituda samaaegselt. Kuna murdarvuseadmed rakendavad korrutamise-liitmise operatsiooni, saab üks murdarvuline käsk teha kahe käsu tööd, kui rakendus tahab midagi korrutada ja siis vastust kuhugi liita. Kui see olukord esineb, saab protsessor teha neli *FLOP-i* tsüklis. Näiteks 800&nbsp;MHz Itaniumil on teoreetiline kiirusehinnang 3,2 GFLOP-i ning kõige kiiremal Itanium 2 protsessoril 6,67 GFLOP-i.

### Mälu arhitektuur
Aastatel 2002–2006 oli Itanium 2 protsessoritel samasugune vahemälujaotus. Neil oli 16 kB esimese taseme vahemälu käskude jaoks + 16 kB andmete jaoks. Teise taseme vahemälu oli käskudel ja andmetel ühine – 256 kB. Kolmanda taseme vahemälu oli samuti käskudel ja andmetel ühine ning varieerus vahemikus 1,5–24 MB. 256 kB teise taseme vahemälu sisaldab küllalt loogikat, et käitleda semafoorseid operatsioone ilma, et tuleks segada peamist aritmeetilise loogika seadet.

Põhimälule käib juurdepääs siini kaudu. Algul nimetati Itanium 2 siini McKinley siiniks, kuid nüüd viidatakse sellele enamasti nimetusega "Itanium bus". Viimaste protsessorite väljalaskmisega kasvas Itaniumi siini kiirus püsivalt. Siin kannab üle 2×128 biti tsükli kohta. See tähendab, et 200&nbsp;MHz McKinley siin kandis üle 6,4 GiB/s ja 533&nbsp;MHz Montecito siin 17,056 GiB/s.

## Riistvaraline tugi
### Süsteemid
Alates 2009. aastast pakuvad Itaniumil põhinevaid arvuteid mitmed tootjad, sealhulgas HP, SGI, NEC, Fujitsu ja Hitachi. Suurematest serveritootjatest toodab HP tänapäeval vähemalt 80% Itaniumi-põhistest süsteemidest. HP 2006. aasta esimese kvartali müük oli 7200 arvutit. Lõviosa müüdavatest arvutitest moodustavad suurfirmade serverid ja arvutid, mille eesmärk on mahukate tehniliste arvutuste sooritamine. Tüüpiliselt kasutab üks süsteem kaheksat või enamat Itaniumi protsessorit.

### Kiibistikud
Itaniumi siin on ühenduses ülejäänud süsteemiga läbi kiibistiku. Serveritootjate süsteemid eristuvad kiibistikus kasutatavate ühenduste (mälu, vaheühendused ja lisaseadmete kontrollerid) poolest. Kiibistikku võib lugeda süsteemi-tasandil süsteemi arhitektuuri südameks. Kiibistiku väljatöötamine ja tootmisse toomine on kulukas protsess, millega Itaniumi puhul tegelevad tänapäeval HP, Fujitsu, NEC ja Hitachi.

## Viited