x86\\x64\\ia64的区别
这几天做MDT时,总是会遇到x86\x64\ia64这几个文件夹。前两者很常见,自从Win7系统出现之后,经常会遇到。于是猜想ia64应该也是CPU的某种架构或版本。现对三者做了下总结。
x86或80×86是英特尔Intel首先开发制造的一种微处理器体系结构的泛称。该系列较早期的处理器名称是以数字来表示,并以“86”作为结尾,包括Intel 8086、80186、80286、80386以及80486,因此其架构被称为“x86”。x86架构于1978年推出的Intel 8086中央处理器中首度出现,它是从Intel 8008处理器中发展而来的,而8008则是发展自Intel 4004的。8086在三年后为IBM PC所选用,之后x86便成为了个人计算机的标准平台,成为了历来最成功的CPU架构,如Pentium、Athlon。现在,Intel把x86-32称为IA-32,全名为“Intel Architecture, 32-bit”。
x86-64架构诞生颇有时代意义。当时了,处理器的发展遇到了瓶颈,内存寻址空间由于受到32位CPU的限制而只能最大到约4G。AMD主动把32位x86(或称为IA-32)扩充为64位。它以一个称为AMD64的架构出现(在重命名前也称为x86-64),且以这个技术为基础的第一个产品是单内核的Opteron和Athlon 64处理器家族。由于AMD的64位处理器产品线首先进入市场,且微软也不愿意为Intel和AMD开发两套不同的64位操作系统,Intel也被迫采纳AMD64指令集且增加某些新的扩充到他们自己的产品,命名为EM64T架构(显然他们不想承认这些指令集是来自它的主要对手),EM64T后来被Intel正式更名为Intel 64。这两者被统称为x86-64或x64,开创了x86的64位时代。
其实ia64的历史早于x86-64,最初由Intel和惠普于1990年联合推出。由于ia64不与32位兼容,所以没有受到重视。而后为了日益扩张的计算需求,Intel重新将ia64拿出来,发布了安腾系列服务器CPU。ia64是一种崭新的系统,和x86架构完全没有相似性,不应该把它与x86-64或x64弄混。基于ia64处理器架构的服务器具有64位运算能力、64位寻址空间和64位数据通路,突破了传统ia32架构的许多限制,在数据的处理能力,系统的稳定性、安全性、可用性、可管理性等方面获得了突破性的提高。它是Intel自推出32位微处理器以来,在高性能计算机领域的又一座里程碑。
x64和ia64处理器都能够运行64位操作系统和应用程序,但是区别在于:x64架构基于x86,是为了让x86架构CPU兼容64位计算而产生的技术。x64架构的设计是采用直接简单的方法将目前的x86指令集扩展。这个方法与当初的由16位扩展至32位的情形很相似。优点在于用户可以自行选择x86平台或x64平台,兼容性高。ia64则是原生的纯64位计算处理器,并且与x86指令不兼容。如果想要执行x86指令需要硬件虚拟化支持,而且效率不高。优点在于ia64架构体系将拥有64位内存寻址能力,能够支持更大的内存寻址空间。并且由于架构的改变,性能比起x64的64位兼容模式更高更强。所以,ia64操作系统也是比较少见的,由于只能在Intel安腾系列处理器及AMD部分服务器处理器运行,所以主流市场并不常见。而且,这些ia64架构处理器也不能够使用x64操作系统。而x64处理器则可以自由选择x86或是x64操作系统。
关于32位系统与64位系统的比较,速度并不是唯一的考量因素。也不能因为数字上的变化,简单地认为64位CPU的性能是32位CPU的两倍。实际在目前阶段64位的应用程序并不多,即便有,很多也只是因为其32位的版本无法在64位操作系统上运行而产生的。而没有真正做过64位优化的程序,性能上并不会带来太大的提升。相反,在32位的应用上 ,跑32位的CPU性能甚至会更强。另一方面,由于32位的Windows系统最大只支持3.25G的内存,而64位的Windows系统则可以最大支持128G的内存。所以,当电脑内存大于4G时,就要果断采用64位系统了。