Itanium

**Itanium**（アイテニアム）は、インテルが2001年にリリースした、64ビットマイクロプロセッサ。ヒューレット・パッカード (HP) と共同開発した高性能サーバ向けの命令セットアーキテクチャであるIA-64を初めて採用した。

**Itanium 2**（アイテニアムツー）は、翌2002年に発表されたItaniumの後継で、3次キャッシュを内蔵させるなど性能の向上を図った。2008年2月25日、インテルはItanium 2の表記を「**Itanium 9000**」などに変更した。これはプロセッサナンバーの採用によりItaniumとItanium 2を区別する必要性が薄れたこと、ブランド力の強化などがあげられる。

2019年1月、インテルは2021年のItaniumシリーズ製造終了を発表した。

## 概要

16ビットおよび32ビットのx86命令セットアーキテクチャのマイクロプロセッサによってパーソナルコンピュータ市場では事実上の標準となったインテルは、1994年に独自の64ビット命令セットアーキテクチャである「IA-64」を発表し、従来の32ビットx86アーキテクチャ (x86-32) を「IA-32」と呼ぶようになった。

IA-64は、従来のx86-32との命令セットレベルの互換性という制約を捨てる代わりに、HPと共同開発したEPICアーキテクチャを採用し、コンパイラなど主にソフトウェアによる命令レベルの並列性を発揮することで性能と将来への拡張性を確保することを目的とした。ただし、IA-32命令をIA-64命令へ変換するハードウェアデコーダが搭載されていたので、互換性を完全に考慮していないわけではなかった。

インテルはIA-64により、各社のRISCプロセッサが占めるハイエンドの64ビット市場に進出し、HPは従来からのPA-RISCからの移行を表明した。IA-64は同時に特許などで保護されたアーキテクチャであるため、AMD などの互換プロセッサメーカーの振り切りを狙う目的もあり、将来的にはIA-32 (x86) からの移行も掲げられていた。またインテルがメーカー各社に供給することで、幅広いハードウェアやソフトウェアでサポートと、大量生産による価格競争力の向上により、当時の32ビット市場におけるIA-32に続いて、次世代の64ビット市場で事実上の標準となることが提唱された。

しかしIA-64を採用した最初のマイクロプロセッサであるItanium（コードネームMerced）は開発が遅れ、当初予定の1999年から2年後の2001年にリリースされたが、当時の各社RISCプロセッサだけではなく、Xeonなど自社のx86プロセッサと比較しても価格性能比が低く、サポートするハードウェアやソフトウェアは広まらず、またx86エミュレーションの遅さもあり、広くは普及しなかった。

2002年には性能を改善したItanium 2がリリースされ、2008年の「Itanium 9000」番台への名称変更を経たが、同時期の各社プロセッサと比較しての価格性能比や、更に64ビット命令セットアーキテクチャとしては後発のx86-32を64ビット拡張したx64 (x86-64) が普及したこともあり、2010年の時点でも、IA-64 (Itanium) の普及は一部のメインフレームやミッドレンジコンピュータの移行先など、限定的な市場に留まった。

### Itanium 2
Itanium 2の位置付けは、RISCプロセッササーバやメインフレームの置き換えであるとされており、そのため信頼性の向上にプロセッサレベルで対応している。シリーズ共通の特徴は以下の通りである。
* 16KBの1次命令キャッシュと16KBの1次 (L1) データキャッシュ
* 2次 (L2) キャッシュは規定されていないが特筆していない場合は256KB（命令/データ共通）
* 3次 (L3) キャッシュは機種により異なり、1.5MB〜24MB
* MckinleyバスまたはScalability Portとも呼ばれるシステムバスは128ビット幅
** 200MHz（DDRなので実質400MHz）の場合、6.4GB/s
** 2004年には、266MHz（実質533MHz）、8.5GB/sとなった
** 2005年には、333MHz（実質667MHz）、10.6GB/sとなった
*ItaniumからItanium 2へのマイクロアーキテクチャ上の変更点は、整数演算&メモリのユニットが2個から4個に拡張（整数演算専用ユニットは別に2個ある）、命令発行の組み合わせを増大させた、パイプライン段数を10段から8段に変更、などがあげられる。
* IA-64だけでなく、IA-32ベースのアプリケーションも実行可能である。
**Montecitoより前のCPUでは、IA-32を処理するハードウェアデコーダが搭載されていた。この機能はWindows Itanium EditionにおけるWin32エミュレーションレイヤーでかつて使われていた（Itaniumに移植されなかったプログラム、OCX、DLLの実行に必須で、特にActiveXに対する後方互換性は重大な課題であった）。Montecitoからはハードウェアデコーダは削除され、EFIでIA-32エミュレータがロードされるようになった。

キャッシュ設計上の興味深い点としてL2キャッシュがALUを使わずにセマフォーを操作できるロジックを備えている点である。デュアルコアである2006年7月発売の製品Montecitoを皮切りに、以降のItaniumファミリはマルチコアチップとなる。

## 歴史
*1994年 インテルとHPがIA-64の共同開発を発表
*1999年 インテルとHPがIA-64の詳細を発表
*2001年 Itanium (Merced) リリース
*2002年 Itanium 2 (Mckinley) リリース
*2003年 Itanium 2 (Madison) リリース
*2004年 Itaniumの設計よりHPが撤退
*2005年 Itanium Solutions Alliance (ISA) 発足
*2006年 Itanium 2 9000 (Montecito) リリース（後にItanium 9000と改称）
*2007年 Itanium 2 9100 (Montvale) リリース（後にItanium 9100と改称）
*2008年 Itanium 2をItaniumと改称
*2010年 Itanium 9300 (Tukwila) リリース
*2012年 Itanium 9500 (Paulson) リリース
*2017年 Itanium 9700 (Kittson) リリース
*2020年1月30日 最終受注日
*2021年7月29日 最終出荷日

## 世代
### Itanium 世代
;Merced

2001年5月29日に発表。180 nmプロセスで製造され、動作周波数は最大 800 MHz。パッケージ内に外部3次キャッシュとして2MBか4MBを選択できる。価格は1,200 - 4,000USドル。しかし、その性能は業界を満足させるものではなかった。これは当初1999年のリリースを目指していたものの、度重なる延期により設計仕様が2年遅れとなってしまったことも大きい。IA-64モードでは同クロック周波数のx86と比較して若干性能がよい程度で、エミュレーションでIA-32のコードを実行すると非常に低い性能しか出なかった(同クロック周波数のx86の1/8)。激しい市場競争により同時期のx86プロセッサは倍以上の1.7GHzに達しており、プラットフォームも旧式化していた。

* 対応ソケット: PAC418

### Itanium 2 世代
;Mckinley

2002年7月8日に発表。0.18 μmプロセスで製造される第一世代のItanium 2。IA-64命令セットにbranchlong命令が追加され、実行ユニットを4から6へ増加、キャッシュ周りが再設計されるなどして性能が最大2倍向上しているが、その恩恵を受けるにはItanium2向けに再コンパイルする必要がある。なおIA-32性能も大幅に改善されたが、同時期のx86プロセッサの性能には遠く及ばず、Mckinleyでのx86コード実行速度はクロック周波数が2/3のPentium IIと同等である。開発初期段階ではFlagstaff (フラッグスタッフ) という名称で開発されていた。

* 対応ソケット: PAC611

;Madison
2003年6月末に登場した0.13 μmプロセスで製造される第二世代のItanium 2。ダイサイズは374平方ミリメートル。消費電力はMckinleyと変わらず130ワット。発表当初は3次キャッシュを最大で6 MB搭載するものが出荷されていたが、後に最大で9 MB搭載するもの (Madison-9M) が発表された。2005年にはFSBが667 MHzのものが発表された。最新のものはSPECfpで2,801を記録した (日立製作所のComputing blade)。

* 対応ソケット: PAC611

;Deerfield
2003年にリリースされた2CPUまでのSMPに対応したMadisonの派生版。低電圧版の位置付けで、Madisonよりも消費電力が大幅に抑えられている。消費電力は63ワットでブレードサーバや1Uサーバ向きである。

* 対応ソケット: PAC611

;Hondo
HPがmx2デュアルプロセッサモジュールとして2003年に発表し、2004年から出荷した、Itanium 2を二次利用したプロセッサ。ふたつのMadisonコアと32 MBのL4キャッシュを通常のItanium 2と同じサイズにパッケージ化したもの。HPのみが販売しており、最近では1.1 GHzで各コアに4 MBのL3キャッシュを搭載したものを使っている。

;Fanwood
2004年に登場した2CPUまでのSMPに対応したMadison (Deerfield) の派生版。通常電圧版ではFSBクロックが533 MHzに向上している。

* 対応ソケット: PAC611

### Itanium 9000 世代
;Montecito

2006年7月18日に発表、即日発売されたItanium 2シリーズの中の一つ。当初の名称はDual-Core Itanium 2 Processor 9000。この9000はプロセッサナンバで、広義では9xxxの総称とも言えるが、狭義として90xxの総称でもある。後のItanium 2の名称のItaniumとの統合により、このプロセッサの名称はItanium 2 9000から**Itanium 9000**に改められた。

Intelの発表では、Itanium 9050は前世代にあたるMadisonとの比較で、性能が最大2倍、消費電力が最大2割減となり、消費電力当たり性能は最大2.5倍に達するとしている。

9000シリーズの基本共通は、製造プロセスルールは90 nm、L2キャッシュ容量は2.5 MB (デュアルコアのコア毎に1 MBのコードと0.25 MBのデータをキャッシュする)。L3キャッシュは最大容量の製品で24 MB。補助機能としてVirtualization Technology (VT)、Hyper-Threading Technology (HT、一部の製品で無効化されている)、Cache Safe Technology機能を搭載する。熱設計電力は9010のみ75 Wで、シングルコア。

Montecitoに用いられるHT技術は、NetBurstマイクロアーキテクチャでの同時マルチスレッディング (Simultaneous Multi-Threading; SMT) とは違い、CGMT (Coarse-Grain Multi-Threading) を使用している。

* 対応ソケット: PAC611

;Montvale
Montecito の機能強化版。2007年10月31日即日販売された。名称はDual-Core Itanium Processor 9100番台。

製造プロセスルールは90 nm、最高1.66 GHzの動作周波数、667 MHzのFSBを備え、104W以下の消費電力で動作。2つのプロセッサとチップセットが同じバスに搭載された3ロードバスによって、エンタープライズおよびハイパフォーマンスコンピューティング (HPC) での使用において、優れた能力を発揮する。

また、サーバの利用が低い時の消費電力を削減する新機能「デマンド・ベース・スイッチング」(DBS) により、エネルギーコストの低減にも寄与する。

さらに2008年第1四半期からコアレベルロックステップ機能付きモデルを出荷開始する。この機能はプロセッサーコア内で起こるエラーの検出を確実に行うことでデータの完全性とアプリケーションの信頼性を向上させる新技術である。

* 対応ソケット: PAC611

;Tukwila

2010年2月9日にItanium 9300シリーズとして発表された。製造プロセスルールは65nm8層メタルで、4コアとなった。「Tanglewood」と呼ばれていたころは小さなCPUコアを16個備えるマルチコアを構想していたが、Montecitoと同じCPUコアが採用され、L2命令キャッシュを512KBに縮小しつつ共有のL3キャッシュをコアごとに6MBへと増やした。大きな特徴としてシリアルバスのメモリーコントローラーを2つ内蔵し、QuickPath InterConnectを備える。

対応メモリーはシリアル接続のFB-DIMMとなるはずだったが、最終的にはScalable Memory Bufferチップを介してDDR3をサポートした。また、QuickPath インターコネクトの合計帯域は96GB/secとなるが、Xeon MPとの互換性は信号レベルに止まり別プラットフォームとなった。なお、Montecitoの頃にFoxtonテクノロジと呼ばれていたインテル ターボ・ブースト・テクノロジーが有効化された。

従来のItaniumプロセッサに比べて低電圧動作を可能としたが、動作クロックを上げながら4コアとなったこともありTDPは最大185Wと高くなっている。トランジスタ数は20億5000万個、ダイサイズは約700平方mmと巨大である。また、対策を強化し、宇宙線の中性子によるエラーを1/80から1/100に抑えたとしている。

当初は2007年発売の予定が2008年末に延期され 、2008年末には2009年半ばへ再延期、2009年2月にはデザイン修正のために2009年後半、2009年5月には出荷予定を2010年第1四半期へと遅延し続けた。そして2010年2月9日、当初予定から3年遅れでリリースされた。

* 対応ソケット: LGA1248

;Poulson
2012年11月9日発表。9500シリーズは、Tukwila の後継プロセッサとしてPoulsonとの開発コード名で開発された。製造プロセスルールは45 nmはスキップして32 nmを採用し、最大8コア、マルチスレッド処理を強化し、特に仮想化などの並列処理用の命令を追加した。Intel VT-x, VT-d, VT-i 対応。クロックは最大2.53 GHzとなった。2010年から実施しているXeonとの基盤要素共通化を反映させたとしている。対応メモリは DDR3-800 と DDR3-1067。

* 対応ソケット: LGA1248

;Kittson
2017年5月発表。当初2013年リリースを目指し、22nmプロセスによるスループットの大幅な向上およびシングルレベルの向上にXeonとのソケット互換を実現させる計画だったが、定義の見直しにより32nmのまま Itanium 9500 と互換性を維持することになった。最終的に5年の歳月を経てステッピングチェンジが行われただけで、インテルのデータシートによると上位2モデルのクロック周波数向上以外に9500から機能面の変化なし。

インテルはXeonとのソケット互換について将来において再検討されるとしていたが、IDG Newsに対してKittsonが最後のItaniumであると明かした。

ヒューレット・パッカード・エンタープライズは搭載サーバを少なくとも2025年12月31日までサポート予定。対応OSはHP-UX。

* 対応ソケット: LGA1248

## 採用

1994年のIA-64発表当時は、IA-32(x86)でパーソナルコンピュータ市場での事実上の標準となったインテルが、PA-RISCとHP-UXを持つHPとの共同開発により、64ビット市場でMIPS、Alpha、SPARC、POWERなどの各社のRISCプロセッサと正面から競合し、同時にAMDなどの互換プロセッサベンダーを振り切るものと広く報道された。

このためハイエンド市場への進出を狙うマイクロソフトはWindows、メインフレームやオフィスコンピュータなどの自社独自プロセッサの移行先とするBull GCOS、NEC ACOS-4などの他、競合プロセッサの開発を続けるIBMやサンもオペレーティングシステムであるAIXやSolarisではIA-64版の開発を並行して進めた。

しかし初代Itanium (Merced) のリリースは当初予定の1999年から遅れて2001年となり、各社はItanuim対応製品をリリースしたが、当時の各社RISCプロセッサと比較しての性能の低さ、対応アプリケーションの少なさ、IA-32互換モードの遅さもあり、広くは普及せず、AIXやSolarisのIA-64版はリリースされなかった。

その後も各社RISCと比較してItaniumの性能向上は進まず、一方でレジスタ数や信頼性などで各社独自プロセッサの移行は進んだ結果、IA-64 (Itanium) はニッチ市場化、特に日本市場への偏りが進んだ。一方で、2003年には従来のx86の64ビット対応であるAMD64が登場し、2004年から2006年にかけてインテルもIntel 64として追随したため、各社のローエンドサーバはx64が主流となった。

1999年に設立されたスタートアップのPlatform Solutionsは、主にアムダールを退職したエンジニアを擁し、HP製のItanium 2プラットフォーム上でIBMメインフレームのバイナリコードをエミュレートして、IBMのオペレーティングシステムを含む既存のメインフレームのアプリケーションをそのまま動作させるという野心的なソフトウェアを開発した（最低2 CPUのSMPプラットフォームで、一つのCPUがLinuxで走るI/Oプロセッサとして動作し、残りのCPUはメインフレームの命令セットをエミュレートするSMPとして動作する）。IBM互換のコンピュータ会社が次々とメインフレームのビジネスから撤退して、IBMが再び独占することになったメインフレームのマーケットの内、主にローエンド機器のシェアを狙ったが、IBMはこれに対して特許侵害などを理由に訴訟を起こし、最終的にIBMがPlatform Solutionsを買収することで決着したことで、この「新しい互換機ビジネス」は幻のものとなった。

2004年にはItaniumの設計よりHPは撤退し、Itanium の開発に携わった HP の社員はインテルに移籍し、Itaniumはインテルからの販売のみとなった。また2005年9月に**Itanium Solutions Alliance** (ISA) が設立された。

マイクロソフトは2005年にWindows XP Professional 64-bit Itanium Edition の販売を終了して、代わりに x64 Edition を販売開始し、さらに2010年4月には残るサーバ製品である Windows Server でも今後のItaniumサポート中止を表明した。レッドハットは2009年に次期RHEL 6ではItaniumはサポートしないことを表明した。オラクルは2011年3月にItanium向けの全ソフトウェア開発の終了を発表したが、直後にHPはオラクルを批判しItanium向けHP-UX開発継続を表明した。同年6月、HPはオラクルを契約違反で提訴、2012年8月に裁判所は契約に基づくサポート義務を認定、翌9月にオラクルはItanium向けソフトウェアの開発継続を発表した。

2011年現在、Itaniumの採用は主に、ユニシス OS2200やNEC ACOS-4やHP NonStopなどの独自仕様のメインフレームおよびオフィスコンピュータの代替市場と、HPやNECや日立のHP-UX稼働サーバの一部、SGIなどのLinux サーバの一部に留まっている。スーパーコンピュータ市場 (TOP500) でのIA-64システムの比率は最大では1〜2割となったが、2009年には1.2%に低下し、2013年6月のリストでは1つも採用されていない。

## 批評
Itaniumの主な設計上の問題は3次キャッシュの遅延時間（レイテンシ）が大きすぎる点にある。インテルの設計者は明らかに、バンド幅が大きければレイテンシの問題は相殺されると期待していた。しかし、レイテンシが大きすぎキャッシュが遅くなったため、主記憶のインターフェースと大差のないものになってしまった。1次および2次キャッシュはかなり小さく（32KBと96KB）、システムバスの負荷を増大させた。キャッシュバンド幅が小さいことに加えて、IA-64コードはx86に比較して大きくなる傾向があった。したがって、キャッシュに置いておける命令数はキャッシュサイズから想像される以上に小さい。
*Itaniumはマルチプロセッサを前提に設計されたため、バスも低速だった。
*Athlonが当時使っていたFSBのクロックは200MHzで、Pentium IIIはそれよりさらに低速な133MHzだった。
*Itaniumのクロック周波数自体も、Athlonが1GHzのクロック周波数を実現していた当時としては低かった。

結論として、1998年〜1999年の出荷を想定して決められたと考えられている技術スペックに対し、開発の相次ぐ遅延により、出荷する前に時代遅れになってしまった。ただしItaniumの支持者は、シングルスレッドの実行に関してはItaniumがx86よりも高速であると主張している。

## 脚注

## 関連項目

*IA-64アーキテクチャ
*Intel 64アーキテクチャ
*Xeon
*Opteron

## 外部リンク
*インテル Itanium プロセッサー