最近老被x32位系统和x64位系统来回折磨,最终还是不知道他们的具体概念和细节。也去了些论坛泡了几下,回答的也都是半斤对八两。哎,还是自己抽出时间好好的查查吧。 果不其然,看到的这篇文章感觉还是有专业水准的,不跟大家分享太可惜了···
 
在许多关于Vista的问题中,我最常听到的一个就是到底应该选择32位x86还是64位x64版本?我在这里将尽可能详细地解释各自版本的优缺点。

首先我们必须知道有关x64的一些背景。X64是AMD发明的64位扩展技术(AMD64)。它可以将基于x86架构的32位处理器(兼容286、386和486的处理器)无缝迁移到64位时代。Intel和合作伙伴HP已经拒绝在老x86平台上进行任何拓展,取而代之的是全新的纯64位IA-64 Itanium架构。尽管Itanium从根本上超越了旧的结构,它的x86模拟工作模式在已有应用软件下的表现得还是相当糟糕。Intel希望市场能够跳跃到新的平台上,然而没有人愿意这样做,这导致Itanium很难少被采用。而AMD则走的是另外一路。通过添加和修改大量的64位寄存器,AMD成功地将已有的x86架构扩展到64位。AMD的做法立即受到了市场的欢迎。结果和初衷是相反的,最终Intel通过AMD和Intel间的专利产品交换协议拿到了AMD64技术,并给它另起了一个名字:EM64T。这两个x64技术除了在执行上有少许不同外,几乎是一样。
 
微软最初创建了一个64位版本的Windows XP,一个只支持运行在IA-64 Itanium平台上的纯64位操作系统。运行32位程序必须使用模拟。微软甚至还为Windows 2000 Server也开发了一个64位版本。问题是由于IA-64的普及率太低,并且AMD创造了AMD64,Intel只能一路跟随。于是就有了后来的x64版本的Windows XP和Windows Server 2003。X64版本是32位和64位的混合体,操作系统可以自动全速运行在32位或64位上而不需要软件模拟。而64位版本的XP则需要通过软件模拟来运行32位代码。伴随着Vista的发布,微软同时发行了32位的x86和64位的x64版本。零售版同时包含了这两个版本,而OEM版本则只包含两个版本中的一个,所以你必须在购买前作出选择。接下来最常被问到一个问题就是如何知道Vista运行在32位还是64位。
你要做的第一件事儿就是确定你的CPU支持x64。[Dave Leigh在talkback中给出了Steve Gibson's x64 detector这个软件,它可以帮你检查你的硬件是否支持x64]。下面是一个对问题的简单总结:
? 过去两年售出的使用Intel或是AMD的服务器几乎都支持x64。
? 去年内Intel和AMD售出的中高档台式机处理器都支持x64。
? 一些高端的Sempron支持x64,而低端的则不支持。
? AMD Duron全系列都不支持x64。
? AMD Opteron全系列都支持x64。
? AMD X2、FX和Athlon64 芯片都支持x64。
? Intel 的Pentium D和 Celeron D芯片都支持x64。
? AMD Turion 移动版处理器都支持 x64。
? Intel 的所有Core 2 处理器 (包括笔记本、台式机和服务器)都支持x64。
? Intel的Core Duo移动版处理器不支持x64。
? Intel的Pentium M移动版处理器不支持x64。
 你要做的第二件事儿就是检查你的硬件是否都有x64 Vista驱动的支持,包括操作系统自带和厂商提供的。在这一步,许多主板生产商都不能提供最新的5.1声道和网卡驱动,你可能需要通过检查芯片制造商来找到对应的驱动。比如,你可以在这里找到Realtek 32/64位1G网卡和5.1声道的驱动程序。NVIDIA更新了最新的32位和64位驱动程序。ATI (AMD) 的32 和 64 位驱动可以在这里找到。Creative的驱动可以在这里找到,但它对x64的支持很有限,驱动的开发很可能还在beta阶段。尽管你需要的一些基础硬件驱动已经在这里了,那些周边的硬件像摄像头、打印机、扫描仪或者其他附件的驱动也仍然是Vista x64版本的杀手。
你不必担心Vista或XP 的x64版本对32位程序的兼容,它们可以无缝地运行32位程序。可是,驱动程序是绝对的杀手。如果你要找的驱动程序只有32位版本,那么运行x64版的Vista和XP对你就意味着灾难。鉴于这个原因,x64版本对于一般用户来说是不太实用的,太多的外围硬件设备不能使用。让电脑本身工作其实很简单,但一两个你必须使用但又没有驱动程序的硬件就够折磨死你的了。出于这点考虑,没有PC制造商为用户预装x64版本的Windows,因为它们知道用户一定会投诉他们的打印机为什么装不上。直到今天,Apple iTunes也不支持任何x64版本的Windows。
服务器则不太一样了,因为我们不需要用服务器连接外围硬件,只要保证服务器自身的必须硬件能够运行就可以。任何想做服务器硬件生意的提供商,不管是卖HBA光纤通道适配器还是iSCSI适配器,都必须提供完全的x64支持。微软的Exchange Server 2007只支持x64版本,而且我们也愿意看到更多的软件来支持64位。自从x64可以很好地兼容32位程序的运行,在服务器领域推广x64还是很有好处的。
还是考虑到较少的外围硬件的使用,为专业人士准备的工作站可能是另外一个适合使用x64的地方。X64可以快速有效地执行高性能要求的计算任务。拿免费的图形编辑工具Paint.NET来说,它针对x64和多核处理器进行了特别优化。尽管Adobe并没有打算在即将推出的Photoshop CS3中加入x64版本,这并不意味着你不能使用基于x86架构的Photoshop;事实上,在基于x64的Windows上运行依然能带来一定的性能提升,因为x64支持超过4G的内存容量,这样更多的内存可以分配给Photoshop。但即便这样,Photoshop也不应该落在后面,因为Paint.NET在基于x64运行的时候,在过滤和分层效果的处理速度上达到了0.5到1倍的增长。Adobe早在2年前就应该支持x64了,但他们明年甚至还不能支持。
过渡到x64的底线是确定你的所有硬件是否都能正常工作在Vista x64上,如果是的话,过渡到Vista x64就是值得的。
  市面上所说的64位处理器包括AMD Athlon 64与INTEL的EMT64处理器都是指通用寄存器的位宽,不是总线。
但要从数据总线方面来说,从80386开始就已经是32bit
而奔腾级别以上的CPU数据数据总线都是64bit了,包括安腾在内的64位服务器处理器。
  而我们通常所说的32bit向64bit过度都是习惯上以通用寄存器的位宽来区分的。
还有一种更具体的说法是:
这里的64位技术是相对于32位而言的,这个位数指的是CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,64位指令集就是运行64位数据的指令,也就是说处理器一次可以运行64bit数据。64bit处理器并非现在才有的,在高端的RISC(Reduced Instruction Set Computing,精简指令集计算机)很早就有64bit处理器了,比如SUN公司的UltraSparc Ⅲ、IBM公司的POWER5、HP公司的Alpha等。
  64bit计算主要有两大优点:可以进行更大范围的整数运算;可以支持更大的内存。不能因为数字上的变化,而简单的认为64bit处理器的性能是32bit处理器性能的两倍。实际上在32bit应用下,32bit处理器的性能甚至会更强,即使是64bit处理器,目前情况下也是在32bit应用下性能更强。所以要认清64bit处理器的优势,但不可迷信64bit。
 
目前主流CPU使用的64位技术主要有AMD公司的AMD64位技术、Intel公司的EM64T技术、和Intel公司的IA-64技术。其中IA-64是Intel独立开发,不兼容现在的传统的32位计算机,仅用于Itanium(安腾)以及后续产品Itanium 2,一般用户不会涉及到,因此这里仅对AMD64位技术和Intel的EM64T技术做一下简单介绍。
AMD64位技术
AMD64的位技术是在原始32位X86指令集的基础上加入了X86-64扩展64位X86指令集,使这款芯片在硬件上兼容原来的32位X86软件,并同时支持X86-64的扩展64位计算,使得这款芯片成为真正的64位X86芯片。这是一个真正的64位的标准,X86-64具有64位的寻址能力。
X86-64新增的几组CPU寄存器将提供更快的执行效率。寄存器是CPU内部用来创建和储存CPU运算结果和其它运算结果的地方。标准的32-bit x86架构包括8个通用寄存器(GPR),AMD在X86-64中又增加了8组(R8-R9),将寄存器的数目提高到了16组。X86-64寄存器默认位64-bit。还增加了8组128-bit XMM寄存器(也叫SSE寄存器,XMM8-XMM15),将能给单指令多数据流技术(SIMD)运算提供更多的空间,这些128位的寄存器将提供在矢量和标量计算模式下进行128位双精度处理,为3D建模、矢量分析和虚拟现实的实现提供了硬件基础。通过提供了更多的寄存器,按照X86-64标准生产的CPU可以更有效的处理数据,可以在一个时钟周期中传输更多的信息。
EM64T技术
Intel官方是给EM64T这样定义的:EM64T全称Extended Memory 64 Technology,即扩展64bit内存技术。EM64T是Intel IA-32架构的扩展,即IA-32e(Intel Architectur-32 extension)。IA-32处理器通过附加EM64T技术,便可在兼容IA-32软件的情况下,允许软件利用更多的内存地址空间,并且允许软件进行32 bit线性地址写入。EM64T特别强调的是对32 bit和64 bit的兼容性。Intel为新核心增加了8个64 bit GPRs(R8-R15),并且把原有GRPs全部扩展为64 bit,如前文所述这样可以提高整数运算能力。增加8个128bit SSE寄存器(XMM8-XMM15),是为了增强多媒体性能,包括对SSE、SSE2和SSE3的支持。
Intel为支持EM64T技术的处理器设计了两大模式:传统IA-32模式(legacy IA-32 mode)和IA-32e扩展模式(IA-32e mode)。在支持EM64T技术的处理器内有一个称之为扩展功能激活寄存器(extended feature enable register,IA32_EFER)的部件,其中的Bit10控制着EM64T是否激活。Bit10被称作IA-32e模式有效(IA-32e mode active)或长模式有效(long mode active,LMA)。当LMA=0时,处理器便作为一颗标准的32 bit(IA32)处理器运行在传统IA-32模式;当LMA=1时,EM64T便被激活,处理器会运行在IA-32e扩展模式下。
目前AMD方面支持64位技术的CPU有Athlon 64系列、Athlon FX系列和Opteron系列。Intel方面支持64位技术的CPU有使用Nocona核心的Xeon系列、使用Prescott 2M核心的Pentium 4 6系列和使用Prescott 2M核心的P4 EE系列。
 
  本文转自:[url]http://blog.sina.com.cn/s/blog_4cd6899101008s8g.html[/url]。在此感谢博主。