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 MHz
 25 millioner 180 nm CMOS transistorer + Nivå-3 Cache
 300 mm²
 64-bit databuss, 266 MHz (2 x 133 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 – 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 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 GHz, 900 MHz
 221 millioner 180 nm CMOS transistorer (1 GHz)
 421 mm² (1.5 Mb Nivå-3 Cache) og 464 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 MHz) eller 3 Mb (1 GHz) Nivå-3 Cache for data og instruksjoner
 128-bit databuss, 400 MHz (2 x 200 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 GHz, 1.4 GHz og 1.3 GHz (1.6 GHz lansert i april 2004)
 1.3 Volt intern spenning
 410 millioner 130 nm CMOS transistorer
 374 mm² (6 Mb Nivå-3 Cache)
 Integrert 1.5 Mb (1.4 GHz) 3 Mb (1.3, 1.4 og 1.6 GHz), 4 Mb (1.4 GHz) eller 6 Mb (1.5 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 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 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 GHz og 1.3 GHz
 3 Mb integrert Nivå-3 Cache for data og instruksjoner
 128-bit databuss, 533 MHz, 17,056 Gbps

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

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

 1.6 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 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 GHz
 6 Mb eller 9 Mb Nivå-3 Cache for data og instruksjoner, delt mellom de to kjernene
 128-bit databuss, 667 MHz

Intel Itanium-2 «Montecito» (2006)
Denne prosessoren ble lansert den 18. juli 2006, og ble fabrikkert med 90 nm transistorer (istedenfor 180 nm 2001–2002 og 130 nm (2003–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 GHz og 1.4 GHz
 1.7 milliarder 90 nm CMOS transistorer
 580 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 MHz (1.4 GHz) og 533 MHz (1.6 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 GHz

Utbredelse

Superdatamaskiner

I 2001 bygde IBM Titan Cluster Itanium, med 320 stk 800 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 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 MHz Itanium-2, og to stk HP rx5670, hver enkelt med 4 stk 1 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 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)

 
IT-relaterte introduksjoner i 2001