64位处理器
64位处理器是指数据宽度为64位的CPUGPRs(General-Purpose Registers,通用寄存器)。
64位指令集就是运行64位数据的指令,也就是说处理器一次可以运行64 bit数据。64 bit处理器并非现在才有,在高端的RISC(Reduced Instruction Set Computing,精简指令集计算机)很早就有64 bit处理器了,如SUN公司的Ultra Sparc Ⅲ、IBM公司的POWER 5、HP公司的Alpha等。
基本介绍编辑本段
|
|
实现条件编辑本段
要实现真正意义上的64位计算,光有64位的处理器是不行的,还必须得有64位的操作系统以及64位的应用软件才行,三者缺一不可,缺少其中任何一种要素都是无法实现64位计算的。在64位处理器方面,Intel和AMD两大处理器厂商都发布了多个系列多种规格的64位处理器;而在操作系统和应用软件方面,情况不容乐观。因为就2013年来说,为64位CPU专门设计的应用程序是少之又少的。它的优点在于它可以完全兼容32位应用程序,而且64位在若干年之后必定成为主流。缺点是易用性和通用性不高,一个明显的例子就是各种硬件设备的驱动程序不完善,而且64位的应用软件还很少。所以无法使用一些硬件,即使用操作系统自带的驱动程序勉强运行,性能也会大大的降低。所以如果想体验64位处理器,最好的选择是windows7或者windows8而windowsXP*64已经很少有了。
主流技术
有AMD公司的AMD64位技术、Intel公司的EM64T技术、和Intel公司的IA-64技术。其中IA-64是Intel独立开发,不兼容传统的32位计算机,仅用于Itanium(安腾)以及后续产品Itanium2,一般用户不会涉及到,因此这里仅对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-bitx86架构包括8个通用寄存器(GPR),AMD在X86-64中又增加了8组(R8-R9),将寄存器的数目提高到了16组。X86-64寄存器默认位64-bit。还增加了8组128-bitXMM寄存器(也叫SSE寄存器,XMM8-XMM15),将能给单指令多数据流技术(SIMD)运算提供更多的空间,这些128位的寄存器将提供在矢量和标量计算模式下进行128位双精度处理,为3D建模、矢量分析和虚拟现实的实现提供了硬件基础。通过提供了更多的寄存器,按照X86-64标准生产的CPU可以更有效的处理数据,可以在一个时钟周期中传输更多的信息。
EM64T技术
Intel官方是给EM64T这样定义的:EM64T全称ExtendedMemory64Technology,即扩展64bit内存技术。EM64T是IntelIA-32架构的扩展,即IA-32e(IntelArchitectur-32extension)。IA-32处理器通过附加EM64T技术,便可在兼容IA-32软件的情况下,允许软件利用更多的内存地址空间,并且允许软件进行32bit线性地址写入。EM64T特别强调的是对32bit和64bit的兼容性。Intel为新核心增加了8个64bitGPRs(R8-R15),并且把原有GRPs全部扩展为64bit,如前文所述这样可以提高整数运算能力。增加8个128bitSSE寄存器(XMM8-XMM15),是为了增强多媒体性能,包括对SSE、SSE2和SSE3的支持。
Intel为支持EM64T技术的处理器设计了两大模式:传统IA-32模式(legacyIA-32mode)和IA-32e扩展模式(IA-32emode)。在支持EM64T技术的处理器内有一个称之为扩展功能激活寄存器(extendedfeatureenableregister,IA32_EFER)的部件,其中的Bit10控制着EM64T是否激活。Bit10被称作IA-32e模式有效(IA-32emodeactive)或长模式有效(longmodeactive,LMA)。当LMA=0时,处理器便作为一颗标准的32bit(IA32)处理器运行在传统IA-32模式;当LMA=1时,EM64T便被激活,处理器会运行在IA-32e扩展模式下。
AMD方面支持64位技术的CPU有Athlon64系列、AthlonFX系列和Opteron系列。Intel方面支持64位技术的CPU有使用Nocona核心的Xeon系列、使用Prescott2M核心的Pentium46系列和使用Prescott2M核心的P4EE系列。
发展历程编辑本段
1961年:IBM发表IBM7030Stretch超级电脑。它使用64位数据字组,以及32或64位的指令字组。
1974年:ControlDataCorporation推出CDCStar-100矢量超级电脑,它使用64位字组架构(先前的CDC系统是以60位架构为基础)。
1976年:CrayResearch发表第一台Cray-1超级电脑。它以64位字组架构为基础,它成为后来的Cray矢量超级电脑的基础。
1983年:Elxsi推出Elxsi6400平行微型超级电脑。Elxsi架构具有64位数据暂存器,不过地址空间仍是32位。
1991年:MIPS科技公司生产第一台64位微处理器,作为MIPSRISC架构R4000的第三次修订版本。该款CPU使用于以IRISCrimson启动的SGI图形工作站。然而,IRIX操作系统并未包含对R4000的64位支持,直到1996年发布IRIX6.2为止。KendallSquareResearch发表他们的第一台KSR1超级电脑,以专有的运行于OSF/1的64位RISC处理器架构为基础。
1992年:DigitalEquipmentCorporation(DEC)引入纯64位Alpha架构,其诞生自PRISM专案。
1993年:DEC发布64位OSF/1AXP类Unix操作系统(后来改名为Tru64UNIX)和OpenVMS操作系统给Alpha系统。
1994年:Intel宣布64位IA-64架构的进度表(与HP共同开发)作为其32位IA-32处理器的继承者。以1998–1999推出时间为目标。SGI发布IRIX6.0,即支持64位的R8000CPU。
1995年:Sun推出64位SPARC处理器UltraSPARC。富士通所有的HAL电脑系统推出以64位CPU为基础的工作站,HAL独立设计的第一代SPARC64。IBM发布64位AS/400系统,能够转换操作系统、数据库、应用程序的升级。DEC发布OpenVMSAlpha7.0,第一个全64位版本的OpenVMSforAlpha。
1996年:HP发布PA-RISC处理器架构的64位2.0版本的实现PA-8000。任天堂引入Nintendo64电视游戏主机,以低成本的MIPSR4000变体所打造。
1997年:IBM发布RS64全64位PowerPC处理器。
1998年:IBM发布POWER3全64位PowerPC/POWER处理器。Sun发布Solaris7,以完整支持64位UltraSPARC。
1999年:Intel发布IA-64架构的指令集。AMD首次公开64位集以扩充给IA-32,称为x86-64(后来改名为AMD64)。
2000年:IBM推出他自己的第一个兼容ESA/390的64位大型机zSeriesz900,以及新的z/OS操作系统。紧接着是64位LinuxonzSeries。
2001年:Intel终于推出他的64位处理器产品线,标记为Itanium,主打顶级服务器。它无法满足人们的期待,因一再拖延IA-64市场而导致失败。Linux是第一个可运行于该处理器的操作系统。
2002年:Intel引入Itanium2作为Itanium的继承者。
2003年:AMD产出他的AMD64架构Opteron以及Athlon64处理器产品线。苹果也推出了64位“G5”PowerPC970CPUcourtesyofIBM,并连同升级他的MacOSX操作系统,其增加对64位模式的部分支持。若干Linux发布版本发布对AMD64的支持。微软宣布将为AMD芯片创建新的Windows操作系统。Intel坚持Itanium芯片仍维持只有64位的处理器。
2004年:Intel承认AMD在市场上的成功,并着手开发AMD64延伸的替代品,称为IA-32e,稍后改名为EM64T。升级版本的Xeon和Pentium4处理器家族支持了新推出的指令。Freescale宣布64位e700core,以继承PowerPCG4系列。VIATechnologies宣布64位的Isaiah处理器。
2005年:Sun于1月31日发布支持AMD64和EM64T处理器的Solaris10。3月,Intel宣布他的第一个双核心EM64T处理器PentiumExtremeEdition840和新的PentiumD芯片将于2005第二季推出。4月30日,微软公开发布提供给AMD64和EM64T处理器的WindowsXPProfessionalx64Edition。5月,AMD引入他的第一个双核心AMD64Opteron服务器CPU,并宣布其桌面型版本,称为Athlon64X2。将原本的Athlon64X2(Toledo)处理器改为两个核心,并为每个核心的L2配上1MB高速缓存,以大约2.332亿个晶体管组成。它有199mm²那么大。7月,IBM宣布他最新的双核心64位PowerPC970MP(codenamedAntares),由IBM和Apple使用。微软发布Xbox360游戏主机,其使用由IBM生产的64位、三核心XenonPowerPC处理器。
2006年:双核心MontecitoItanium2处理器进入生产。Sony、IBM、Toshiba开始生产用于PlayStation3、服务器、工作站以及其它应用的64位Cell处理器。苹果公司在新的MacPro和IntelXserve电脑中采用64位EM64TXeon处理器,稍后更新iMac、MacBook、MacBookPro使用EM64TCore2处理器。
优点与误区编辑本段
两大优点
可以进行更大范围的整数运算;
可以支持更大的内存。
误区
不能因为数字上的变化,而简单的认为64bit处理器的性能是32bit处理器性能的两倍。实际上在32bit应用下,32bit处理器的性能甚至会更强,即使是64bit处理器,也是在32bit应用下性能更强。所以要认清64bit处理器的优势,但不可迷信64bit。
处理器的区别编辑本段
简述
所谓64位的电脑,就是指这台电脑使用了64位的CPU,相比较32位的CPU来说,64位CPU最为明显的变化就是增加了8个64位的通用寄存器,内存寻址能力提高到64位,以及寄存器和指令指针升级到64位等。”
寄存器:为了处理数据,暂时储存结果,或者做间接寻址等等动作,每个处理器都具备一些内建的内存,这些能够在不延迟的状态下存取的内存就称为寄存器。
32位的处理器为什么会比64位处理器的性能差很多,这其实是一个受虚拟和实际内存尺寸的限制影响。主流的32位处理器在性能执行模式方面存在一个严重的缺陷:当面临大量的数据流时,32位的寄存器和指令集不能及时进行相应的处理运算。”
所谓32位处理器就是一次只能处理32位,也就是4个字节的数据,而64位处理器一次就能处理64位,即8个字节的数据。如果我们将总长128位的指令分别按照16位、32位、64位为单位进行编辑的话:旧的16位处理器,比如Intel80286CPU需要8个指令,32位的处理器需要4个指令,而64位处理器则只要两个指令,显然,在工作频率相同的情况下,64位处理器的处理速度会比16位、32位的更快。而且除了运算能力之外,与32位处理器相比,64位处理器的优势还体现在系统对内存的控制上。由于地址使用的是特殊的整数,而64位处理器的一个ALU(算术逻辑运算器)和寄存器可以处理更大的整数,也就是更大的地址。传统32位处理器的寻址空间最大为3.2G,使得很多需要大容量内存的数据处理程序在这时都会显得捉襟见肘,形成了运行效率的瓶颈。而64位的处理器在理论上则可以达到1800万个TB,1TB等于1024GB,1GB等于1024MB,所以64位的处理器能够彻底解决32位计算系统所遇到的瓶颈现象,速度快人一等,对于那些要求多处理器可扩展性、更大的可寻址内存、视频/音频/三维处理或较高计算准确性的应用程序而言,AMD64处理器可提供卓越的性能。
现状
发展的趋势是64位所以大部分双核处理器都是64位的,但是也有32位双核的处理器比如YonahCoreDuo就是32位双核处理器但是Core2Duo就是64位的处理器。
未来展望编辑本段
直至2007年,64位字组似乎已满足大部分的运用。不过仍应提到,IBM的System/370及后继者使用128位浮点数,且许多现代处理器也内含128位浮点数暂存器。System/370及后继者尤其显著,在这方面,他们也使用多达16位组的可变长度十进制数(即128位)。
附件列表
本站全部内容禁止商业使用。文本内容除另有声明外,均在知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆(CC BY-NC-SA 3.0 CN)许可协议下提供。