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