http://www.hudong.com/wiki/64%E4%BD%8D%E6%8A%80%E6%9C%AF
64位技术 - AMD64位技术X86-64
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可以更有效的处理数据,可以在一个时钟周期中传输更多的信息。
AMD64位移动版处理器
在AMD的计划中,这款处理器的核心是“Lancaster ”,采用了90纳米SOI制程,内置1M全速L2和单通道内存控制器,采用与Socket 754 Athlon 64相同的封装。和桌面版的Athlon 64相比,采用了低电压设计,以实现35W以下的TDP。并且在Windows(R) XP Service Pack 2 的系统环境下,能够使用CPU防病毒功能。
Mobile AMD Athlon 64处理器性能强劲,跟桌面的Athlon 64处理器一样,是基于Clawhammer 核 心、用0.13微米工艺制造的。该处理器整合了内存控制器,这就意味着内存控制器的运行速度能跟CPU一样,同时,它跟CPU其他单元之间的通信也是以 CPU速度进行的,这样,在基于该处理器的操作系统环境下内存延迟低了很多,大大提升了电脑的运行速度。除此之外,它的二级缓存的容量更达1M,更高的缓 存容量意味着处理器的回写速度更快。
Mobile Athlon 64位处理器还采用了可以让晶体管的频率提升35%以上先进的SOI技术生产。它的晶体管数量达到了1亿5百90万个,核心面积也大大增加,为192平方 毫米。在降低能耗方面,Mobile AMD Athlon 64处理器采用了AMD PowerNow!技术。利用这项技术,该移动处理器可以根据处理器的负载情况,来决定该处理器的性能,比如说运行单一的“记事本”程序,该处理器就会只 调用很少的资源,此时,处理器的功率非常低,发热量也很低;而当玩游戏时,该处理器又会自动地将其性能发挥到极限,以便满足高负荷的需求,当然,此时它无 论在功率和发热量方面都会比较大。通过这项技术,就可以让该处理器在性能和功耗、发热量、电池供电时间之间取得一个平衡。
Mobile AMD Athlon 64处理器虽然是一款64位的处理器,但它可以向下兼容目前大多数32位的软件。由此看来,Mobile AMD Athlon 64处理器的性能确实不错,不过,它也有不少令人遗憾之处。
首 先,它的功率较大,以至发热量也较大,耗电量也大。例如,Mobile Athlon 64 2700+的主频为1.60G,虽然是低电压版本,但其功率也在35W左右,其它以上版本的功率更是高达62W,而同为1.60G全美达90纳米 Efficeon处理器的功率只有7W,英特尔Dothan处理器1.70G的只有21W,相比之下,Mobile AMD Athlon 64处理器的功率过高。而功率高必然会带来更高的发热量,同时会缩短笔记本电池持续性使用时间。
其次,目前支持64位的软件还很少,64位显得华而不实。我们知道,64位的处理器需要用64位的软件才能真正体现出64位的优势,但现在绝大多数软件都是32位的,微软64位Windows操作系统却迟迟不见推出,64位软件何时出现乃至普及离现在还遥遥无期。
在 32位操作系统下,与英特尔Dothan处理器相比,并不见得明显胜出。英特尔Dothan处理器目前主频可达2.0G,相当于P4 3.2G的性能,采用了0.09微米工艺制造,拥有高达2M的二级缓存;而Mobile AMD Athlon 64虽然标称最高达3200+,但其主频其实为2.80G,二级缓存为1M,采用的是0.13微米工艺制造,如果同在32位操作系统下运行,其性能并不见 得会比英特尔Dothan处理器强。
Intel的EM64T技术,EM64T技术官方全名是Extended Memory 64 Tenchnology 中文解释就是扩展64bit内存技术。现在的32位奔腾 4 CPU都是采用IA-32 指 令集,EM64T其实就是在这个指令集的基础上进行扩展,我们将它命名为IA32e。Intel这种实现64位的方法其实和AMD的x86-64技术有异 曲同工之妙,都是通过64位扩展指令来实现兼容32位和64位的运算。另外不同的是Intel的EM64T技术设定了IA-32和IA-32e两种模式的 激活程序,就是说EM64T需要满足特定条件才会激活。
intel的EM64T内存扩展技术
EM64T 本质上和AMD64一样都是IA-32的增强版本,Xeon借助于EM64T可实现高达1TB(40bit)的物理内存寻址和256TB(48bit)的 虚拟内存寻址,并且良好地支持现有32位x86代码的执行,这一点跟AMD64无异,同时也是Intel开发EM64T的出发点—让现有的x86指令集能 够执行64位代码,而继续保持对32位代码的良好兼容。但由于多方面的限制,无论是EM64T还是AMD64均只能实现比32位指令集更大内存空间的寻 址,而无法真正做到纯64位指令集的1PB(50bit)和16EB(64bit)的物理内存和虚拟内存寻址(IA-64就能做到这一点),其关键在于 EM64T和AMD64本质上仍是基于32位的x86指令集,只是Intel和AMD分别采用不同的技术手段对x86指令集进行扩展,从而实现对64位的 支持。
和AMD64一样,EM64T由于要在同时运行32位和64位程序,因此会针对不同的需要运行于不同的操作模式,同时其引入的多种操作模式之间的切换较为成功地解决了32位程序在64位操作系统下的运行效率问题,当中包括了传统模式、兼容模式和纯64位模式。
传统模式(Legacy Mode)
这 种模式是为了令64位Xeon能没有障碍地执行现有的32位和16位程序而设计的,实际上就是32位x86时代的IA-32模式,此时现有x86程序无需 作任何的改变,和我们目前使用着的32位环境一模一样。因为Nacona Xeon的核心仍然是沿着32位设计的,所以这个模式只是把所有为64位计算而新增的运算机制都屏蔽起来。
兼容模式(Compatibility Mode)
兼 容模式允许64位操作系统(如Windows XP x64 Edition)良好地运行基于32位和16位代码的程序,此时32位程序无需重编译即可以保护模式运行,而16位程序则要依赖于操作系统和驱动程序是否 支持保护模式,情况类似于32位环境下的IA-32虚拟实模式。和传统模式相同,兼容模式允许程序利用物理内存扩展实现64GB的物理内存寻址,但这并非 纯64位模式的准64位寻址。
纯64位模式(Full 64bit Mode)
此模式是三种模式当中最为高效的,同时可充分发挥EM64T的威力,但这种模式需要纯64 位环境的支持,包括64位操作系统和64位应用程序。在64位操作系统和相应驱动程序的支持下,系统和应用程序能够访问EM64T所支持最大容量的扩展内 存,这时Xeon平台的性能可得到最充分的发挥,当然运行于此模式下的程序需要修改其微代码以便支持64位指令操作。
可以预见,在未来相当长的一段时间里,在64位操作系统下我们最常用的是兼容模式,因为现 存的大量32位应用程序不可能在短期内为x86-64指令集而重新开发,为了保证现有的32位程序能够继续在Xeon平台上顺利执行,EM64T提供了一 种出色的解决方案。而对于传统的32位操作系统和应用程序,Xeon平台当然可以百分百地相容运行,本来EM64T就是扩展的32位x86指令集,兼容 32位程序是件很自然的事。
EM64T在64位的实现方式上跟AMD64指令集有很多相似之处,但在关键的地方两者还是有很大差别,而Intel追加的大多数64位指令与AMD64指令集相兼容,因此Microsoft就不用为两家公司的64位处理器开发各自的64位操作系统。目前Microsoft 推出的Windows XP x64 Edition 操作系统(Beta)可同时支持EM64T和AMD64,能够兼容几乎所有的32位应用程序和大部分新增64位应用程序。
AMD公司设计,可 以在同一时间内处理64位的整数运算,并兼容于X86-32架构。其中支持64位逻辑定址,同时提供转换为32位定址选项;但数据操作指令默认为32位和 8位,提供转换成64位和16位的选项;支持常规用途寄存器,如果是32位运算操作,就要将结果扩展成完整的64位。这样,指令中有“直接执行”和“转换 执行”的区别,其指令字段 是8位或32位,可以避免字段过长。
x86-64(AMD64)的产生也并非空穴来风,x86处理器的32bit寻址空间限制 在4GB内存,而IA-64的处理器又不能兼容x86。 AMD充分考虑顾客的需求,加强x86指令集的功能,使这套指令集可同时支持64位的运算模式,因此AMD把它们的结构称之为x86-64。在技术上 AMD在x86-64架构中为了进行64位运算,AMD为其引入了新增了R8-R15通用寄存器 作 为原有X86处理器寄存器的扩充,但在而在32位环境下并不完全使用到这些寄存器。原来的寄存器诸如EAX、EBX也由32位扩张至64位。在SSE单元 中新加入了8个新寄存器以提供对SSE2的支持。寄存器数量的增加将带来性能的提升。与此同时,为了同时支持32和64位代码及寄存器,x86-64架构 允许处理器工作在以下两种模式:Long Mode (长模式)和Legacy Mode (遗传模式),Long模式又分为两种子模式(64bit模式和Compatibility mode兼容模式)。该标准已经被引进在AMD服务器处理器中的Opteron 处理器。
而今年也推出了支持64位的EM64T技术,再还没被正式命为EM64T之前是 IA32E,这是英特尔64位扩展技术的名字,用来区别X86指令集。Intel的EM64T支持64位sub-mode,和AMD的X86-64技术类 似,采用64位的线性平面寻址,加入8个新的通用寄存器(GPRs),还增加8个寄存器支持SSE指令。与AMD相类似,Intel的64位技术将兼容 IA32和IA32E,只有在运行64位操作系统下的时候,才将会采用IA32E。IA32E将由2个sub-mode组成:64位sub-mode和 32位sub-mode,同AMD64一样是向下兼容的。 Intel的EM64T将完全兼容AMD的X86-64技术。现在Nocona处理器已经加入了一些64位技术,Intel的Pentium 4E处理器也支持64位技术。
应该说,这两者都是兼容x86指令集的64位微处理器架构,但EM64T与AMD64还是有一些不一样的地方,AMD64处理器中的NX位在Intel的处理器中将没有提供。
什么是64位计算?
在计算机 发 展史上,人类历经了从8位计算到16位计算、从16位计算到32位计算两次飞跃,32位计算是目前服务器市场的主流。64位计算是相对于32位计算的新一 代高性能计算标准,就象高速公路与山间小路的区别,相比于32位计算,64位提供更大的计算带宽,从而带来更高的性能,使很多过去根本无法实现的设想变成 现实。目前,全球最重要的处理器供应商包括:AMD 、HP、IBM、Intel 、Motorola、Sun无一例外的都在推动64位计算。
什么是64位处理器?
8位处理器、16位处理器、32位处理器和64位处理器,其计数都是8的倍数。它表示一个 时钟周期里,处理器处理的二进制代码数。“0”和“1”就是二进制代码,线路上有电信号,则计做1,没有电信号则为0。8位机有8条线路,每个时钟周期有 8个电信号,组成一个字节。所以,随8位处理器上升至64位处理器,每个时钟周期传送1个字节到8个字节,关联到时钟速度提高到若干个千兆赫之后,处理器 处理信息的能力越来越大
为什么需要64位数据运算?
目前X86结构在32位寻址时最大空间只能是4GB,在很多大型数据库、数字内容的创建、 视频内容的创建还有如CAD/CAM等需要将现实世界建模运算的软件都需要大量的内存容量,此外还有安全加密的需要则使得处理的数据成倍增长。在石油勘 探、天气预测等需要大量数据运算的应用环境中,更是需要平台为运算提供更为充裕的内存容量。64位平台的寻址能力达到了180亿GB,这在未来很长一段时 间内都可以解决高端应用中存储器寻址的瓶颈