安騰

安騰（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的衍生版本像是HP-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、HP-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
綜觀安騰的歷史，相較於一般處理器的固定小數點運算性能，它具有相當優秀的浮點運算處理性能。這項優勢對高效能運算系統是很有幫助的，但是在大多數的企業伺服器的負載上是較不注重這方面的性能。

**超級電腦**
300px
搭載安騰架構的電腦第一次出現在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一家堅持採用安騰處理器。

**參考文獻**

**外部連結**
  英特爾安騰9000處理器-  英特爾安騰處理器實體圖 date=20210206075821 -  安騰Internals部分未收錄的安騰2微架構資訊 date=20200821055530 -  包含原始碼範例的IA-64教學