处理器新革命
英特尔64位架构及安腾处理器
(作者:侗晾 2000年10月26日 13:23)
在一个新的百年来临之际,处理器产品——特别是高端产品,也迎来了一场新的革命,这就是IA-64(IA,即Intel Architecture,英特尔架构)安腾处理器。
 |
|
安腾处理器 |
每一项产品或技术都有其背后的市场动力,正是这种动力最终推动了有关产品或者技术的诞生:安腾处理器也不例外。
尽管有些人开始被纳斯达克的低迷表现所困惑,可是,仍然有更多的人对电子商务的未来充满信心。他们在致力于分析新一代电子商务的研究和平台的搭建。英特尔公司新近推出的安腾处理器正基于此。
电子商务发展的需要与IA-64架构
而今,电子商务的发展与最初相比,发生了重大变化:可以说,以前的电子商务,都是一对多的模式,以卖方为中心;可是,电子商务的发展正在进入一个新的发展阶段,这就是多对多的、以顾客为中心的模式阶段,即英特尔所说的第三代电子商务阶段。这一阶段的电子商务环境有四个明显的特征,那就是实时反应性、个性处理化、高可靠性和安全保证。这四个特征也是每一位IT的经理人所必须面对的挑战:只有能够对其用户提供具有上述特征的服务,才能够真正在未来的电子商务大战中占据市场、把握商机。
实时反应性
专门从事互联网经济调查的Jupiter Communications曾经在一项研究报告中称,大多数的用户将放弃缓慢的在线交易。换句话说,在以后的交易中,速度是关键。如果你是厂商,可曾让你的顾客在交易过程中一再等待过?IA-64可以支持大数量级的内存,可以在瞬间完成快速数据库查询和实时数据挖掘,从而保证在数据高峰期顺利完成在线交易过程(OLTP)。基于EPIC架构,装备IA-64处理器的服务器能够并行执行多个指令以充分优化电子商务的应用。
个性处理化
客户化、个性化的的服务已经成为电子商务的必要组成部分,厂商必须为成千上万的客户提供其所需要的单独系列的信息与服务。当广泛的市场拓开以后,各种各样用户纷繁复杂的资料、个人所需的独特资料视角、个性化订制的页面接口等等,都需要非常强大的数据处理能力。
高可靠性
在一个追求完美的世界中,每一项应用、每一个网站、每一个部分都要求正确无误。服务器更是如此。它必须更加可靠、更加易于管理,以保证用户持续的、不间断的服务需求。IA-64架构备有复杂的纠错逻辑程序,可以在各种错误影响服务之前就予以发现和纠正。
安全保证
毫无疑问,更高的安全保证意味着更复杂的程序处理。从用户认证到数据加密,更高的安全保证对服务器性能提出了更高的要求。IA-64处理器将能够使得厂商提供最前沿的安全保证,同时,保持第一流的性能。测试显示,IA-64处理器,通过其独有的EPIC技术,比起基于RISC的服务器可以提供更佳的安全保证。
另外,基于EPIC技术的IA-64处理器能够同时处理许多操作,大量的寄存器集合、一流的浮点运算性能、巨大的内存寻址能力、“判定”(predication)与“推测”(speculation)功能等,共同使得基于IA-64处理器的服务器能够满足电子商务应用的高要求。
IA-64对IA-32架构的超越
英特尔把IA-64架构认为是自80386微处理器IA-32架构以来最重要的进展。IA-64架构突破了许多IA-32架构的限制,能够为服务器和高端工作站提供更好的性能。IA-64的进展还包括下列几个方面。
64位内存寻址能力
IA-64比之IA-32架构的一个突出优势是更大的内存寻址空间。64位寻址空间能够容纳近180亿GB的物理内存(physical memory),比较而言,32位的空间是4GB,36位的空间是64GB。当经常处理非常大量的数据集时,这种巨大的物理内存空间对于服务器应用是非常重要的。
显式并行指令计算技术(EPIC)
当前,由编译器产生连续的机器编码,而硬件来解释这些机器编码并做指令的并行处理。但是,由于硬件不能够完全有效地确定并行处理指令的时机,所以就还需要一些其他技术来优化并行处理;而这些技术的应用虽然在一定程度上增进了并行处理的能力,但却也产生了一些诸如打断指令数据流等问题。
64位具有的EPIC指令集可以有效地处理这一问题。借助EPIC技术,编译器在保证并行处理指令时可以更加有效。EPIC编译器首先分析源代码,以确定哪些指令可以做并行处理,优化这些代码,然后,产生合适的机器码。实际上,由编译器来告诉微处理器哪些指令来做并行处理,而不是在程序处理时消耗微处理器的时间。
“判定”技术(Predication)
为了使微处理器得到最佳的性能表现,通过管线(pipelines)的数据指令的流量必须是稳定的——当微处理器的多重执行单元(multiple executions units)能够并行处理其大多数指令时,性能表现是最优的。由于编码分枝(code branches)会打断稳定的数据指令流量,习惯上应用一种叫做分枝预测(branch prediction)的技术来预测执行的结果。然而,分枝预测会出现5-10%的错误。当错误发生时,管线需要清除并重新装载。
IA-64架构利用“判定”技术来更加有效地处理条件分枝。在一个简单的“如果,那么,否则”陈述中,编译器对“那么”和“否则”产生直线编码(straight-line code)(没有条件分支)。在运行当中,对每一个分枝,将要么“1”(“正确”)要么“0”(“错误”)的值储存在特定的预测寄存器中。然后,执行单元执行两种路径,但是只使用“正确”的预测寄存器路径中的结果,而对“错误”寄存器路径中的结果不予处理。
几乎所有的IA-64指令都能够被预测,从而大大降低了因为分枝预测出现失误时路径清除和重新装载而导致的低效率。这样,尽管两种指令路径都要执行,但是依然要比重新装载要快速和高效。
“推测”技术(Speculation)
IA-64架构包含一种机制,可以允许编译器来管理控制(指令)“推测”和数据“推测”(control (instruction) and data speculation),可以大大降低某些操作的执行时间。对于那些经常对高速缓存进行操作的应用程序,例如大型数据库,“推测”技术带来的性能的提高显得尤为显著。
指令集技术(Bundled Instructions)
在IA-64架构中,指令打包进128位集,以方便并行处理。一个“包”(bundle)包括三个41位的指令槽(instruction slots)和一个5位的模板(template)。指令包的指令按照内存地址由低到高的顺序来处理,除非有例外情况发生。指令按组执行,在执行时由一个特定的包地址以及槽编号开始。一个指令组(instruction group)可以由包内任何槽开始,可以跨越到不同的指令包。
兼容IA-32位指令集技术
IA-64架构同时支持IA-64和IA-32两种系统环境,并能够在IA-64系统环境中执行IA-64和IA-32指令的混合。当然,IA-64运行的操作系统必须支持IA-32指令。
另外,在字节管理、多处理器系统支持以及伸缩性等方面,IA-64都有不俗的建树。
请继续阅读:下一页
|