龚蕙 张海涛
何谓IA-64?
IA-64是Intel的64位体系结构,基于显性并行指令计算EPIC(Explicitly Parallel Instruction Computing)技术,最终为实现以下目标:
克服传统体系结构的限制;
提供高级的浮点运算性能;
支持64位内存寻址;
与32位系统兼容,保持原有投资;
支持在电子商务、企业以及关键计算方面不断增长的高端应用工作负载。
编者按:从1994年至今,IA-64位体系结构已经走过了近六年的风雨历程,虽然它蠢蠢欲动、呼之欲出,却又犹抱琵琶半遮面,但不管怎么说,它已经得到了众多厂商的支持,IBM、Microsoft、Sun都正积极推出基于IA-64平台的操作系统。几经变换,IA-64的第一代产品有望在2000年中出台。在它出台之前,让我们先对它的整体特性有一个全面的了解吧!
从1993年Intel及其伙伴企业推出基于486系统的IA服务器以来,IA服务器经历了486系统、Pentium Pro系统、PII系统、PIII系统、XEON系统等几个阶段,处理器系统的处理能力在大幅度提高,而服务器系统的总线结构始终是IA-32位总线体系。
突破瓶颈
对于传统的计算机应用、数据库应用、文件打印服务,基于SMP多处理器总线系统的IA-32服务器都可以轻松应付。但是网络技术、网络应用的发展打破了这一切,信息传输不再是局限于几个点、几十点、而是成百上千点,甚至更多,是“World Wide Web”,在网络上每秒有几百兆字节甚至更大数据量的信息流量,这对网络服务器的I/O性能、总线性能、处理能力都提出了更高的要求。综观IA服务器的发展,可以说IA服务器在技术上、产品上现在已经走到了向上发展、突破的边缘。IA-32服务器在发展到8路XEON服务器以后,体系结构已经开始成为制约服务器性能提高的瓶颈,先是PCI通道带宽瓶颈、现在是内存总线带宽瓶颈、处理器系统扩展瓶颈。总之,随着每一代新的微处理器的出现,传统结构的性能逐渐开始变得落伍了,而在实际应用中,对那些利用并行运算结构的需求正在逐渐增加。因此,HP和Intel自1994年开始合作开发IA-64架构的处理器, 希望通过把HP在RISC领域的十年工作经验和超长指令字(VLIW)结合起来,在微处理器级上改进性能,以增加指令级上的并行性。
我们首先看一下传统结构在哪些方面限制了处理器的性能。
1.消息传送慢,而且一次只能处理很少的指令。
2.分支,即在程序中改变执行数据流的指令。分支判断装载哪个指令集,当判断错误时,整个过程就会出现延时。
3.内存延时,即从内存检索数据的时间。内存延时会延误处理器的操作,使其处于闲置状态,直到从内存接受到数据处理才能开始操作。因为内存延时,不能跟上处理器的速度,因此从内存检索数据需要早一点开始以确保数据能够及时被传送到。
那么IA-64如何突破这些限制呢?
在并行机制中,编译器能够有效地组织代码,并使执行顺序更明确,以使处理器能够以更有效的方式执行指令。
为了解决分支问题,新的IA-64指令集架构(ISA)使用了一个新的概念——分支预判。 它能够移走多余的分支,减少错误的预测。强化执行中的分支预测功能,能提高分支预测的命中率,从而使流水线顺畅执行。
对于内存延时,在IA-64架构中采用了动态执行技术,即在程序的运行过程中,当发现某个数据可能会被用到时,就将该数据提前取出并存入寄存器备用。
IA-64独具特色
EPIC是IA-64最具特色的技术,所谓EPIC技术,简单地说即是编译器首先分析指令间的依赖关系,再将没有依赖关系的指令(最多是3个指令)组合成一个组,后由内置的执行单元读入被分成组的指令群并进行执行。EPIC技术可以降低处理器的成本,因为编译时,软件已经决定了各条指令的分配情况,因此仅利用简单的硬件就可提高指令的并行度。
IA-64的主要特性表现在几个方面。
首先,IA-64的系统内存寻址空间更大,可以支持32GB以上的内存,而IA-32服务器目前可以支持的最大内存容量是16GB。
IA-64的处理器寻址、处理能力更强、速度更快,Itanium处理器主频起步至少1GHz,二级Cache在2MB以上。
IA-64系统增强的128位浮点计算寄存器大大提高了系统的浮点计算能力。
IA-64系统将使用基于Infiniband技术的总线结构,它是以交换式系统总线代替目前的共享式总线为核心,将NGIO和Future IO两种技术合二为一,使系统总线、内存总线带宽和I/O总线带宽都将大大提高,系统带宽在2GB/s以上,而目前的SMP IA-32服务器的系统带宽是1.06GB/s,PCI带宽一般是0.4GB/s。
其次,IA-64包括一系列的内置特征,以延长计算机的正常运转时间,减少宕机时间。尤其机器检测体系(MCA)在内存和数据路径中提供了错误恢复和纠错(Error Correcting Code,ECC)能力。它能让IA-64平台从预先导致系统失败的错误中恢复过来。ECC以及纠正电路检测可自动地修复错误,以保持系统运行状态。另外,IA-64芯片集的内存容错特性,可使IT人员不必重新引导程序就可对内存进行重新设置。
最后,从编程角度看,Intel 开发了汇编程序,目的是帮助汇编程序员用高效的IA-64汇编代码和由Intel与HP制定的汇编语法编写程序。在64位结构中,程序员能够很容易地决定在每个周期中哪个指令可执行。基于带有许多执行单元的并行机制和大量浮点寄存器的结构可以创建更有效的指令级并行机制。基于寄存器的控制指令能够减少分组数,数据和控制判断可减少内存延时,从而获得了更高的速度。新的编译技术使用这些特性,为的是能够使汇编程序员进行代码优化而提高性能。
操作系统整装待发
有了好的硬件平台,就要考虑软件了。提供支持24×7电子商务的系统厂商将支持基于IA-64的服务器。许多公司也将提供带有服务水平协议的IA-64系统,该协议能够保证可用性的水平。同时,电子商务也将从基于IA-64平台的操作系统中获益。当前,还没有其他平台有操作系统带宽的支持,而这只有在IA-64中找到。目前正式宣布支持IA-64平台的有Monterey、Linux64、HPUX、Solaris、Win2000等。
在平台中,Monterey是比较特殊的一个系统,它是SCO公司的Unixware加IBM的AIX系统,IBM承诺它的所有RISC平台下的AIX应用都可以无缝地移植到IA-64 Monterey平台上运行。从另一个角度看,很早就有人提出应当统一UNIX阵营,让各个UNIX阵营里的应用可以平滑地移植,那么SCO和IBM推出Monterey可以看作是对统一UNIX阵营的一个积极举措。
向64位系统的迁移
在IA-64出台后,人们担心最多的问题恐怕就是系统的迁移问题,如HP公司的计算机产品实际上就将从PA-RISC系统转移到IA-64系统。其实,在迁移问题方面,厂商们早有考虑。IA-64体系结构的主要特性就是与IA-32 指令集的兼容性。在IA-64系统环境,处理器可执行 IA-32和IA-64指令,并定义了三种特殊指令和中断,以在 IA-32和IA-64指令集中转换。这就是IA-64体系提供的与IA-32指令集的二进制兼容,IA-64处理器能够在支持IA-32应用的IA-64操作系统中运行IA-32的应用程序,它同时提供了支持混合IA-32和IA-64体系代码执行运算的能力。
HP的做法是,对于IA-64技术,其中关键的一部分是要和现有的HP系统实现二进制兼容。以使HP的PA-RISC/HP-UX 和IA-32/NT系统以及工作站可以与HP的IA-64系统进行二进制的兼容,也就是说,HP的用户可以实现到新架构的平滑转换,而且不要求整个系统一次完成迁移。HP与Intel的合作可以使HP的所有HP-UX和NT应用程序都可以无忧地在IA-64系统下运行。
对于硬件的投资保护,HP公司新的IA-64系统既支持PA-RISC又支持IA-64处理器的系统。只要安装一块IA-64处理器升级板就可升级到IA-64微处理器系统。
总之,IA-64的目的就是将Unix、NT和Linux 集成为一个单一的符合行业标准的硬件平台上,为客户提供了更大的灵活性,使他们能以最灵活和最节约成本的方式来设计他们的开发环境。
影响不一般
对服务器而言
由于系统结构的改变,服务器的性能特征也发生了可观的变化。从底层结构看,由于其底层处理器指令管道增长,寄存器位数增长,与和或的计算数据位也更长。尤其它的控制位增多,判断位也同样增多,使得数据的安全性更有保证。这样给服务器带来的好处就是信息存储和处理可在内存中完成,能够携带更多的信息量,以提高响应时间,工作效率明显增长,较IA-32体系提高一倍,计算能力大大加强。
从可用性看,IA-64体系结构能够使服务器具有更高的可用性,如内置硬件冗余,硬盘、电源、风扇和PCI的热插拔和热交换,通过RAID的数据保护等。在硬件突然失效时,系统或者自动地转换到另一台设备上,或者在系统运行时,系统管理员更换设备。最重要的是,运行在IA-64体系结构上的服务器将能够提供内存和处理器模块的热替换。总之,新的可伸缩性、高性能的系统I/O标准、模块化、冗余性和适用性可大大提高系统的可用性。高可用性操作还要求具有强大的系统管理和监视系统,并能预测和检测IT基础设施的问题。
从可管理性看,用于管理的一项技术是智能平台管理界面(Intelligent Platform Management Interface,IPMI)。它定义了智能硬件设备的普通接口,该硬件是用于监测服务器健康状态的,如处理器和内存错误、温度、电压、电源等。该信息通过普通信息模块(Common Information Model,CIM)能够管理应用,基于Web的企业管理标准,在硬件失效时,该信息可诊断硬件错误,并进行恢复。另外,运行在IA-64上的平台的系统管理特性可确保管理人员通过拨号或LAN等多种渠道获取平台管理信息。当操作系统没有反应时,或服务器不响应时,甚至系统没有通电时,这些信息都可获取。
总而言之,IA-64是电子服务/电子商务以及在线环境的理想平台。它能够极其快速地生成或对键进行加密和解密。与PC世界所发生的情况相类似,通过把多种应用和多种操作系统进行标准化,用一个简单的符合行业标准的硬件平台来实现,IA-64会有利于计算机行业的趋同。当客户配置他们的计算结构时,标准化的结果将带来较多的选择和低成本。
对工作站而言
为了处理复杂的图形,工作站不得不等待,冗长的过程处理、缓慢的屏幕刷新尤其令人恼火。今天,集成电路的设计越来越复杂,一个单IC芯片就包括1000万或更多的字节——这可是个惊人的数字。
甚至基于32位处理体系结构的最强大的工作站也不能有效地处理IC设计上的问题,一个最大的限制就是内存寻址能力。一个32位处理器能直接寻址最大4GB的系统内存,然而,大规模的IC设计将会产生十亿字节大小的文件集。工作区也产生了新的问题,一则在单独的工作段上必须注意不要弄断段之间的连接,二则在单个工作段上增加的验证、测试和解决问题等工作也增加了工作的复杂性。
IA-64处理器家族能通过高性能来解决这些瓶颈,EPIC将能够通过优化的应用更快、更有效地使IA-64处理器更好地解决这些问题,同时,来自硬件和软件厂商的支持会确认工作站解决方案和系统将更强健。它可使工作站提供更高质量的3D效果、视频音频信息和快速的通信能力。
未来风光无限
IA-64体系结构克服了传统结构的性能限制,并提供了最大的发展空间。改革性的64位结构能够通过大的注册文件、注册栈、分支体系来提高指令平行机制的能力。64位内存寻址适应数据仓库、电子商务和其他高性能服务器和工作站应用的要求。结合有效的实践管理,IA-64还将以更强的竞争力改善机器的正常运行时间。总之,从容错能力到强大的系统管理特性和广阔的操作系统支持,IA-64平台将为电子商务等多种应用解决方案提供稳定、强健的基础。