32位系统支持多大内存
今天给大家科普一个电脑知识,那就是内存寻址能力与cpu的位宽有关系吗?答案是没有关系。这个问题以讹传讹了很多人,传了很久,确实有必要说说。想了解的朋友不要错过了。
CPU的寻址能力与它的地址总线位宽有关,而我们通常说的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。
那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 E5-2698 v3的截图,专门就扩展物理地址作了说明,大意就是说这个是为了让32位的处理器能使用超过4GB的内存。这个PAE就是CPU的地址总线位宽。在8086这个16位CPU上,它的地址总线位宽是20位,正好能寻址1MB,80286它的PAE是24位,在Pentium II(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)了,大错特错。
CPU最大支持内存和操作系统有直接关系,即使是64位处理器,使用32位操作系统支持的内存也最多为2的32次方,就是4G。在windows32位操作系统中最大只识别3.25-3.75之间,根据windows版本不同而不同。
那操作系统的位宽和寻址能力有什么关系吗,这个其实还是有的。我们在使用计算机时,操纵的其实是逻辑地址,32位操作系统的逻辑地址寻址范围只有2^32=4GB。
所以,不管你用什么样的CPU,它最多也只支持4GB的内存容量,但这是操作系统的锅,并不是说32位CPU只能寻址4GB空间。可能是在这儿容易引起错觉,一定要还CPU一个清白。
相关阅读
利用DuplicateHandle()无驱动的另类读写内存方法,理论
突发奇想出的原创思路,在理论上经过完善应该可以做到过游戏保护无驱动读写内存 首先看一下MSDN对这个函数的定义 BOOL DuplicateH
电脑忽然死机自动关机,重启后不一会会花屏死机, 建议可以先尝试拔下内存条去去灰尘在试一下. 博主就是这样恢复好.反正已经关机
1.activity_main.xml文件中 <!-- 保存数据到手机内存中 --> <Button android:id="@+id/btnSave" android:la
中美贸易战打响,近日美国商务部宣布,正式将华为公司及其数十家关联企业列入出口管制实体名单,谷歌、高通、英特尔、赛灵思等美国公司
有时,几个文字就能暗示和影响消费者做出决定,这就是消费者心理的微妙之处。但是如何利用好这个特性,影响消费做出购买决策,还是大有学