在个人电脑20多年的发展历史上,AMD在与Intel的竞争中似乎从来没有像现在这样占据优势,这一切似乎都要归功于它推出的x86-64系列64位CPU。
绝地反击
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而不必交付权利金。
网友评论