Itanium

**安騰**（英語：**Itanium**），是英特爾安騰架構（通常稱之為 **IA-64**）的 64 位元處理器。英特爾推出了兩個安騰的家族：其一是**安騰**，另一個是**安騰 2**。在 2007 年 11 月 1 日，安騰 2 的家族又再一次稱為_安騰_。該處理器的市場定位是在於企業伺服器與高效能運算系統。該架構由惠普創始，後來則是惠普與英特爾共同開發。

_安騰_的微架構是徹底的不同於其他英特爾處理器採用的 x86（包含 x86-64）架構。這個架構是建基於顯性的指令並行，由編譯器來決定哪些指令並行處理。這種方式允許處理器在每個週期最多可以執行 6 個指令。與超純量架構的不同點，_安騰_在並行處理中並沒有複雜的線路來判斷指令依賴性，所以編譯器必須要在編譯的時候就已經處理妥當。

在一系列的拖延開發進度後，第一款安騰於 2001 年推出，效能更強的安騰處理器在之後則是有週期性的持續推出。採用安騰處理器的製造商之中，以惠普的製造量最多。在 2007 年，安騰在企業界系統採用的架構之中是位於第四名，而前三名則是 x86-64、IBM POWER 與 SPARC。英特爾於 2007 年 11 月推出最新的安騰處理器為 Montvale 核心，2012 年推出安騰 9500（Poulson）。2017 年推出最後一代 Itanium 處理器，但是在技術上較同時代 Xeon 低級，且停止開發 Itanium。

## 歷史

### 開發：1989 至 2001

在 1989 年，惠普認為 RISC 架構將來會遇到每週期只能執行一個指令的瓶頸。而惠普的研究員在研究一個稱之為顯式並行指令運算（EPIC）的新架構，該架構允許處理器在一個週期內執行多條指令。EPIC 是一種超長指令字（VLIW）架構，每個這種指令即包含多條小指令。使用 EPIC 技術後，編譯器就能決定讓這些小指令同時執行於單一週期，因此處理器能夠簡單的執行這些指令而不需要很複雜的架構去決定哪些指令能夠並行執行。

惠普認為它對個別企業系統公司不具有足夠的成本效益來自行開發自己的處理器，所以惠普在 1994 年與英特爾結為合作夥伴來開發 EPIC 為基礎的 IA-64 架構。而英特爾預測 IA-64 微處理器將會被使用多數的企業系統製造業採用而給予大量的開發資源。在 1998 年，惠普與英特爾發表共同的大規模合作開發的成品，內部代號為 **Merced**。

在開發期間，英特爾、惠普還有工業分析家預測 IA-64 將會支配伺服器、工作站、高階電腦，甚至取代 RISC 與 CISC 架構的所有既有產品。此預測導致 Compaq 與 Silicon Graphics 決定放棄 Alpha 與 MIPS 架構的未來開發計畫而偏愛轉移至 IA-64 架構。

數個集團分別開始為該架構開發作業系統，包含 Microsoft Windows、Linux 與 Unix 的衍生版本像是惠普 - UX、Solaris、Tru64 UNIX 與 Project Monterey（後三者在進入市場之前就已被取消）。在 1997 年發現 IA-64 架構與該編譯器的開發難度比預期還要高，所以 Merced 的推出時間就一再順延。該技術困難包含需要非常大量的電晶體才能處理超長指令與大量快取。在該架構的專案還有一些結構性的問題，在兩部分的整合團隊使用不同的演算法而有些微不同的優先度。自從第一顆 EPIC 架構的處理器 Merced 推出後，開發團隊也陸續遭遇更多之前未預料到的問題。除此之外，EPIC 的概念依賴於編譯器的處理能力，而之前完全沒有實作過，所以許多未預測到的研究也出現。

英特爾在 1999 年 10 月 4 日發表該處理器的官方名稱安騰。幾小時之後觀察家指出該處理器參考 _Itanic_，源自於 Titanic，在 1912 年沉沒的號稱「不可能」沉沒的遠洋郵輪。不少評論媒體暗示安騰像是個大白象耗資億元的產物卻無法達到既定效能與銷售量。但此時 RISC 與 CISC 的架構長足的增強超純量的效能，能夠不使用 EPIC 的技術來破除單一週期只能執行一個指令的魔咒。

### 第一代安騰處理器：2001 至 2002

第一代安騰在 2001 年 6 月推出，但是卻不優於同時代的 RISC 與 CISC 處理器。_安騰_與 x86 的低階伺服器（小於 4 CPU 的系統）競爭，還有跟高階的 IBM POWER 架構與 SPARC 架構競爭市場。而英特爾重新定位安騰指向高階商務與高效能運算系統，嘗試去複製 x86 架構中非常成功的橫向市場發展（單一架構，多個系統製造廠）。不過卻被侷限在業界不想更換惠普製造的 PA-RISC 與 Alpha，還有 SGI 製 MIPS 架構的高效能運算系統。因為當 x86 架構切入商用市場上，POWER 與 SPARC 架構還算是很強健的。以預算為主的考量，x86 在商用運算的橫向發展中是非常優秀的選擇。惠普與英特爾此時發現安騰無法與其他系統相提並論，就在一年後就推出安騰 2 來取代舊有的安騰。由於缺乏足夠的產額、差勁的效能，還有高售價，第一代安騰只有售出幾千組系統。不過這些系統在開發安騰 2 的軟體時是相當有用的。不過既使如此，IBM 還是有製造出搭載此處理器的超級電腦。

### _安騰 2_ 處理器：2002 年至 2017 年

## 架構

英特爾有龐大的安騰指令集與微架構的紀錄檔案，而且技術檔案也提供瀏覽。該微架構在歷史上曾幾度更名。惠普稱之為 _EPIC_，後來改為 _PA-WideWord_，後來英特爾稱之 IA-64，之後又改為_安騰處理器架構_（IPA），在提出_英特爾安騰架構_之前，該架構通常稱為 _IA-64_。這是明確且並行的 64 位元暫存器架構。基礎的資料長度為 64 個位元，並能提供定址，邏輯定址空間為 264 位元組。該架構並能提供分支預測與預測執行。它使用硬體暫存器更名結構而不是簡單的暫存器對映。這相同的結構也用於判斷允許並行執行迴圈。這些能力是可以被編譯器控制的：每個指令字包含許多此動作。這就是該架構的特點之一。

此架構提供 128 個整數暫存器、128 個浮點數暫存器、64 個單位元預測器與 8 個分支暫存器。而浮點數暫存器的長度高達 82 個位元而能夠提供精確的運算結果。

### 指令執行

每個 128 位元的指令字就包含三個小指令，預讀機制可以在每個週期中從 L1 快取中讀取兩個指令到管線。當編譯器能夠在這個機制上獲得最大優勢，處理器就能在每個週期中執行六條指令。該處理器在 11 個群組中有 30 個功能性執行單位。每一個單位能夠執行指令集中的特殊子集，除非為了等候資料中止執行，否則每個單位就會每個週期執行一個指令。且並不是在一個群組的所有單位執行指令集的相同子集，而是共同的指令能在多個單位中被執行。這些群組包括：

* 六個一般的 ALU、兩個整數單位與一個移位單位
* 四個資料快取單位
* 六個多媒體單位、兩個平行移位單位、一個平行乘法器與一個群組計數器
* 兩個浮點乘積累加器，兩個「雜項的」浮點單位
* 三個分支單位

因此，編譯器能時常聚集指令進入同時能執行的六個的群組。因為浮點單位執行一次乘積累加運算，當應用程式需要將相加數值做乘積，一個浮點指令就能執行二個指令的工作：這在科學處理中非常常見。當這種情況發生後，處理器就能在每個週期執行四個指令（4 FLOPS）。比方來說，800 MHz 的安騰理論運算能力為 3.2 GFLOPS，然後最快的安騰 2，時脈為 1.67 GHz 的運算能力則達 6.67 GFLOPS。

### 記憶體架構

安騰 2 處理器階層式的使用共享的快取。等級 1（L1）有 16KB 的指令快取與 16KB 的資料快取。等級 2（L2）是 256KB 的統一型（指令與資料共享）快取。L3 也是統一型的快取，不過大小從 1.5MB 至 24MB 不等。在 256KB 的 L2 快取中包含了足夠的邏輯電路來處理訊號標就不需要使用到算術邏輯單元（ALU）。

主記憶體則是透過匯流排聯繫至晶片組來存取。安騰 2 的匯流排最初稱之為 McKinley bus，不過現在通常直接稱之為安騰匯流排。該匯流排的速度會因為新處理器的發佈而顯著提升。匯流排在每個週期傳輸 2×128 個位元，所以 200 MHz 匯流排的傳輸率達 6.4 GB/s，而 533 MHz 的匯流排的傳輸率則是高達 17.056 GB/s。

### 架構修改

在 2006 年之前推出的安騰處理器一概支援 IA-32 架構來支援舊有的伺服器應用程式，但是與同世代的原生 x86 來比效能是相當糟糕的。而在 2005 年英特爾開發出 IA-32 EL 軟體模擬器來提供更好的效能。在 Montecito，英特爾移除了 IA-32 的硬體支援。

雖然 Montecito 沒有 IA-32 的能力，但是英特爾也在增強了一些功能在這顆核心上。該架構支援硬體多執行緒，也就是一顆處理器能夠處理兩個執行緒。當其中一個執行緒要去讀寫記憶體時，另一個執行緒就執行指令。英特爾為了區分在 x86 處理器的超執行緒，在安騰稱之為「稀疏執行緒」（Coarse multithreading）。稀疏執行緒搭配安騰架構所得的效能增進是顯而易見的。英特爾也在該核心上支援硬體的虛擬化技術。虛擬化技術能夠在效能損失降到最低時同時執行多個作業系統。除此之外 Montecito 也具備了分離式 L2 快取，新增專用的 1 MB L2 指令快取，原本 256 KB 的 L2 快取則是變成資料快取。

## 硬體支援

### 系統

在 2007 年，部分製造廠商提供搭載安騰 2 的系統，包含惠普，SGI、NEC、Fujitsu、Unisys、Hitachi 與 Groupe Bull。除此之外，英特爾也有提供機架提供給系統組裝員建造安騰系統。惠普則是業界前四大伺服器製造廠中唯一一家提供安騰方案的系統供應商，超過 80% 的安騰 2 系統是由惠普製造出來的。在 2006 年第一季惠普售出多達 7200 組安騰系統。左右系統的售價是取決於企業伺服器與技術性運算的規模，平均一組系統造價約 200,000 美元。一般的安騰系統會搭載 8 顆以上的處理器。

### 晶片組

安騰的匯流排介面是靠晶片組來聯繫的。企業伺服器製造廠區分系統的不同點，是在於開發設計不同的晶片組來連結處理器到記憶體、內部連結還有週邊控制器。這些晶片組在每個系統架構的設計中是非常重要的。目前而言，安騰的晶片組有惠普、Fujitsu、SGI、NEC、Hitachi 與 Unisys 分別開發。IBM 與英特爾分別於 2003 與 2002 年也有推出晶片組，但是他們並沒有支援比較新的技術，像是 DDR2 或是 PCI Express。

## 軟體支援

為了讓更多的軟體可以執行在安騰上，英特爾支援開發安騰平台的有效的編譯器，特別是自身套件的編譯器英特爾 Compiler。 GCC、 Open64 與 MS Visual Studio 2008（及後來版本）也都能夠編譯出安騰的程式。直到 2007 年，安騰支援的作業系統有 Windows Server 2003、好幾種的 Linux 版本（包括 Debian、Red Hat 與 SUSE）、FreeBSD、惠普 - UX、OpenVMS 與惠普的 NonStop。它也支援主機環境的 GCOS 還有一些 IA-32 的作業系統也能透過指令集模擬器在安騰執行。使用 QuickTransit 就能經由「動態位元轉換」讓 IRIX（MIPS 架構）與 Solaris（SPARC 架構）執行於安騰的 Linux 上。根據安騰解決方案聯盟指出，在 2007 年初有超過一萬個應用程式可以執行於安騰系統上，但是昇陽對此數字保持懷疑態度。而該協會也支援 Gelato，一個安騰高效能運算使用者群組與開發者社群之園開放原始碼的安騰。但到了後來，微軟和 Red Hat 等軟體廠商宣布不再開發 Itanium 作業系統 / 軟體，許多 Linux 發行版也不再推出 Itanium 版本。

## 競爭對手

安騰 2 主要是面向大型企業伺服器的市場，所以主要競爭對手如下：

* Sun Microsystems
* UltraSPARC IV+
* Fujitsu 的 SPARC64+
* IBM 的 POWER6
* AMD 的 Opteron
* 英特爾自家的 Xeon

綜觀安騰的歷史，相較於一般處理器的固定小數點運算效能，它具有相當優秀的浮點運算處理效能。這項優勢對高效能運算系統是很有幫助的，但是在大多數的企業伺服器的負載上是較不注重這方面的效能。

## 超級電腦

搭載安騰架構的電腦第一次出現在 TOP500 的超級電腦列表是在 2001 年 11 月。搭載著安騰 2 的超級電腦在該列表中最佳紀錄是在 2004 年 6 月的 Thunder 以 Rmax 為 19.94TFLOPS 獲得第二名。在 2004 年 11 月 Columbia 超級電腦以 51.8TFLOPS 的運算速度再次獲得第二名，而且直到 2007 年 6 月為止至少有一台超級電腦進入前十名。而在此名單中在 2004 年 11 月的名單中有高達 16.8% 的電腦是搭載安騰系列，而在 2010 年 11 月則是降到 1%。

## 處理器

### 已推出

安騰處理器在效能上顯現出長足的進步。Merced 是實做對架構的概念。而 McKinley 顯著的提升快取的等級而且讓安騰能夠與其他架構平起平坐。Madison 則是藉由轉移到 130 奈米製程，能夠增加快取大小來克服主要效能的瓶頸。Montecito 使用的是 90 奈米製程，允許實作雙核心並且在能源效率上取得進步。Montvale 加入了 3 個新功能：Core-level lockstep、demand-based switching 與前端匯流排頻率提升到 667 MHz。

## 時間線

* **1989:**
  * 惠普開始研究 EPIC。
* **1994:**
  * 6 月：惠普與英特爾宣布結為合作夥伴。
* **1995:**
  * 9 月：惠普、Novell 與 SCO 發布了一項使用「惠普 / 英特爾架構的 64 位元網路運算」的「大量資料的 UNIX 作業系統」計畫。
* **1996:**
  * 10 月：Compaq 宣布將使用 IA-64 架構。
* **1997:**
  * 6 月：IDC 預測 IA-64 系統的銷量在 2001 年將會達到 380 億美元。
  * 10 月：Dell 宣布將採用 IA-64 架構。
  * 12 月：英特爾與 Sun 宣布共同將 Solaris 移植到 IA-64 架構。
* **1998:**
  * 3 月：SCO 承認惠普 / SCO Unix alliance 研發失敗
  * 6 月：IDC 再度預測在 2001 年 IA-64 系統的年銷量會達到 300 億美元。
  * 6 月：英特爾宣布延遲 Merced 的研發計畫，從 1999 年中順延到 2000 年初。
  * 9 月：IBM 宣布將打造搭載 Merced 的電腦。
  * 10 月：為了讓通用 UNIX 能夠在 IA-64 架構上執行，成立 Project Monterey 團隊
* **1999:**
  * 2 月：為了讓 Linux 支援 IA-64，成立 Project Trillian 團隊
  * 8 月：IDC 預測在 2002 年 IA-64 系統的年銷量會達到 250 億美元。
  * 10 月：英特爾發表該處理器之官方名稱_安騰_。
  * 10 月：首次使用 _Itanic_ 這個詞。
* **2000:**
  * 2 月：Project Trillian 推出 IA-64 的 Linux 原始碼。
  * 6 月：IDC 預測在 2003 年安騰系統的年銷量會達到 250 億美元。
  * 7 月：Sun 與英特爾放棄 Solaris 在安騰的計畫。
  * 8 月：AMD 推出 x86-64 的規格，是將英特爾原生的 x86 架構擴充至 64 位元的一系列指令集，藉此與 IA-64 競爭。在市場上以 AMD64 的名稱稱之。
* **2001:**
  * 6 月：IDC 預測在 2004 年安騰系統的年銷量達 150 億美元。
  * 6 月：Project Monterey 團隊解散。
  * 7 月：安騰推出。
  * 9 月：開源 Open64 編譯器推出。
  * 10 月：IDC 再次預測在 2004 年安騰系統的年銷量達 120 億美元。
  * 11 月：位於國家超級電腦應用中心的 IBM 製造之 320 顆處理器叢集的系統在 TOP500 的列表中名列 34 名。
  * 11 月：Compaq 因為處理器的問題而延遲發表安騰的產品。
  * 12 月：創立 Gelato。
* **2002:**
  * 3 月：IDC 再次預測在 2004 年安騰系統的年銷量為 50 億美元。
  * 6 月：推出安騰 2。
* **2003:**
  * 4 月：IDC 預測 2007 年安騰系統的年銷量為 90 億美元。
  * 4 月：AMD 推出第一顆支援 x86-64 延伸指令集的 Opteron。
  * 6 月：英特爾推出「Madison」核心的安騰 2
* **2004:**
  * 2 月：英特爾發布正在實做 x86-64 指令集（市場名稱則是「Intel 64」、「EM64T」等等），並於 x86 處理器 Xeon 上採用，而 Itanium 則繼續採用 Itanium 特有的 IA-64 架構。IA-64 和 x86-64 不相容，而且 x86-64 的特點是能較好的支援原有的 x86 程式及作業系統（即 32 位元程式）
  * 6 月：英特爾推出第一顆搭載 x86-64 的自家處理器 Xeon，代號為「Nocona」
  * 6 月：位於 LLNL 的 _Thunder_，搭載 4096 顆安騰 2 處理器在 TOP500 名列第 2。
  * 11 月：位於 NASA Ames 研究中心的_哥倫比亞_，SGI 的 Altix 3700 搭載 10160 顆安騰 2 處理器在 TOP500 名列第 2。
  * 12 月：2004 年安騰系統銷量為 14 億美元。
* **2005:**
  * 1 月：惠普推出安騰的 OpenVMS 作業系統。
  * 2 月：IBM 伺服器將不再支援安騰處理器
  * 6 月：安騰 2 創造 SPECfp2000 紀錄為 2,801 分，在日立公司的一個刀鋒伺服器上創造。
  * 9 月：安騰解決方案組織成立
  * 9 月：Dell 結束安騰的業務
  * 10 月：安騰的伺服器銷量在第三季達到 6.19 億美元。
  * 10 月：英特爾發表延遲近一年的 Montecito、Montvale 與 Tukwila
* **2006:**
  * 1 月：安騰解決方案組織發表在 2010 年投資於安騰的金額達 100 億美元。
  * 2 月：IDC 預測在 2009 年安騰系統的銷量達 66 億美元。
  * 6 月：英特爾推出雙核心安騰 2 處理器。
* **2007:**
  * 10 月：英特爾推出 Montvale 安騰 2
  * 11 月：英特爾將該系列處理器重新命名為最初的安騰。
* **2008:**
  * 8 月：惠普放棄 AdvFS 整合到惠普 - UX，反而把程式碼開源。
* **2009:**
  * 12 月：Red Hat 放棄安騰軟體開發
* **2010**
  * 2 月：英特爾推出了代號為 Tukwila 的安騰 9300 系列處理器。
  * 4 月：微軟公司放棄安騰軟體開發
* **2011**
  * 3 月：甲骨文公司停止開發安騰軟體
  * 4 月：華為及浪潮集團宣布開發安騰伺服器。
* **2017**
  * 5 月：停止與慧與（Hewlett-Packard Enterprise，HPE）的合作，計畫告終。目前僅有 HPE 一家堅持採用 Itanium 處理器。

## 參考文獻

## 外部連結

* 英特爾安騰 9000 處理器
* 英特爾安騰處理器實體圖 （頁面存檔備份，存於網際網路檔案館）
* 安騰 Internals 部分未收錄的安騰 2 微架構資訊 （頁面存檔備份，存於網際網路檔案館）
* 包含原始碼範例的 IA-64 教學