EM64T和64位是不是一个概念啊?他们有什么区别啊,怎么区分啊?

首先我们要解决什么是64位这个问题。究竟什么是64位处理器呢?64 bit是相对于32 Bit而言的,这个位数指的是CPU GPRs(General-Purpose Registers,通用寄存器)数据宽度为64 bit,64 bit指令集就是运行64 bit数据的指令,处理器一次可以运行64 bit数据。

    下图显示了64位工作模式。从图1我们可以看出64 bit处理器的指令宽度并没有改变,只是增大了通用寄存器和数据通道的宽度,可以简单的理解为64 bit处理器是拥有数据宽度为64 bit的寄存器并且可以一次传输,运算64 bits的数据。

EM64T和64位是不是一个概念啊?他们有什么区别啊,怎么区分啊?

    那么64 bit处理器都有哪些优点呢?

    1、可以进行更大范围的整数运算,一个32 bit整数可以表示232也就是4GB数值,而一个64 bit整数264也就是1800万TB,可以看作无限大。

    2、可以支持更大的内存,即64 bit处理器可以支持64 bit内存寻址。
 
    以往我们认为64位计算机的强大性能更适合于大型服务器和专业工作站,似乎对于面向普通用户的桌面PC来说有些大材小用了。其实不然,随着互联网和多媒体应用的发展,桌面PC用户对于电脑性能的也日益增加,比如大型的3D游戏、HDTV的播放等等,同样需要强大的运算性能。

 

然后我们再来看看EM64T的定义——

    EM64T(Intel Extended Memory 64 Technology)即64位英特尔内存扩展技术,该技术为服务器工作站平台应用提供扩充的内存寻址能力,拥有更多的内存地址空间,可带来更大的应用灵活性,理论上最大可使用16EB,足够满足当前和将来的软件应用需求,特别有利于提升音视频编辑,CAD等复杂工程软件及游戏软件的应用。而普通的32位CPU可寻址内存最大为4GB(约40亿字节)。目前只有800MHz前端系统总线的至强支持EM64T技术。

    我们常说的64位指的是AMD公司出的64位CPU,而EM64T则是intel按照自己的意思理解出来的64位,也就是和amd的64位对应的另外一种 叫法。实际上EM64T是在32位基础上扩展来的,应该是一种伪64,是过渡期的一种解决方案。说白了提到64位指的是AMD的64位CPU,而 EM64T则指的是INTEL公司的CPU。
 
    实际上AMD的64位CPU是64位兼容32位运算,而INTEL的EM64T是32位兼容64位运算。

    最后我们需要注意的一点是:64 bit处理器的性能并不相当于两倍32 bit处理器的性能。我们不能因为数字上的变化,而简单的认为64 bit处理器的性能是32 bit处理器性能的两倍。实际上在32 bit应用下,32 bit处理器的性能甚至会更强,即使是64 bit处理器,目前情况下也是在32 bit应用下性能更加强大。所以我们在认清64 bit处理器优势的同时,不可过度迷信64 bit。

EM64T和64位是不是一个概念啊?他们有什么区别啊,怎么区分啊?

上一篇:[汇编语言]-DEBUG


下一篇:docker打包Python环境过程