安腾
安腾
安腾(),是英特尔安腾架构(通常称之为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还是有制造出搭载此处理器的超级电脑。
架构.
英特尔有庞大的安腾指令集与微架构的纪录文件,而且技术文件也提供浏览。该微架构在历史上曾几度更名。惠普称之为"EPIC",后来改为"PA-WideWord",后来英特尔称之IA-64,之后又改为"安腾处理器架构"(IPA),在提出"英特尔安腾架构"之前,该架构通常称为"IA-64"。这是明确且并行的64位元暂存器架构。基础的资料长度为64个位元,并能提供定址,逻辑定址空间为264位元组。该架构并能提供分支预测与预测执行。它使用硬体暂存器更名结构而不是简单的暂存器映射。这相同的结构也用于判断允许并行执行回圈。这些能力是可以被编译器控制的:每个指令字包含许多此动作。这就是该架构的特点之一。
此架构提供128个整数暂存器、128个浮点数暂存器、64个单位元预测器与8个分支暂存器。而浮点数暂存器的长度高达82个位元而能够提供精确的运算结果。
指令执行.
每个128位元的指令字就包含三个小指令,预读机制可以在每个周期中从L1 快取中读取两个指令到管线。当编译器能够在这个机制上获得最大优势,处理器就能在每个周期中执行六条指令。该处理器在11个群组中有30个功能性执行单位。每一个单位能够执行指令集中的特殊子集,除非为了等候资料中止执行,否则每个单位就会每个周期执行一个指令。且并不是在一个群组的所有单位执行指令集的相同子集,而是共同的指令能在多个单位中被执行。这些群组包括:
因此,编译器能时常聚集指令进入同时能执行的六个的群组。因为浮点单位执行一次乘积累加运算,当应用程式需要将相加数值做乘积,一个浮点指令就能执行二个指令的工作:这在科学处理中非常常见。当这种情况发生后,处理器就能在每个周期执行四个指令(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主要是面向大型企业伺服器的市场,所以主要竞争对手如下:
综观安腾的历史,相较于一般处理器的固定小数点运算性能,它具有相当优秀的浮点运算处理性能。这项优势对高效能运算系统是很有帮助的,但是在大多数的企业伺服器的负载上是较不注重这方面的性能。
超级电脑.
搭载安腾架构的电脑第一次出现在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。