什么是64位处理器 cpu参数是多少位的处理器

现在无论是电脑里面的x86处置器还是手机里面的ARM处置器都是64位的了,通常对于花费级的产品来说,就是支撑x86-64指令集的x86处置器,或是支撑ARM64指令集的ARM处置器 。其实早在上世纪60年度64位的CPU就已经用在超级盘算机上,到了90年代64位处置器也开端运用于工作站与服务器,个人电脑是在AMD 2003年推出速龙64后才开端渐渐普及,而智能手机上用的64位处置器ARMv8-A架构是2011年宣布的 。

什么是64位处理器 cpu参数是多少位的处理器

文章插图


这里所说的64位是指CPU的位宽,简略的说,CPU位宽指的是一个时钟周期内资源网CPU能处置的二进制位数,如8086 CPU是16位的,可以一次处置2个字节(16个bit),80386 CPU是32位,能一次处置4个字节,目前的CPU根本上64位的了,一次能处置8个字节 。我们的Windows操作体系也分为32位和64位,重要是针对上面CPU的位宽做了些优化,比如32位的CPU就不能用64位的Windows(因为CPU一次只能处置32bit,而操作体系给你的指令是要处置64bit),但64位的CPU就可以运行32位的Windows,也能运行64位Windows 。
64位CPU的长处是可以进行更大规模的整数运算,吞吐量大的程序运行起来会更快,但大家经常对CPU的位宽认识有一些误区,比如有人说为了支撑更大的内存才CPU才升64位,也有人以为32位体系只支撑4GB内存,真的如此吗?
最大内存容量和CPU的位宽有关系吗?CPU的寻址才能与它的地址总线位宽有关,而我们通常说的CPU位宽指的是数据总线位宽,它和地址总线位宽半毛钱关系也没有,自然也与寻址才能无关 。
什么是64位处理器 cpu参数是多少位的处理器

文章插图


数据总线位宽等于CPU整数型存放器的位宽,CPU内的存放器通常资源网可分为三种:整数型、浮点型还有其他,而这三种存放器中只有整数存放器可以寄存指针值也就是内存数据地址,非整数存放器不可寄存指针值,所以读写内存操作不能避开整数型存放器的位宽限制 ,以64位CPU为例,这些CPU的内部整数型存放器的位宽为64bit,支撑整数的64bit宽度的算术与逻辑运算 。
但这并不代表64位CPU的所有总线与存放器都是64位的,不同类型的存放器也可以有着不同的位宽,上面说的64位CPU的整数存放器位宽是64位没错,但浮点存放器就不一样了,比如奔跑MMX处置器所引入的MMX指令集首创了x86处置器支撑SIMD操作的先河,该指令集定义了8个64位的浮点存放器,而奔跑MMX本身只是个32位处置器 。1999年推出,同样只有32位的奔跑3处置器新增了SSE指令集,与之配套的是8个128位存放器,而后来的AVX2与FMA指令集可支撑256位的运算,浮点存放器也扩展到256位,目前CPU内部最大的是AVX-512指令集所用的512位存放器 。
什么是64位处理器 cpu参数是多少位的处理器

文章插图



CPU内有许多不同的存放器
那CPU的地址总线位宽到底是个什么鬼?
什么是64位处理器 cpu参数是多少位的处理器

文章插图


Intel的说明是Physical Address Extensions (PAE) is a feature that allows 32-bit processors to access a physical address space larger than 4 gigabytes.上面图片是Intel Xeon Processor E5-2698 v3的截图,专门就扩大物理地址作了解释,大意就是说这个是为了让32位的处置器能应用超过4GB的内存 。这个PAE就是CPU的地址总线位宽,在8086这个16位CPU,它的地址总线位宽是20位,正好能寻址1MB,80286它的PAE是24位,在PentiumII(32位CPU)时这个PAE变成了36位,可以支撑64GB的寻址 。64位CPU涌现之后,其地址总线位宽一般采取的是36位或者40位,它们寻址的物理地址空间为64GB或者1T 。
那地址总线和数据总线有什么关系?可以这么懂得,地址总线用来定位,数据总线用来传输,也就是当CPU须要从内存读取数据或向内存写入数据时,它应用地址总线来指定其须要拜访的存储器块的物理地址,然后通过数据总线发送数据 。
所以说,CPU的位宽和寻址才能是没有关系的,16位CPU的地址总线位宽可以是20位,32位CPU的地址总线可以是36位,64位CPU的地址总线位宽可以是40位 。所以你下次必定不要说32位的CPU只能寻址2^32(4GB)了,大错特错 。
32位体系只支撑4GB内存?理论上32位操作体系的逻辑地址寻址规模只有2^32=4GB,但实际上并不是这样的,虽然常见的Windows 7 32位(真有人在用Windows 10 32位吗?)体系确切只能辨认4GB内存,而且最大可用内存最多为3资源网.25GB,但同为32位的Windows Server 2003/2008却可用应用4GB以上的内存,因为这些体系支撑PAE物理地址扩大技巧 。


推荐阅读