| | | [文章导读] | | | 在英特尔与AMD的64位处理器之战中,微软操作系统却扮演普及化的重要角色…… | |
| | [文章信息] | | | 作者: | 姑苏飘雪 | | 时间: | 2004-06-13 | | 出处: | 天极Myhard | | 责编: | 寒冬 | |
| |
| | | |
|
|
|
|
|
|
从技术上看,IA-32E谈不上有多少独特的创新,因为它在64位运行模式、兼容模式和旧模式的工作状态以及处理器的寄存器规模、操作系统和应用软件方面的需求都与AMD 64几乎完全一样。但这并非英特尔的本意,英特尔原本计划让IA-32E与AMD 64不相兼容,因为英特尔对整个产业界的控制力远远强于AMD,它可以通过这个手段让软件商转向IA-32E而逐渐冷落AMD 64。
问题是英特尔启动这个计划的时间太晚了,当时Opteron/Athlon 64处理器已经出台,微软针对AMD 64的Windows XP系统也处于后期开发阶段。当英特尔寻求微软支持的时候,微软却反过来让英特尔选择兼容AMD 64的方案,因为微软并不想同时开发三个版本的64位Windows:IA-32E、AMD 64和Itanium版。
迫于微软的压力,英特尔最终选择了兼容,但这的确是一件非常尴尬的事情。而且英特尔推出IA-32E、并与AMD x86-64的兼容性,虽解决燃眉之急、暂时解除了Opteron对Xeon的严重威胁。但对已经投入多年心血的IA-64,仍是一个空前重大的打击,这也是Yamhill计划已经存在多年,但英特尔迟迟不愿正式发表的主因。
由于IA-32E的发布,英特尔希望让IA-64彻底取代x86的目标变得更加渺茫,在IA-32E及IA-64之间作出明确的市场区隔、以保障IA-64的生存空间,更是烫手山芋。目前英特尔最可能的做法是:让IA-64处理器率先往双核心及多核心架构发展,拉大IA-64与IA-32E之间的性能差距。
附注:其实在i486以前,英特尔对自己的处理器产品一直是采用向下兼容的措施:如为了让80286兼容8060系统/软件,英特尔特定为20286设计了“保护模式(Protected Mode)”和“实际模式(Real Mode)”两种工作模式,其中实际模式是8086的工作模式,在实际模式中,为了维持和8086的兼容性,20286系统只能使用 1MB 的内存。而到了i386,其工作模式在20286基础之上又增加了“虚拟 8086 模式(Virtual-8086 Mode)”和“系统管理模式(System Management Mode,SMM)”两个工作模式。
二、AMD的AMD-64架构
在64位处理器上,AMD采用一种基于X-86指令体系的64位架构,也就是AMD-64架构(也称为X86-64架构)。
AMD的AMD64延伸自×86架构,与既有32位的环境完全兼容,AMD64用在桌面处理的单一处理器环境称为Athlon 64,用在服务器和工作站环境的多处理器环境称为Opteron。AMD64以实际的速度执行×86的应用程序,不像过去的IA-64采用模拟的方式。在内存寻址模式上,提供16与32位的传统模式(Legacy Mode)、32位的兼容模式及长寻址模式(Long Mode)。
×86架构中的8个32位的通用寄存器都扩大为64位,并且增加8组64位通用寄存器,也增加8个128位的XMM寄存器。XMM指令集就像SSE和SSE2,使用在科学应用和多媒体运算,可以提供单一指令多重数据处理(single instruction multiple data,SIMD)更多的空间。由于此前已经进行过详细介绍,在这里就不再细述。
|
模式 |
操作系统 |
是否需要进行编译 |
默认 |
|
地址长度 |
操作数长度 |
扩展的寄存器 |
通用寄存器位宽 |
|
Long模式 |
64位 |
64位 |
是 |
64 |
32 |
使用 |
64 |
|
兼容模式 |
否 |
64 |
不使用 |
32 |
|
Legacy模式 |
32位或64位 |
否 |
32 |
32 |
不使用 |
32 |
| |
|
|
|
|
|
|
|