64位操作系统是指特别为64位架构
计算机系统而设计的
操作系统。
历史发展
1978至1995年:16位大行其道
1978年,
Intel推出了首个16位CPU。在此期间,
操作系统走过了16位的PC-DOS、MS-DOS、CP/M-86、UCSD Pascal P-System,MS-DOS开始成为个人计算机操作系统的霸主,直到今天,DOS在Windows系统维护中仍然扮演着重要的角色。
1985年,微软推出了Windows 1.0,之后又陆续推出了Windows 2.0、Windows 286、Windows 386,但由于性能平平而没有得到人们的注意。直到1990年5月,微软推出了Windows 3.0,加入了许多有用的功能,并首次加入了多媒体功能,被舆论称为“多媒体的DOS”。Windows 3.0一经面世,就取得惊人的成功,一举奠定了微软在操作系统上的垄断地位。
1995至2005年:从16位到32位的飞跃
1985年Intel推出了首个32位
处理器。在此期间,1995年8月,微软推出了Windows 95,称为操作系统发展史上一个里程碑。从Windows 95到Windows 98/ME,都是混合16/32位计算的操作系统,并不是纯32位操作系统,稳定性和性能方面虽比过去得到了较大的提升,但仍不能满足人们对计算机应用的需要。
2000年,微软推出了Windows 2000,开辟了个人桌面32位计算与应用的新时代。2001年发布的Windows XP成为目前使用率最高的操作系统。
32位计算时代最成功的应用就是多媒体和Internet,32位的Windows平台上涌现了很多之前只能运行在SGI等大型图形
工作站的应用程序,如3DMax、
Photoshop等,人们不再为这些多媒体创作而购买极其昂贵的图形工作站,日益成熟的32位计算开辟了PC担任多媒体应用工具的新纪元。
综述:64位操作系统最早在中小型计算机上实现,主要是一些Unix系统。此后
英特尔和
惠普公司合作研制的
IA-6464位处理器(代号 Itanium 2)推出后,出现了此平台上的64位
Linux及
微软Windows操作系统(即基于IA-64的Windows XP 64位版本)。之后AMD推出了64位的
X86-64架构CPU,很快就在Linux平台得到支持,并且微软也提供了64位版本的
Windows XP操作系统(全称Windows XP Professional x64),使得IA-64位处理器日渐式微。最终英特尔决定推出与AMD之前推出的AMD64兼容的64位CPU,称为Intel 64。苹果切换到英特尔平台后也开始开发64位操作系统。
早期的解决方案十分古怪:如Tiger和Leopard以32位系统为核心,支持程序以64位模式运行,导致实际执行效率并不高。而后期的系统趋于完善,如Snow Leopard和更新的系统本身已于64位模式运行,可运行64位程序,也可以用兼容模式运行32位程序。
内存限制
一个 64 位的 CPU,内部可能有外部数据总线或不同大小的
地址总线,可能比较大或比较小;术语“64位”也常用于描述这些总线的大小。例如,有许多机器有着使用 64 位总线的 32 位处理器(如最初的 Pentium 和之后的 CPU),因此有时会被称作“64位”。同样的,某些 16 位处理器指的是 16/32 位处理器具有 16 位的总线,不过内部也有一些 32 位的性能。这一术语也可能指计算机
指令集的
指令长度,或其它的
数据项(如常见的 64 位
双精度浮点数)。去掉进一步的条件,“64位”计算机架构一般具有 64
位宽的
整数型
寄存器,它可支持(内部和外部两者) 64 位“区块”(chunk)的整数型数据。
大部分的 CPU(截至2005 年),其单个
寄存器可存放
虚拟内存中任意数据的
内存地址(本机)。因此,
虚拟内存(计算机在程序的工作区域中所能保留的数据总量)中可用的地址取决于
寄存器的宽度。自 1960 年的 IBM System/360 起,然后
1970年的 DEC VAX
微型计算机,以及
1980年中期的 Intel 80386,在事实上一致开发合用的 32 位大小的
寄存器。32 位
寄存器意味着 2^32 的地址,或可使用 4 GB 的
内存。当时在设计这些架构时,4 GB 的
内存远远超过一般所安装的可用量,而认为已足够用于
寻址。认为 4 GB 地址为合适的大小,还有其它重要的理由︰在
应用程序中,如数据库,42 亿多的
整数已足够对大部分可计算的实例分配唯一的参考引用。
然而在 1990年初,成本不断降低的
内存,使安装的内存数量逼近 4 GB,且在处理某些类型的问题时,可以想像
虚拟内存的使用空间将超过 4 GB 上限。为此,一些公司开始释出新的 64 位架构芯片家族,最初是提供给
超级计算机、顶级工作站和服务器机器。64
位运算逐渐流向
个人计算机则出现在 2003 年,并在 2006 年,转向 EM64T 处理器,且 x86-64 处理器在顶级的 PC 中遂渐普及。64 位架构的出现,有效的将
内存上限提升至 2^64 地址,16 EB 的内存。从这个角度来看,在 4 MB 主
内存很普遍时,最大的内存上限 2^32 的地址大约是一般安装内存的 1000 倍。当 1 GB 的主
内存很普遍时,2^64 的地址上限大约是 1 百亿倍。
市面上大部分的消费级 PC 存在着人为的
内存限制,因受限于实例上的限制,而几乎不太可能需要完整支持 16 EB 容量。举例来说,
Apple的 Mac Pro 最多可安装实例
内存至 16 GB,而无必要支持超过的大小。
Linux内核(版本 2.6.16)可编译成最高支持 64 GB 的
内存,
Windows VistaUltimate支持超过128G内存。
处理器
这里的
64位技术是相对于
32位而言的,这个位数指的是CPU GPRs(General-Purpose Registers,
通用寄存器)的数据宽度为64位,64位
指令集就是运行64位数据的指令,也就是说处理器一次可以运行64bit数据。64bit处理器并非才有的,在高端的RISC(Reduced Instruction Set Computing,
精简指令集计算机)就有64bit处理器,比如SUN公司的UltraSparc Ⅲ、IBM公司的POWER5、HP公司的Alpha等。
主流CPU使用的
64位技术主要有AMD公司的
AMD64位技术、Intel公司的
EM64T技术、和Intel公司的IA-64技术。其中IA-64是Intel独立开发,不兼容传统的
32位计算机,仅用于Itanium(
安腾)以及Itanium 2,一般用户不会涉及到,因此这里仅对AMD
64位技术和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-R15),将寄存器的数目提高到了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系列。
与32位区别
简单的说x86代表32位操作系统 x64代表64位操作系统。如果你的CPU是双核以上,那肯定支持64位操作系统了。如果你的电脑内存大于4G,那就要用64位的系统了,因为32位的Windows 7也好,Vista也好,最大都只支持3.25G的内存。而64位的windows 7最大将支持128G的内存。
64bit计算主要有两大好处:可以进行更大范围的整数运算;可以支持更大的内存。
内存这是64位系统最显著的优点,它可以使用超过4GB的内存 。大多数新的台式机和笔记本电脑至少拥有4GB的内存。问题是,像Vista和Win 7的32位版本只能够用大约3GB的内存 。相比之下,64位的Windows 不仅可以利用高达128GB的内存,还能够使用的内存映射取代BIOS的功能,从而使操作系统真正使用完整的4GB的。