Intel Itanium

**Intel Itanium**, eller bare **Itanium** (IPA: /aɪˈteɪniəm/ uttalt *aiteiniem*), er en familie av 64-bit mikroprosessorer fra Intel. Intel markedsfører dem for bruk i  høyytelses tjenere og superdatamaskiner. Mikroprosessorene er basert på en datamaskinarkitektur som har sin opprinnelse hos Hewlett-Packard (HP), og som senere ble videreutviklet av HP og Intel i fellesskap.

Arkitekturen blir kalt *Intel Itanium Architecture*; den ble tidligere også kalt *Explicitly parallel instruction computing* (EPIC), *Precision Architecture Wideword* (PA-WideWord), IA-64 og *Itanium Processor Architecture* (IPA). Benevnelsen IA-64 ble senere tatt i bruk om Intels 64-bit x86-prosessorer, som ikke må forveksles med Itanium. I praksis er dette en variant av arkitekturen *[[Very Long Instruction Word]]* (VLIW) som ble oppfunnet av en gruppe forskere ved Yale University i 1983.

Første generasjon ble lansert 4. juni 2001. Andre generasjon ble lansert den 8. juli 2002 under navnet **Intel Itanium 2**. Den 1. november 2007 ble også andre generasjon gitt navnet **Intel Itanium**. Artikkelen omtaler derfor begge generasjonene. Pr 2008 var Itanium den fjerde mest brukte mikroprosessorarkitekturen for bedrifts/server-markedet, etter  x86-64, Power Architecture, og SPARC.

## Arkitektur
Mikroprosessorenes arkitektur er radikalt forskjellig fra både RISC-prosessorer og x86-arkitekturen. Hewlett-Packard kalte den opprinnelig for **EPIC** *(Explicitly parallel instruction computing)*, men omdøpte den senere til **PA-WideWord** *(Precision Architecture Wideword)*. Intel kalte den først **IA-64** *(Intel Architecture 64-bit)*, mens IA-32 var navnet på 32-bit prosessorer basert på Intels x86-arkitektur. Etter lanseringen av 64-bit x86-prosessorer, endret Intel navnet til **IPA** *(Itanium Processor Architecture)*, og deretter til dens nåværende navn *Intel Itanium Architecture*. Arkitekturen blir likevel ofte (upresist) kalt «IA-64», som nå også omfatter Intels 64-bit x86 prosessorer.  

### Eksplisitt parallell utførelse
I likhet med Intel Pentium Pro, dens etterfølgere og kloner, implementerer arkitekturen *spekulativ utførelse*, *branch prediction* og *register renaming*. Det er imidlertid kompilatorenes oppgave å styre disse prosessene *eksplisitt*, og ikke prosessoren (slik tilfellet er med Intel Pentium Pro). Hver instruksjon inneholder ekstra bits for disse funksjonene.

Innebygd *out-of-order execution* er fraværende. Istedenfor å la maskinvaren (implisitt) oppheve avhengigheter mellom instruksjoner, gjøres dette *eksplisitt* av kompilatorene. Arkitekturen kan  utføre flere instruksjoner pr klokkepuls, men det er programvarens (ikke prosessorens) oppgave å hindre innbyrdes avhengigheter mellom instruksjoner slik at parallell utførelse er mulig.

Mens superskalære mikroprosessorer oppnår parallell utførelse ved hjelp av flere parallelle heltalls- og desimaltallsenheter, valgte Hewlett-Packard i 1989 å konstruere en ny arkitektur som var ment å erstatte både RISC- og CISC-prosessorer (hvor Power Architecture og SPARC er eksempler på førstnevnte, og  x86-64 på sistnevnte).

EPIC er en variant av en eldre arkitektur kalt *Very Long Instruction Word* (VLIW). Prinsippet i EPIC er å øke parallell utførelse, ved at hver enkelt instruksjon inneholder 3 instruksjoner.

Mens en tradisjonell superskalær prosessor (RISC eller CISC) med to heltallsenheter kan utføre 2 instruksjoner pr klokkepuls, vil en tilsvarende EPIC-prosessor utføre 6 (2x3) instruksjoner pr klokkepuls.

### Implementasjoner
#### Intel Itanium «Merced» (2001)
Lansert i juni 2001 under navnet **Intel Itanium** (kodenavnet «Merced»), bestod denne mikroprosessoren av 28 utførende enheter:

* 4 aritmetisk logiske enheter
* 2 heltallsenheter
* 1 shift-enhet
* 10 trinns pipe ved heltall
* 2 desimaltallsenheter for multiplikasjon og akkumulering
* 2 desimaltallsenheter for «diverse»
* 3 enheter for branch prediction
* 6 multimedia-enheter
* 2 enheter for parallelle shift
* 1 enhet for parallell multiplikasjon
* 1 enhet for *Hamming weight*
* 16 Kb Nivå-1 Data-cache
* 16 Kb Nivå-1 Instruksjons-cache
* 96 Kb Nivå-2 Cache for data og instruksjoner
* Ekstern Nivå-3 Cache (2 Mb eller 4 Mb) for data og instruksjoner

Andre egenskaper:

* 733 og 800&nbsp;MHz
* 25 millioner 180&nbsp;nm CMOS transistorer + Nivå-3 Cache
* 300&nbsp;mm²
* 64-bit databuss, 266&nbsp;MHz (2 x 133&nbsp;MHz), 2.1 Gbps båndbredde
* 64-bit adressebuss
* 128 64-bit heltallsregistre
* 128 82-bit desimaltallsregistre
* 64 stk 1-bit predikater
* 8 branch registre
* IA-32 dekoder for å kjøre programvare for x86-arkitekturen

Hvert 128-bit instruksjonsord til de to heltallsenhetene inneholder 3 instruksjoner. Dersom kompilatorene og programvaren utnytter dette, kan 2 instruksjoner hentes fra Nivå-1 Instruksjons-Cache Cache pr klokkepuls, og prosessoren kan utføre 6 instruksjoner pr klokkepuls.

Ettersom hver desimaltalls-enhet kan utføre en multiplikasjon og akkumulering &ndash; f.eks. a = a + (b X c), kan to instruksjoner utføres samtidig (addisjon og multiplikasjon). Når dette skjer, kan prosessoren utføre 4 desimaltallsbergeninger pr klokkepuls.

Ved 800&nbsp;MHz hadde derfor prosessoren en teoretisk ytelse på 4800 MIPS og 3.2 GFLOPS.

#### Intel Itanium-2 «McKinley» (2002)
Denne prosessoren ble lansert 7. august 2002, og skilte seg fra første generasjon på følgende områder:

* 1&nbsp;GHz, 900&nbsp;MHz
* 221 millioner 180&nbsp;nm CMOS transistorer (1&nbsp;GHz)
* 421&nbsp;mm² (1.5 Mb Nivå-3 Cache) og 464&nbsp;mm² (3 Mb Nivå-3 Cache)
* 6 aritmetisk logiske enheter
* 8-trinns pipe ved heltall
* 256 Kb Nivå-2 Cache for data og instruksjoner
* Integrert 1,5 Mb (900&nbsp;MHz) eller 3 Mb (1&nbsp;GHz) Nivå-3 Cache for data og instruksjoner
* 128-bit databuss, 400&nbsp;MHz (2 x 200&nbsp;MHz), 6.4 Gbps båndbredde

Ved å integrere Nivå-3 Cache i selve prosessoren, ble dens latens redusert fra 20 til 12 klokkepulser. Dessuten ble båndbredden mellom prosessor og ekstern RAM mer enn tredoblet, fra 2.1 Gbps til 6.4 Gbps.

#### Intel Itanium-2 «Madison» (2003)
Denne prosessoren ble lansert 30. juni 2003. Nyheter:

* 1.5&nbsp;GHz, 1.4&nbsp;GHz og 1.3&nbsp;GHz (1.6&nbsp;GHz lansert i april 2004)
* 1.3 Volt intern spenning
* 410 millioner 130&nbsp;nm CMOS transistorer
* 374&nbsp;mm² (6 Mb Nivå-3 Cache)
* Integrert 1.5 Mb (1.4&nbsp;GHz) 3 Mb (1.3, 1.4 og 1.6&nbsp;GHz), 4 Mb (1.4&nbsp;GHz) eller 6 Mb (1.5&nbsp;GHz) Nivå-3 Cache for data og instruksjoner

#### Intel Itanium-2 «Deerfield» (2003)
Dette var en mindre strømkrevende versjon av «Madison», som ble lansert 8. september 2003.

* 1.0&nbsp;GHz
* Integrert 1.5 Mb Nivå-3 Cache for data og instruksjoner
* Krevde 62 Watt (mot 130 Watt på «McKinley» og «Madison»)

#### Intel Itanium-2 «Hondo» (2003)
Dette var en dobbelt-kjerne versjon av «Madison» som ble lansert første kvartal 2004.

* 1.1&nbsp;GHz
* 2 x 16 Kb Nivå-1 Data-cache
* 2 x 16 Kb Nivå-1 Instruksjons-cache
* 2 x 256 Kb Nivå-2 Cache for data og instruksjoner
* 2 x 4 Mb integrert Nivå-3 Cache for data og instruksjoner
* Ekstern 32 Mb Nivå-4 Cache for data og instruksjoner
* Krevde 260 Watt (mot 130 Watt på «Madison»)

#### Intel Itanium-2 «Fanwood» (2004)
Denne prosessoren ble lansert 8. november 2004.

* 1.6&nbsp;GHz og 1.3&nbsp;GHz
* 3 Mb integrert Nivå-3 Cache for data og instruksjoner
* 128-bit databuss, 533&nbsp;MHz, 17,056 Gbps

1.3&nbsp;GHz utgaven var en versjon med lavere strømforbruk (62 Watt), og 400&nbsp;MHz databuss.

#### Intel Itanium-2 «Madison 9M» (2004&ndash;2005)
Dobbelt-kjerne prosessor som ble lansert i to versjoner. Den første ble lansert 8. november 2004, samtidig med «Fanwood»:

* 1.6&nbsp;GHz
* 2 x 16 Kb Nivå-1 Data-cache
* 2 x 16 Kb Nivå-1 Instruksjons-cache
* 2 x 256 Kb Nivå-2 Cache for data og instruksjoner
* 9 Mb Nivå-3 Cache for data og instruksjoner, delt mellom de to kjernene
* 128-bit databuss, 400&nbsp;MHz

Den andre versjonen ble lansert 5. juli 2005, i to varianter med ulik Nivå-3 Cache og høyere hastighet på databussen:

* 1.67&nbsp;GHz
* 6 Mb eller 9 Mb Nivå-3 Cache for data og instruksjoner, delt mellom de to kjernene
* 128-bit databuss, 667&nbsp;MHz

#### Intel Itanium-2 «Montecito» (2006)
Denne prosessoren ble lansert den 18. juli 2006, og ble fabrikkert med 90&nbsp;nm transistorer (istedenfor 180&nbsp;nm 2001&ndash;2002 og 130&nbsp;nm (2003&ndash;2005). Effekten var redusert til 104 Watt, mens 130 Watt var «regelen» i tidligere implementasjoner.

Mens den integrerte Nivå-2 Cache var blitt delt mellom instruksjoner og data, lanserte «Montecito» en større og delt Nivå-2 Cache.

«Montecito» er en dobbelt-kjerne prosessor, der hver kjerne har sin egen dedikerte Nivå-3 Cache.

* 1.6&nbsp;GHz og 1.4&nbsp;GHz
* 1.7 milliarder 90&nbsp;nm CMOS transistorer
* 580&nbsp;mm²
* 2 x 256 Kb Nivå-2 Cache for data
* 2 x 1 Mb Nivå-2 Cache for instruksjoner
* 2 x 12 Mb integrert Nivå-3 Cache for data og instruksjoner
* 128-bit databuss, 400&nbsp;MHz (1.4&nbsp;GHz) og 533&nbsp;MHz (1.6&nbsp;GHz)

I «Montecito» er den innebygde støtten for kjøring av IA-32 programmer fjernet, og erstattet med programvare-emulatoren *IA-32 EL*, som Intel utviklet i 2005.

«Montecito» innførte dessuten *lettvekts-prosesser*, også kalt *multi-tråder* *(multithreading*: Hver prosessor-kjerne kan utføre to tråder. Dersom én av trådene stopper opp ved henvendelse til det eksterne minnet, fortsetter den andre tråden.

Enda en nyhet var innebygd støtte for *virtualisering*, der flere instanser av operativsystemet kan kjøre samtidig på prosessoren.

#### Intel Itanium-2 «Montvale» (2007)
Denne prosessoren ble lansert den 31. oktober 2007.

* 1.67&nbsp;GHz

## Utbredelse
### Superdatamaskiner

I 2001 bygde IBM *Titan Cluster Itanium*, med 320 stk 800&nbsp;MHz Intel Itanium prosessorer. Med en ytelse på 667.9 GFLOPS, ble den i november 2001 kåret til verdens 34. raskeste superdatamaskin.

I juni 2004 ble Thunder (LLNL), basert på Itanium 2, rangert som verdens 2. raskeste superdatamaskin med en ytelse på 19.94 TFLOPS.

I november 2004 havnet superdatamaskinen *Colombia* på 2.-plass med 20 stk SGI Altix 3000 noder som kjørte SUSE Linux Enterprise Server 9, hver enkelt med 512 Intel Itanium 2 prosessorer (totalt 10,240 Itanium 2 prosessorer), med en ytelse på 51.8 TFLOPS.

### Servere
Prosessoren erstattet PA-RISC og Alpha i Hewlett-Packards systemer, og MIPS i SGI's HPC-systemer.

### Bruk i Norge
Universitetet i Tromsø (UiT) bygde i november 2004 Norges største tungregneanlegg for akademisk bruk, i form av HP Superdome-datamaskinen *Snowstorm*, med 196 stk 1,3&nbsp;GHz Itanium 2 mikroprosessorer. Maskinen kjørte HP-UX, og hadde en ytelse på 1,02 TFLOP. I tillegg investerte Universitetet i en klynge på ni datamaskiner med totalt 22 stk Itanium 2 mikroprosessorer: Syv stk HP rx2600, hver enkelt med 2 stk 900&nbsp;MHz Itanium-2, og to stk HP rx5670, hver enkelt med 4 stk 1&nbsp;GHz Itanium-2. Klyngen kjører 64-bit Red Hat Linux Advanced Server.

I 2007 ble denne erstattet av superdatamaskinen *Stallo* med 1408 stk 2,66&nbsp;GHz 2 Xeon X5355. Dette er en firekjerners prosessor, og datamaskinen har derfor totalt 5 632 prosessorkjerner.

### Operativsystemer

Linuxdistribusjonen Debian innførte støtte for Intel Itanium i versjon 3.0 «Woody», som ble lansert 19. juli 2002. Denne støtten var også tilstede i versjon 3.1 «Sarge» (2005), i versjon 4.0 «Etch» (2007), i versjon 5.0 «Lenny» (2009), i versjon 6.0 «Squeeze» (2011) og i versjon 7.0 «Wheezy» (2013). Støtten for Itanium ble kuttet ut i Debian versjon 8.0 «Jessie», som ble lansert 15. april 2015.

Fedora versjon 9 «Sulphur», som ble lansert 13. mai 2008, hadde støtte for Intel Itanium, men denne støtten har ikke vært til stede i senere versjoner av Fedora. Versjon 2.1 «Pensacola» av Red Hat Enterprise Linux, som ble lansert 26. mars 2002, innførte likeledes støtte for Intel Itanium. Denne støtten opphørte i Red Hat Enterprise Linux 6 «Santiago», som ble lansert 10. november 2010.

## Referanser


## Eksterne lenker
* 
* Digi.no  - *Prosessorfremtiden som aldri ble - Nå har selv HP forlatt sitt eget prosessorbarn Itanium og i stedet valgt arkitekturen den var ment å erstatte.* (23.12.2014)