入门级
部门级
企业级
特种服务器
其它

五大核心
Web服务器
FTP服务器
Mail服务器
域名服务器
文件共享服务器
其它
路由器应用
代理服务器
数据库

Windows阵营
Unix
Linux
你的位置: 商务应用> 服务器硬件> 通用技术>
大锤有多“硬”?(之二)
· 王达· 天极商务应用

1 2 3 4 5 6 7  下一页

Hammmer主要技术优势原理分析

  任何技术都有它产生的基础和需求背景,AMD的Hammer也一样,下面就分别对以上3个主要技术优势进行原理分析。

  一、 完美的兼容性

  在前面已经介绍过,AMD的Hammer取胜于Intel同类产品(如Itanium)的一个重要前提是它具有无敌的兼容性,可以无缝地与现在普遍使用的32位,甚至是16软件系统兼容。而不像Itanium,虽然也是64位系统,但是它对现在普遍采用的32位以下系统只能采用模拟方式运行,使得有些软件不能很好地运行。也许是Intel过高地估计了当前服务器中所使用的软件系统,其实在很多企业服务器中所使用的软件与在工作站中使用的没有太大区别,主要区别最多是在操作系统方面。但更多的应用软件还是差不多,所以如果仅能很好地支持64位软件系统的运行,理所当然地要被一些用户所排斥。

  AMD Hammer的完美兼容性主要来自于Hammer为不同的程序代码类型设计了不同的工作模式,它们分别是传统(Legacy)模式、兼容模式和64位模式,而兼容模式与64位模式统称为“长(Long)模式”。兼容模式允许系统与现有的16位和32位的应用程序兼容,在64位操作系统下这些应用程序可直接编译。它和64位模式相同之处在于都是操作系统为适应个别代码区段的需要而建立起来的,与64位模式不同之处在于它采用的是16位或32位的保护模式。从应用程序的角度来看,兼容模式沿用了旧的x86保护模式。从操作系统的角度来看,内存寻址、中断和逆项操作、以及系统数据结构均采用了64位的长模式。

  除了Long模式之外,x86-64被认为还支持传统(Legacy)模式,因此具备了兼容16/32位操作系统的能力。换句话说在Legacy模式下,处理器的运行这些16/32位程序和在一般的32位x86CPU上运行没有区别。屏蔽了执行64位指令集的功能,该模式与现有的x86架构完全兼容。其中包括了对诸如片断内存、32位通用寄存器和指令指针的支持。相对兼容模式而言,它对32位程序的执行效果要更好,因为在这种模式下,CPU根本不考虑任何64位指令,这样可以节约很多资源。此外这种模式也支持存储器分段、32位通用寄存器和指令指针寄存器分段等。

  以上三种模式性能对照表如表1所示。

  表1 三种工作模式性能对照表

模式 OS 是否需要重编译 默认
地址长度 操作数长度 是否需要额外寄存器 普通寄存器位宽
Long 模式 64位 64 64 32 64
兼容模式 64 32
Legacy 模式 32/64 32 32 32
16 16

  需要明确指出的是,64位指的不仅仅是64位程序代码,还包括内存寻址范围。其实Intel早期的80386处理器就开始支持32位代码,而直到Pentium Pro,32位寻址才被正式支持。传统的32位CPU因为内存寻址能力方面的缺陷而导致其在大型数据库、互联网ERP和新型LOB(Line of Business)等应用程序中不能充分发挥性能,毕竟对于这类应用程序而言内存容量是多多益善。而在AMD的x86-64中,内存寻址能力将史无前例地提高到4.5TB,如此大量的内存已足够满足当前和将来的软件应用需求。

  x86-64架构对CPU浮点性能的贡献也是巨大的,Hammer也将得益于此而继续保持AMD在这方面相对Intel的领先优势。在传统x86处理器中,80位的寄存器组成了一个严重妨碍性能发挥的“堆栈”。通过数据流分析,若判定某些值以后还要在程序中用到,那么x86堆栈模型也需要额外的指令来保存这些中间值。而在AMD的x86-64架构中,这个问题得到了完全解决。整个编程模型更改为“浮点寄存器档案”,也就是说一条浮点指令需要从两个寄存器中取得它的运算对象,然后将结果回写至第三个寄存器。

  以上介绍了Hammer在软件系统方面的兼容性方面,其实它在指令系统方面的兼容性也是其它产品所无法比拟的。

  首先,与INTEL的指令集兼容。目前,AMD和Intel的努力使得单指令多数据流技术(SIMD)成为了传统的x86浮点运算的标准。SIMD允许多个浮点操作在一个CPU时钟频率里结合执行。目前有两个不同的SIMD指令集可供使用,那就是AMD 的 3Dnow! 和Intel的 SSE。但是它们彼此不兼容。许多软件开发者很难从中做出选择。不过AMD已取得了Intel的SSE和升级的SSE-2指令集的使用权,所以X86-64里加入对这个指令集的支持。同时,X86-64也兼容AMD自己的3Dnow!指令,这样一来,X86-64兼容性就是最好的了。

1 2 3 4 5 6 7  下一页


【责任编辑:stone】
【发表评论】【关闭窗口】
■ 相关内容