IA-64

IA-64，即英特爾安騰架構（Intel Itanium architecture），是英特爾64位安騰系列處理器所使用的指令集架構 (ISA)。基本 ISA 規範起源於惠普 (HP)，隨後由英特爾與惠普合作實施。第一個安騰處理器，核心代號為 Merced，於2001年發布。

安騰架構使用顯式指令級並行（Explicitly Parallel Instruction Computing，EPIC），由編譯器處理指令間的依賴關係並決定將哪些指令並行執行。與之對比，超標量處理器由其自身在運行時處理並發射指令。包括Tukwila在內的所有的安騰處理器，每個時鐘周期內可以執行六條指令。

截止到2008年，安騰在所有部署的企業級系統中排行第四，僅次於x86-64，Power和SPARC。

<image>

IA是Intel Architecture（英特爾架構）的縮寫，64指64位系統。使用這種架構的CPU，包括Itanium和Itanium 2。此架構與x86及x86-64並不相容，作業系統與軟體需使用IA-64專用版本。

## 歷史

### 開發：1989-2000

在1989年，惠普認為精簡指令集（RISC）架構將來會遇到每週期只能執行一個指令的瓶頸。與此同時，英特爾和惠普的研究人員一直在探索未來的電腦架構設計方法，並分別開始研究一種由耶魯大學在 1980 年代初期的研究中提出的被稱為超長指令字 (VLIW) 的新概念。

為了使代碼高效地執行，當時英特爾已經推出了超標量亂序執行的奔騰Pro（P6，i686）架構。其原理是讀入一系列的指令，把每個指令分解成類RISC的微指令，使用寄存器重命名等演算法來計算並移除指令的依賴關係，然後並發執行多條指令，達到一個時鐘頻率能夠執行多個指令的目的。但惠普認為，為了把x86指令解成微指令，需要一個比RISC架構複雜得多的解碼器。而為了達到亂序執行，則需要設計一整套更加複雜的邏輯去判斷執行，這將為處理器運行引入高昂的開銷。

VLIW是一種與複雜指令集或精簡指令集類似的計算機體系結構概念，其將多條指令打包為一個指令包並編碼於一個很長的指令字中，以便於處理器在一個時鐘周期內執行多條指令。典型的VLIW處理器在很大程度上依賴於編譯器於編譯時處理指令間依賴以及其打包關係，以決定哪些指令將被並行執行，同時指令間調度以及分支預測方向也都與編譯器有關。這種方法的優勢在於執行一定的指令所需的時鐘周期更少，且由編譯器負責的指令級並行將大幅度簡化處理器中用於指令調度和分支預測的硬體電路。

#### 生產

在此期間，惠普意識到為了個別企業（就像它自己！）而開發專用微處理器是十分不划算的，與此同時，英特爾一直以超越X86而滿足高端企業級伺服器和高性能計算（HPC）為目標開發多種全新架構。

基於這種狀況，英特爾和惠普於1994年起合作開發基於VLIW設計理念的IA-64架構，英特爾將其命名為顯式指令級並行計算（Explicitly Parallel Instruction Computing，EPIC）。英特爾的目標是利用惠普早年間開發VLIW處理器的研究成果以及其產品線開發一套針對高端系統，可批量化生產的全新產品線以出售給OEM廠商。而惠普則希望可以購得由英特爾現代化工藝製程製造的成品處理器以超越其已有的PA-RISC產品。

英特爾在處理器設計以及商業化運作中領先，而惠普則為其ISA定義，微架構和安騰2做出貢獻。安騰系列的第一款產品（核心代號Merced）以1998作為其目標年份。

#### 營銷

英特爾在產品營銷和行業推廣中付出了巨大努力，並贏得了包括使用RISC處理器的廠商在內的絕大多數企業伺服器設計廠商的訂單。康柏和矽圖決定放棄其針對Alpha和MIPS架構的進一步開發，轉而支持IA-64。

到1997年，IA-64架構以及其編譯器的實現難度明顯高於預期，安騰的交付量開始下滑。由於安騰是有史以來第一個商用的EPIC處理器，其開發團隊遇到了前所未有且意想不到的難題。此外，由於EPIC依賴於以前從未實現過的編譯器功能（例如處理指令依賴和指令包的編碼），研發團隊不得不投入更多研究。

包括微軟Windows，Unix和類Unix（例如Linux，HP-UX，FreeBSD，Solaris，Tru64 UNIX,和Monterey/64）在內的許多公司和小組為安騰開發了作業系統（最後三個在上市前被取消）。1999年，英特爾牽頭成立了一個名為「Trillium」（後因商標問題更名為「Trillian」）的開源聯盟，以將Linux移植到 IA-64，該聯盟包括Caldera Systems，歐洲核子研究中心，Cygnus Solutions、惠普、IBM，紅帽，矽圖、SuSE，TurboLinux和VA Linux Systems。得益於該聯盟的努力，IA-64 Linux於預定日期前交付使用並成為了安騰處理器運行的第一個作業系統。

英特爾與1999年10月4日宣布該處理器的正式名稱為安騰（Itanium），幾小時內Usenet新聞組就創造了Itanic這個名字，作為鐵達尼號的雙關語，以指代在處女航即沉沒的「永不沉沒之船」。

在第二天，即1999年10月5日，AMD宣布了他們將擴展英特爾x86架構以實現完全向下兼容的64位模式，即全新的x86-64架構（即AMD64）。該架構將被用於AMD即將推出的核心代號SledgeHammer的第八代處理器（即K8架構）中，AMD表示有關於x86-64的更多細節將在2000年8月詳細披露。

由於AMD從未被邀請為上述聯盟的成員，且IA-64架構的授權難以獲取，故AMD64在其開發伊始就被確定為向現有的x86架構添加64位計算能力，並且仍將支持傳統的32位x86（即IA-32）指令，這同英特爾設計與x86完全不兼容的全新架構存在本質性區別。

### 安騰（核心代號Merced）：2001

到2001年6月安騰處理器發布時，其性能並不優於市場上的RISC和CISC競品。

英特爾很快意識到，IA-64架構缺乏軟體將是未來的一個嚴重問題，並向各大ISV廠商提供了數千個基於安騰處理器的原型機系統以刺激相關軟體的開發，一年後，英特爾和惠普共同推出了安騰2處理器。

## 體系結構

IA-64架構是顯式並行指令運算（EPIC）的64位架構。EPIC是基於超長指令字VLIW（Very Long Instruction Word）的設計，通過將多條指令放入一個指令字，有效的提高了CPU各個計算功能部件的利用效率，提高了程序的性能。

## 相關處理器

2011年3月，甲骨文宣布停止為IA-64開發新軟體。而在此之前，Red Hat和微軟也宣布停止為IA-64開發作業系統。但直到2012年，Intel仍然推出新的Itanium處理器——Itanium 9500系列。2017年，Intel停止了Itanium處理器的開發。

## 基本資料

- 日語原文：英特爾安騰架構
- 設計師：惠普和英特爾
- 字長/暫存器資料寬度：64位
- 始創時間：2001
- 形式：EPIC
- 類型：寄存器–寄存器
- 編碼：定長
- 分支預測結構：狀態寄存器
- 位元組序：可選
- 通用暫存器：128 (64 bits plus 1 trap bit; 32 are static, 96 use register windows); 64 1-bit predicate registers
- 浮點寄存器：128
- 日語原文：安騰 (Merced)
- 產品化：2001年六月
- 產品化：2002年六月
- CPU主頻範圍：733
- CPU主頻範圍：MHz
- CPU主頻範圍：800
- 前端總線速率：266
- 前端總線速率：MT/s
- manuf1：英特爾
- core1：Merced
- 製作工藝/製程：180nm
- sock1：PAC418
- 核心數量：1
- 二級快取：96 KB
- 三級快取：2 or 4 MB