64位启示录

互联网 | 编辑: 2004-11-11 00:00:00 返回原文

在个人电脑20多年的发展历史上,AMD在与Intel的竞争中似乎从来没有像现在这样占据优势,这一切似乎都要归功于它推出的x86-64系列64位CPU。

64位不可阻挡

本文转自《驱动之家》,文中内容不代表本站观点,仅供参考

在个人电脑20多年的发展历史上,AMD在与Intel的竞争中似乎从来没有像现在这样占据优势,这一切似乎都要归功于它推出的x86-64系列64位CPU。我们知道,x86结构在公元1981年随着IBM PC-XT个人电脑的中央处理器——Intel的8086进入了人类的世界,这颗在当时拥有优秀性能和低廉价格的处理器,是一颗真正16位的微型处理器(8086有16位的寄存器、运算单元和16位的输入输出总线,它的孪生兄弟8088与8086内核完全相同,但是为了兼容性采用了8位的输入输出)。随后发布的80286也是一颗16位的x86结构处理器,采用16位的x86指令系统(IS,Instrction Set),但拥有更为先进的保护模式指令集。很快,PC的发展就使Intel觉得有必要推出基于32位x86指令集的CPU——80386。80386是一个里程碑,是个人电脑称霸天下的重量级武器,这个处理器的技术和市场策略简直无懈可击,一时间各家各户的兼容处理器,包括TI、Cyrix、IBM和AMD一拥而上,想在PC普及已经汹涌澎湃不可遏制的大潮中分得一杯羹。然而胜者终究是Intel,为了表明自己伟大的胜利,Intel把基于32位x86指令系统的个人电脑,叫做英特尔体系32(IA-32,Intel Architecture-32)。从此以后的10多年间,80486、80586(Pentium,这个词是“第五代”的意思)、80686(Pentium2)、Pentium3直到Pentium4,Intel一直牢牢占据着个人电脑发展路程上的核心地位。32位的x86架构也经历了10多年的风雨,过去20年中,X86以无可比拟的性能价格比优势成为计算平台的标准。以每年超过1亿台的装机量,90%以上的市场占有率被用户广泛认可。同时开放平台的良性竞争环境推动X86派的技术发展远远超过RISC体系。X86产品已经从最初的PC机走入了工作站、服务器领域,大有取RISC而代之,统一计算天下的态势。在这个过程中阻碍X86进入高端企业市场的,就是X86仍然基于32位技术。对于高端的企业级服务器与工作站应用无能为力。伴随着企业计算应用的发展64位应用将越来越广泛,令X86向64位扩展势在必行,也成为统一64位计算标准的希望。与此同时,个人、商务和移动计算领域,32位计算也渐渐开始显得力不从心,不管出于技术还是竞争需要,32位的时代,已经渐渐开始过去了。

在x86从32位向64位的扩张过程中,Intel和AMD第一次在指令系统这样的根本方面产生了重大区别。我们知道,从80386开始,指令系统的决定权一直在Intel手中,AMD只能生产所谓的“兼容”处理器,也就是说标准是Intel定的,AMD只是靠着与INtel的交叉授权,依靠自己的勤奋努力,在处理器市场上占有一席之地。在企业市场上,传统上是RISC厂商和UNIX的天下,Intel想要打进去,并获得与在个人电脑上同样的成功,简直是它梦寐以求的事情。因为AMD64位处理器的名气实在太大,所以大家似乎都觉得AMD是64位计算的领跑者,其实客观来讲,Intel进军64位处理器比AMD还要早一些,只不过它的策略有所不同。Intel并不认为个人和移动领域需要64位的体系结构,同时,觉得把x86扩展到64位来与64位厂商的RISC系统拼在声势上要弱一些。而且,INtel想要在64位企业计算领域一支独秀,也不想把AMD这些尾巴牵扯进来,形成32位市场上这种尾大不掉的局面,因此,Intel单独发布了专为64位市场而定做的IA-64架构,以及相关的64位指令规格,就是大名鼎鼎的EPIC(Explicitly Parallel Instruction Computing,显式并行指令计算),并发布了名为Itantium(安腾)的企业级64位处理器。安腾确实是高性能的处理器,但是它的IA-64并不兼容x86-32指令集,也就是说个人电脑的应用程序并不能在安腾上运行,这样,大众实际上是被Intel划到了64位的界外。

AMD的64位之路

要不是有这样的大好机会,AMD想跳出来自己研发处理器架构并与Intel分庭抗礼,是非常需要勇气的。但是机会终究还是出现了,AMD决定自行研发自己的64位处理器架构,并命名为x86-64。从这个名字我们就能看出,AMD的64位指令系统是从x86扩充而来的,并且,AMD让新的64位处理器兼容以往的32位指令集,也就是说,AMD的新处理器,不但是一颗64位处理器,同时也是32位的。在AMD64结构中,出现了一个新的所谓“长模式(Long Mode)”,作用是设置CPU按照64位方式运行。长模式的命名也许是参照了众人熟悉的“实模式”和“32位模式”。长模式不仅指具有64位性能,而且寄存器还可以扩展为64位并加入了新的寄存器。长模式是通过控制位来激活的,该控制位称为LMA(Long Mode Active)。当LMA未被激活时,处理器运行在标准的x86模式下,可以运行的是16位或 32位的OS和应用,而当LMA被激活后,64位扩展方式就可以执行了,这时就是新的64位CPU。长模式还被划分为两种子模式,即“64位模式”和“兼容模式”。这两种子模式由CS(Code Segment)寄存器中的D位和L位控制。“兼容模式”表示可以在64位模式下运行16位或32位程序,这类似于386处理器中的虚拟86模式,旧的x86模式(32位或16位)被称为“法定模式(Legal Mode)”。当进入64位长模式时 (LMA=1, CS.L=1 and CS.D=0),操作数的标准大小还是32 位,寻址却是64 位了。长模式的性能可以综合概括为:虚拟的64位寻址,寄存器扩展到64位、附加的8个寄存器(R8-R15)、附加的8个SIMD寄存器(XMM8-XMM15)、64位指令指针、Flat寻址模式。其中,附加的新的SIMD寄存器使多媒体寄存器总数达到16个,弥补了x86结构中的薄弱环节。为了使增加的寄存器更具有逻辑性,AMD采取的是一种对16位和32位寄存器的顺延方式。这种方式提高了时钟速度使CPU性能更优。

相比于32位处理器,64位处理器的核心是经过改进的,两者的异同主要有以下几点:一级缓存维持原有的128KB,其中64KB为指令缓存,64KB为数据缓存。根据AMD64处理器的架构,二级缓存的寻址能力允许二级缓存的容量在1MB到8MB之间。但尽管Athlon已经可以支持8MB的二级缓存,但事实上AMD从来没有这样做。服务器市场是AMD64处理器的一个主攻目标,所以大于1MB的二级缓存是十分有必要的。另外AMD未来还将会使用三级缓存。AMD64处理器的管线长度比Athlon增加了两级,这使得它可以运行在更高的频率上。AMD64处理器在分支预测单元上作了改进。AMD64处理器支持更大的翻译后备缓冲区(Translational Lookaside Buffers,TLB)。以下分别做一个简单总结。

回顾经典之作

AMD 64位处理器架构设计的首要目标是提供新一代的性能。体现这种设计思路最明显的例子就是Opteron处理器改变了上一代处理器的流水线设计。流水线前端指令获取与解码逻辑标识被精减,提供从解码器到执行管道调度程序间更大的指令打包程度。为适应这一改变,设计中重新定义了管道分级以保持高度的频率可测量性,结果比第七代微架构多出两个管道分级,最终产品拥有12级整数运算流水线和17级浮点运算流水线。在延长流水线得到频率提升的同时,考虑到处理器架构的扩展性,Opteron处理器最初将采用0.13微米的SOI(Silicon on Insulator,绝缘硅)工艺进行生产。随着低于0.10微米工艺的采用,频率也会实现相应的提升。最终决定Opteron性能提升的关键因素是Opteron微架构比以前的微架构具有更高的IPC(每时钟执行指令数)值。

同时,AMD的64位处理器还集成了内存控制器,这在传统上是由北桥完成的,也就是说传统上北桥是处理器和内存之间的“中转站”,北桥通过内存总线驱动内存读写,再通过处理器总线也就是前端总线(FSB,Front Side Bus)将数据转发给CPU。这种机制在增强处理器兼容性和降低设计难度的同时必然带来了效率低和带宽限制。在处理器微架构性能提升方面,如何在降低访问延迟的同时提供给处理器内核足够的内存带宽,成为性能提升的最大瓶颈之一。在AMD的新处理器中驱动内存的工作直接由处理器接管了,也就是说,这种处理器不再有传统上的前端总线的概念,当然也就没有因此而来的带宽限制。Opteron微架构集成了一个双通道的DDR控制器,该控制器拥有能够支持多达8个DDR DIMM(每通道4个)的128位接口。内存控制器最初的设计是使用非缓冲或注册型(registered) DIMM来支持PC1600、PC2100和PC2700 DDR内存。以PC2700为例,这种条件下处理器的有效带宽可高达5.3GB/s。这一直接连接方式能够显著降低处理器的内存延迟,并且随着处理器频率的提升内存延迟会进一步降低。此外,还能使硬件与软件预取具有更高的带宽利用率,从而达到进一步降低处理器有效内存延迟的目标。集成在Opteron处理器内的内存控制器在多处理器系统中有更加惊人的表现。运用并行连接方式的多处理器,每个都拥有自己的有效内存带宽,随着处理器数目的递增,使系统性能具有良好的扩展性。在一个4路处理器的多处理系统中,系统能够支持多达32个DIMM,在使用PC2700内存时可以提供高达21.3GB/s的系统有效带宽,真是惊人!!

与此同时,还有AMD大名鼎鼎的HyperTransport(超传输)技术,HyperTranport技术为嵌入式应用提供了高性能的数据传输方案。通过HyperTransport技术,电脑内部芯片(网络和通讯设备之间的通讯)传输带宽最多可以达到现有技术标准的40倍。而且HyperTransport的特别设计还可应用于0.13微米级芯片技术。HyperTransport的目的并不是取代其它的I/O技术,它只是提供了一种高标准基础上的端到端内部连接标准以满足内存以及I/O原件的数据传输需要,并且可以用于连接传统的低速I/O设备和最新的高速I/O媒介。与把内存控制器集成到处理器内部来提升内存带宽的方法一样,HyperTransport互连控制器也被集成到Opteron处理器内部,在处理器和I/O子系统之间提供了拓展性极强的数据连接带宽。在Opteron处理器内部的数据通道为双向16位的通讯,可以达到1600MT/s(每秒百万次传送)的工作效率,可提供双向为6.4GB/s的带宽。在Socket 754/940时代,AMD 64位系列处理器支持的HyperTransport频率仅仅为800MHz,而在最新的Socket 939系列处理器上,支持的HyperTransport频率已经达到1000MHz,这也就是为什么高端的Socket 939处理器比同频同规格的Socket 940处理器性能要有一定程度提高的原因。在这种全新的架构中,HyperTransport总线的频率通常为传统内存总线频率的数倍,所以能够提供的带宽也就非常高。这样以来,Athlon 64处理器在内存带宽方面就摆脱了天生的缺憾,从而能够有利于进一步的提高整体系统的性能。HyperTransport频率从最低的600MHz到最高的1000MHz,能够提供最高到8GB/s的带宽。

针对大工作负荷的TLB子系统与增强型分支预测功能,Opteron微架构的TLB和前几代AMD处理器微架构相比,除了具有更大的TLB入口规模,及随之带来的更少的延迟之外,还带有无须软件干预的多进程过滤器来共享TLB。Opteron处理器的分支预测功能的增强使性能得到很大的提升,在较大的工作负荷下性能提升尤其明显。它主要是通过把全局历史计数器中的双峰计数器的数量增至16K(这等同于第七代微架构的4倍)得以实现。

在对32位x86-32指令集的增强方面,Opteron处理器微架构能支持全部32位x86标准架构的增强指令,包括Intel MMX和AMD的专业3DNow! 技术(整合了增强型3DNow!技术和SSE)。另外,AMD Opteron处理器还引入了对SSE2指令的支持。
 

64位处理器推出

然而AMD新一代处理器的研发过程并不顺利,处理器的一再延期推出不但使芯片组供应商陷入了进退两难的境地,同时也引发了媒体的种种猜测——难道AMD真要倒下去了吗?随着AthlonXP渐渐走向迟暮,改进的Barton核心在来势汹汹的Pentium4面前颇有螳臂当车的味道,AMD近几个季度的巨额亏损也暴露了这一问题。AMD自己也清楚新一代处理器的上市时间是越快越好,只有这样才可能扭转目前的困境,然而作为一款蕴含了多种创新技术的产品,研发过程中所要面对的难题自然也会更多。Hammer一再延期的原因不在于32位/64位的指令兼容和效能问题,而是长期阻碍AMD处理器频率提升的制造工艺问题——主要是绝缘硅(SOI)技术的应用,以至于很长一段时间AMD只能拿出800MHz的样品用作展示和媒体测试。2003年初与IBM的技术合作解决了AMD在SOI使用上的燃眉之急,Opteron和Athlon 64处理器的频率也得以提高到较合理的水平。另一方面,由于新处理器整合了内存控制器,而在研发过程中内存标准进行了多次升级,并且双通道内存技术成为了主流,因此AMD也不得不临时修改了新处理器的内存控制器架构,这也给Athlon64的按时上市增加了难度。但不管如何,AMD成动了,它发布的Opteron处理器(在研发的时候叫做K8,核心代号Hammer大锤)迅速被市场所接受,在一年之内,AMD推出了三个系列的64位处理器:面向服务器和工作站的Opteron系列,这个系列的处理器集成双通道DDR控制器,只支持带ECC校验的内存;面向发烧友和顶级个人电脑的Athlon FX系列(双通道DDR控制器,支持带或者不带ECC校验的内存)和面向高性能、低价格桌面电脑的Athlon 64系列(单通道DDR控制器,支持不带ECC校验的内存),并且正在推出面向笔记本市场的Moblie Athlon 64系列,如狼似虎的抢夺64位计算进入个人电脑领域所产生的丰厚回报。

 

接口的困惑

AMD的64位处理器一共有三个系列,或者说按照市场需要的不同划分成了三个档次。有趣的是,AMD在64位处理器的针脚上放弃了自己在Socket462上从一而终的良好生活作风,大玩儿特玩儿Intel擅长的强制分级游戏,在短短一年的时间里,推出了三种用于64位处理器的针脚规格。刚发布的时候,对于高端的Opteron是采用Socket940的规格,共有940个针脚,比Socket462多了一倍也还不止,一般处理器的针脚都排列在四周,中间留下一块空间,但是我们在Socket940的CPU上看到,由于针脚实在太多,处理器背面已经被密密麻麻的针脚占满了。对于低端的Athlon 64,最初是采用Socket754的754根针脚,后来又出现了Socket939的规格,而且这种规格的处理器,不但有Athlon 64,同时还有Athlon FX,这在客观上为消费者选择AMD的处理器造成了困难。Socket 940的针脚数量和Socket 939虽然只有一根的区别,但是在针脚位置的安排上却有着比较大的不同,也就是说Socket 940接口并不是由Socket 939接口在某一个位置增加一根针得来的,这两种接口没办法做到互相兼容。
 

从AMD发展的蓝图上我们可以大概这样预测,Socket940接口会留给Opteron系列(双通道ECC内存),现有的940接口Athlon FX会慢慢消失,后面发布的Athlon FX系列(双通道普通内存)全会是939接口,而754接口的处理器都是Athlon 64(单通道普通内存),直到明年初754接口被AMD淘汰掉,Athlon 64可能也就完成了历史使命。以上的对应关系也有一些例外,现有的Athlon FX处理器有一些是采用940接口,同时,高频的Athlon 64处理器也有939接口的。
 

不同的双核心

在设计上Operton是为了服务器和工作站市场的,所以多处理器功能就成为必不可少的要素了。Operton分为100、200和800三个不同的系列,100系列不能并行处理,200系列支持一路和两路并行处理,800系列则支持一路、两路、四路和八路并行处理,是Operton系列中的高端型号。除了并行处理,AMD在高端的Operton系列中还埋伏了一道伏笔,就是双核心能力,这是专为对付Intel的HyperThreading超线程技术准备的。Intel目前在其处理器中加入的超线程技术实质也是一种多核心架构理念,主要是希望解决缓存命中问题,但该技术并没有像先前芯片工程师预想的那么高效。超线程技术原理是能够在单核心处理器中建立多指令执行单元,如果其中一个执行单元出现缓存命中失败问题,其他单元也许可以保证正常工作。但在实际使用中发现,经常会出现两个执行单元数据冲突的现象,所以并没有很大的提高效率。AMD的双核心的设计则不会出现上面的情况,因为两个处理器各自配备缓存,争夺的焦点主要集中在与主内存的数据交换上。预计AMD将在2004年底展示其双核心处理器样品。

长征

Athlon FX虽然不能够支持双内核,但是它按照运算速度的不同,也分为不同的型号,最先推出的为Athlon FX-51,采用SOI 130nm工艺,频率是2.2GHz,然后是Athlon FX-53、Athlon FX-55等,至于三个系列中的Athlon 64,它的分级方法是按照AMD传统的PR值,从3200+(130nm工艺,频率2.0GHz)开始,3400+、3500+、3600+、3700+、3800+…………等等。对应于三种不同接口,AMD在每个系列上都采用了不同的命名方式,真不知道他们在搞什么。

在新的939针的Athlon FX/Athlon 64处理器和将来要发布的940针Operton处理器中,AMD新增了一个重要的硬件级病毒防护功能,这项功能是Intel、AMD和微软三家为了应付层出不穷的病毒软件而特别制定的。我们知道,缓冲区溢出是病毒攻击的首要手段,但是讨厌的是这个手段虽然广为人知,却苦无一劳永逸的解决之道,逼得微软只能越来越频繁地发布补丁,有了这项技术,这一切都会全面改观了。AMD把这个功能叫做“Execution Protection”(Intel的叫法略有不同),它是一个被集成在CPU内部的锁定机构,当操作系统激活这个功能时,CPU缓冲区的数据将会只读,而不能执行,这可以有效防治病毒的缓冲区溢出攻击。目前的CPU是做不到这一点的,只能任由病毒肆虐。激活了该功能后,计算机用户对数据安全所花费的心思将会大大减少,病毒库更新将不再那么频繁,而更新更加频繁的Windows补丁,很大一部分都变得不再必要。操作系统依靠“吃补丁”生存的习惯也就得以改变。WIndows XP的Service Pack 2支持并实现AMD 64处理器中的病毒保护功能。这项硬件防病毒功能的具体作用有多大,我们评测室正在策划一项测试。

至于研发核心,则是一个相当复杂的问题。总体来讲,AMD 64位处理器在研发计划叫做K8(上一代叫K7),其中Operton第一代核心叫做SledgeHammer(1MB二级缓存/核心面积193平方毫米),而第二代核心则比较混乱,100系列单路(不支持并行处理)核心叫做维纳斯(Venus),200系列核心叫做特络伊(Troy),800系列核心叫做雅典(Athens)。到2005年,AMD将会推出单路丹麦(Danmark)核心、两路意大利(Italy)核心和八路埃及(Egypt)核心的第三代Operton,要注意,第三代核心不管能不能并行处理,都是双内核的。真够乱套的。Athlon FX系列和Opteron有着说不清的血缘关系,先推出的940针和最近推出的939针的Athlon FX都是SledgeHammer核心(1MB二级缓存/核心面积193平方毫米),下一代看来发展路线会与Operton分道扬镳,自行推出2005年上半年发布的圣地亚哥(San Diego),第四代将变成双内核的托莱多(Toledo),2005年内发布。至于Athlon 64系列,第一代核心叫做ClawHammer(1MB二级缓存/核心面积193平方毫米),现在第二代核心纽卡斯尔(NewCastle)(512KB二级缓存/核心面积144平方毫米)也已经发布了,至于下一代,按照AMD的规划将采用温彻斯特(Winchester)核心,这是单内核的,且不能并行处理。

红花也要绿叶陪衬一

光有CPU是没有意义的,在配套芯片组方面AMD也下了很大工夫。芯片组对于AMD的Opteron以及Athlon64而言是极为重要的,因为对于如今的PC架构而言,决定整体性能的关键已经不仅仅是CPU,芯片组同样不可忽视。客观而言,芯片组的设计难度还是在处理器之下,但是需要考虑的问题很多,而以AMD在芯片组设计方面显然是没有太多精力。因此AMD很需要VIA、SiS、ALi以及NVIDIA提供的相关配合,使之能够集中精力,全力以赴地做好AMD64位处理器的研发工作。每当AMD新推出一款处理器,它首先都会配上相应的芯片组,K6时期的AMD 640芯片组,Athlon K7时期的AMD 750/760芯片组,Athlon MP时期的AMD 760MP/MPX芯片组,这些都为AMD处理器站稳脚跟立下了汗马功劳。有趣的是,一旦VIA、SiS、Ali以及NVIDIA推出更为成熟的芯片组,AMD总是功成身退,更多地扮演技术指引的角色,同时为第三方芯片组厂商赢得充足的开发时间。

K8芯片组也不例外,AMD 8000芯片组率先推出,充当Opteron的开道锣手,而紧随其后的VIA、SiS、ALi以及NVIDIA则纷纷跟进。威盛在AMD发布Athlon 64处理器的同时就发布了K8T400,后来又发布了K8T800和整合芯片组K8M800,2004年5月,为了更好的支持AMD刚刚发布的Socket 939接口的处理器,威盛推出了K8T800芯片组的升级版本K8T800 Pro芯片组。K8T800 Pro相对于K8T800做了两个重要的改进。首先是其AGP和PCI时钟相对于HyperTransport总线来说是独立的,这意味着AGP总线频率和PCI总线频率都可以自由调节,对于低婕依此凳且幌詈苤匾母慕梢匀猛婕揖】赡艿耐诰駽PU的超频潜力,而不会因为系统的其它设备影响超频的结果。K8T800 Pro的第二个重要的改进是支持1GHz的HyperTransport总线。这意味着北桥芯片同CPU对话的速度比以前更快。K8T800支持双向16-bit、800MHz HyperTransport总线连接,因此其理论上的峰值传输带宽为6.4GB/s。K8T800 Pro则支持双向16-bit HT总线连接,这意味着CPU和北桥之间以1GHz总线连接时的峰值带宽为8GB/s。相对K8T800,K8T800 Pro还有如下几点的改进:首先是总线接口采用了更灵活的异步方式,而K8T800只支持同步模式;第二是K8T800 Pro南北之桥间的联系采用了新一代的V-LINK技术,最大速率可以达到1066MB/s,比之前提高了1倍;另外一点K8T800 Pro支持最新的Socket939接口。还兼容Socket 754接口以及Socket 940接口,当然最终产品支持哪种接口的处理器是由主板上提供的CPU插座决定的,尽管这些主板可能都采用K8T800 Pro芯片组。一般来讲,K8T800 pro会搭配VT8237南桥芯片,此芯片提供AC'97 VERSION2.2的6声道声卡、两个ATA133 IDE接口、两个SATA150的接口,并为此接口提供了RAID功能、六个主控(BUS MASTER)PCI接口、八个USB 2.0/1.1接口、通过LPC IT8705F的超级I/O芯片,提供软驱、红外线、两个串口、并口、游戏/MIDI和硬件监测接口。此外,还要加上PS/2键盘和鼠标接口。K8T800pro不支持PCI-E,因此威盛还将推出K8T890芯片,除了支持到1GHz HyperTransport总线之外,还同时支持AGP8X和PCI-Express 16x,让没有升级到PCI-Express 16x显示卡的用户也可以继续使用目前的AGP8X显示卡。另外,整合型的K8M890也将同时推出。

红花也要绿叶陪衬二

nVIDIA作为AMD重要的合作伙伴,在AMD 64位芯片组方面的动作十分积极,主要也是由于ATi和Intel走的很近。nForce3系列芯片组成为AMD推荐的64位平台。nVIDIA公司推出了基于Opteron平台的nForce3 Pro 150以及nForce3 Pro 250芯片组(nForce3 150是第一个单芯片设计的64位主板芯片组。该产品采用单芯片设计主要是因为对北桥芯片性能影响最大的因素——内存控制器已经内建在Athlon 64系列CPU中,北桥的概念也因此淡化。此外,nForce3集成了AGP 8X控制器,USB2.0控制器,提供了两个Fast ATA133控制器并且提供了对RAID 0模式磁盘阵列的支持以及对PCI 2.3规范的支持。),针对Athlon64处理器平台NVIDIA还将推出Crush K8系列芯片组,包括nVIDIA Crush K8、nVIDIA Crush K8S、nVIDIA Crush K8 Pro、nVIDIA Crush K8 3GIO、nVIDIA Crush K8G3等。其中,Crush 3GIO支持PCI Express X16图形接口。此外它还支持4个PCI Express X1总线扩展槽,实际上就是一个PCI Express控制器。Crush K8G3则是在Crush 3GIO的基础上整合了FX5600级别的图形核心,可以提供较为理想的图形性能。 Crush 3GIO和Crush K8G3都将与Crush K8-04南桥搭配,通过HyperTransport总线连接南北桥。Crush K8-04南桥可支持4个Serial ATA和4个ATA 133接口,支持NV RAID功能,直接整合了千兆以太网和无线网络技术,并支持网络防火墙。此外,Crush K8-04支持24bit/96kHz的7.1声道Azalia声效,提供8个USB 2.0接口。

ATI则是在Intel和AMD两个平台积极的耕耘,基于AMD64位平台的芯片组规划有集成了Radeon 9600级别的图形核心的RS480,支持PCI Express,以及没有集成图形内核的RX480,RX480和RS480都可以同SB400或SB450南桥搭配。新品于2004年第一季度出样,第二或第三季度开始批量生产。

SiS也已经在AMD 64位平台也推出面向主流高性能平台的SiS755,面向高端高性能平台的SiS755FX,以及整合图形芯片的SiS760。这三款芯片组都会搭配SiS964南桥、1GB的MultIO的南北桥总线、支持AGP8X、支持ATA133和SATA150、支持USB2.0、支持800MHz的HT总线频率、支持单通道内存(960还将支持双通道内存)。由于最重要的内存控制器集成到了CPU内部,SiS北桥对性能的影响程度减小了,它只需要控制AGP以及Hyper Transport和妙渠技术(MuTIOL)就可以了。SiS在这方面做了大量的准备工作,一方面通过妙渠技术(MuTIOL)提升南北桥之间的总线带宽,另一方面则通过HyperStreaming引擎技术提升数据传输效率。SiS在2004年还将推出的SiS756和SiS761两款芯片组,均支持Athlon 64处理器,其HyperTransport总线从800MHz提升到1000MHz,单向传输速率高达2000Mb/s,SiS761更是整合了DX9图形内核。SiS756是SiS755系列的下一代产品,它的规格同K8T890相当,支持PCI Express X16图形接口。SiS756搭配的南桥芯片是SiS965和SiS966,配合ASHE技术可获得更高的磁盘效能,而在其它功能方面SiS756芯片组也丝毫不弱:Serial ATA RAID、PCI Express X1扩展槽、千兆网络、USB 2.0及IEEE 1394等功能一应俱全。SiS761是SiS756的整合版本,也是SiS760的升级版本,所整合的图形核心与Prescott平台的SiS 662相同,均可支持DirectX9 API,至于3D性能还有待验证。

红花也要绿叶陪衬三

绝地反击

64位的操作系统,现在看来也不是问题。运行在PC机上的操作系统很多,Windows就有好几种,Linux更是不计其数,再加上Solaris、BSD三兄弟(FreeBSD、OpenBSD、NetBSD)、OS/2、DarWin、QNX、SCO UNIX等等等等,简直是数不胜数。但是主流的只有Windows和Linux。64位的Linux内核已经发布了,SuSE和RedHat等Linux大家都已经推出了自己的64位Linux产品,Windows方面,不少人都认为它在64中毫无建树,在这里必须要为微软正名。微软在2001年就推出了Windows2000 DataCenter的64位版本,是为Intel安腾服务器推出的IA-64架构的操作系统,不能运行在个人电脑上,到了2003年,Windows Server 2003推出了四个版本,分别是专业版、web服务器版、企业版和数据中心版;其中企业版和数据中心版都有32位和运行于安腾之上的64位两个版本,同时Windows XP也有64位的安腾工作站版,应该说微软在64位的路上是先行者(正如Intel一样)。实际上,微软的比尔盖茨是64位计算的忠实拥护者,他说“64位已经来到”可不是一次两次了。当然,微软也看出来了跟着Intel走比较危险,2003年9月,微软为AMD推出了Windows XP的64位测试版本,2004年1月,又推出了Windows Server 2003的64位测试版本,当时微软的说法是2004年中以前推出正式板,现在看来延期了。有人说是年底之前出,危险的是不管是AMD还是微软都对此事闭口不提,说不出个所以然来。至于这个延期有没有Intel的关系还不好说,Intel是这样的,它的安腾实在抗不住了,终于发布了兼容x86-64的核心叫Nocona的64位至强处理器,上演了一场两个64位处理器(至强vs安腾)同门相残的惨剧。

新至强的指令集和AMD 64几乎是一模一样的,在2004年IDF会议上发布时叫做IA-32E,也就是此前网上纷纷传言的Yamhill技术。和AMD x86-64一样, Intel的IA-32E技术是在原有IA32构架基础上以最小的改动实现对64-bit寻址能力的支持,实际是对原有IA32处理器构架体系的增强设计,同时又兼顾了新构架对原有的IA32构架下开发的32bit甚至16bit代码的支持。IA-32E通过删除INC/DEC两个指令实现REX prefix,提供64位模式下新增寄存器的指令编码空间,64位通用寄存器(GPR)以及SSE/SSE-2/SSE-3寄存器(XMM)都增加8组。另外,新增64位平面寻址模式、中断优先权控制机制以及RIP-Relative寻址模式,这些也都与AMD x86-64完全相同。IA-32E提供64位模式和兼容模式,64位模式支持64位的操作系统、应用程序、驱动程序、平滑虚拟寻址空间(flat virtual address space)和通用寄存器(general-purpose registers,GPR),兼容模式支持64位的操作系统和驱动程序,应用程序和通用寄存器会支持32位环境,提供4GB的寻址空间。兼容模式将不支持IA-32架构的虚拟8086模式(Virtual-8086 Mode)和实模式(Real Mode),许多DOS的设备驱动程序将无法作用。以微软操作系统为例,Windows Me和以上已经移除实模式程序代码,所以不会受连累,但MS-DOS、Windows 95/98会受到影响。从上面来说,IA-32E可以兼容于AMD x86-64。毕竟目前AMD64已经获得了业界的广泛支持,这让Intel采用AMD的x86-64架构变成了必然的选择。由于英特尔在过去与AMD签署过关于x86指令集交互授权协议,所以英特尔可以采用AMD x86-64而不必交付权利金。

命运

不过,IA-32E和AMD x86-64依然有着不同之处,比较明显的差别是:AMD x86-64有3DNow!,Intel没有;Intel拥有SSE-3,AMD x86-64还没有。不过,这些都是小差距,双方要加入这些功能并不会有什么困难。微软和英特尔宣称操作系统将可互相兼容并不是没有理由的,这也是软件厂商最欢迎的结果。这种结果恐怕也是唯一的选择,因为谁都无法承受为Intel和AMD分别编写程序的代价,微软就表示已经有了两个64位操作系统(真可怜!!),不会再为第三个64位架构写操作系统,连微软尚且如此,其它软件厂商就更不用提了吧。

64位的操作系统,需要专门的64位驱动程序,这方面就比较差了,实际上这也是AMD的软肋,它的影响力不够,大家都抱着观望的态度,跟着它跑的厂商不多,所以为64位操作系统编写的驱动到现在还是远远不够丰富,当然一些大厂,比如Nvidia和ATi,都已经发布了64位的驱动程序,要解决这个问题,微软的帮助对于AMD是至关重要的。相信在正式发布64位Windows的时候,大多数驱动都已经有64位了,这是因为微软为了新操作系统推出时的竞争力和兼容性,会花很大力气去完善WHQL库的规模。

最后而且是最终能够决定AMD 64位处理器命运的,就是64位应用程序,我们知道安腾的挫折主要就是因为为它编写的程序太少,据说到现在只有几百款,而在SUN的Solaris操作系统(也是64位的)上运行的程序已经上万款了,在个人电脑上这个相应的数字是几百万款。其实,对于使用者来讲,64位处理器、64位系统、64位驱动程序等等全都是不可见的,可见的只有利用这些操作环境运行的64位应用软件,没有应用程序,什么都是白搭。对于AMD 64处理器来讲,它有个大的优势在于不但64位性能强劲,32位性能也很强,刚才我们说过了,它同时也是一颗32位处理器。因此,在现在的阶段,大家都是在32位的应用环境下使用,其实根本没有发挥它全部的潜力(这也说明了它惊人的实力)。但是这毕竟不是长久之计,没有64位的应用环境,64位处理器就像离开水的鱼,是没有生存和发展空间的。

看谁笑在最后

到今天为止,为64位编写的软件数目还很少。这里就要说到这篇东西,本来这应该是一篇64位处理器的64位表现评测,请注意是64位表现,关于AMD 64的评测已经实在太多了,但通通都是把它当成32位处理器测的,使用了32位的系统、驱动和测试软件,测出来的当然是它在32位环境下的性能表现,也就是上面说的寄存器LMA=0,长模式没激活,所有寄存器工作在32位下,所有64位专用寄存器不可用的情况下的性能,如果大家看过白皮书,就会发现从内核而言这时的处理器和Athlon XP几乎是完全一样的(当然多了一些管线、Hyper Transpot、内存直接吞吐等功能)。因此我从一开始就并不想做这样的测试,但是到最后,也没能做成64位测试,主要是因为64位的软件太少了,测是软件就更少,游戏几乎没有——但不是完全没有,Unreal Tourament 2004已经放出了64位demo,是Linux版本,Windows的64位游戏还没有,很多厂商说正在做,但也有消息说DOOM3将不会推出64位版。至于在64位系统上运行32位测试软件和32位游戏——因为64位的Windows是向下兼容的,因此可以将32位软件运行在64位操作系统上——则并没有测试意义,所有的软件在64位环境下运行,都会面临效率下降的问题,原因很简单,64位系统并不是位32位软件设计的,与32位系统情况不同(那时处理器运行在32位模式下实际上就是一颗32位CPU),此时处理器是在长模式下运行的,用兼容32位运行,效率并不高。

总之,32位系统+32位测试,不是本文的目标,64位系统+32位测试,效率会下降,而且也不是目标,64位系统+64位测试,目前看来,时机还并未成熟。AMD提供了一些数据,表明在真正64位模式下处理器速度会大幅上升,这才是64位的应用前景,Intel在2005年之前,还不会推出64位的桌面处理器,这一段时间对于AMD来讲是比较重要的。在64位的战役中,AMD已经领先一步,能不能取得最终胜利,就取决于能不能迅速将64位的应用环境变成熟,一旦成熟,那么江山就是铁打的了。但是,Intel只怕不会乐见其成吧?

返回原文

本文导航

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑