为什么32位cpu最大只能安装4G内存
也就是1G=2^33bit.2^32次方怎么就是4G了呢!?
是32根地址总线每根处理32bit数据?怎么就能算出来最大能安装4个GB内存呢! 展开
目前的32位系统分页大小为4K,寻址位宽为32位,因此,第0个分页的地址是0x00000000,第1个分页地址从0x00001000开始,以此类推。
所以,在目前的32位系统中,用到了32位中的高20位来标记物理页,剩余的12位用于添加一些标记信息等。这样,就可以支持到最大(2^20)*4096=4GB内存。
介绍下32位操作系统和64位操作系统的区别:
设计初衷不同:
64位操作系统的设计初衷是:满足机械设计和分析、三维动画、视频编辑和创作,以及科学计算和高性能计算应用程序等领域中需要大量内存和浮点性能的客户需求。
32位操作系统是为普通用户设计的。
要求配置不同:
64位操作系统只能安装在64位电脑上(CPU必须是64位的)。同时需要安装64位常用软件以发挥64位(x64)的最佳性能。
32位操作系统则可以安装在32位(32位CPU)或64位(64位CPU)电脑上。
运算速度不同:
64位CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,64位指令集可以运行64位数据指令,比32位(需要四个指令,一次提取4个字节的数据)提高了一倍,理论上性能会相应提升1倍。
寻址能力不同:
64位处理器的优势还体现在系统对内存的控制上。由于地址使用的是特殊的整数,因此一个ALU(算术逻辑运算器)和寄存器可以处理更大的整数,也就是更大的地址
32位CPU和操作系统最大只可支持4G内存。
基本单位是byte。并不是你用的bit。bit只是位,一个byte是等于8个bit不错。但是你是把公式的基本单位弄错了,是byte,而不是bit。
1G=2^33bit和2^32 = 4294967296 byte,压根基本单位就不一样。
所以:(2^2)X(2^30)=4GB
又因为 I/O 口之类的地址要映射到内存地址空间,所以,如果你安装了4GB的内存,实际上能显示的内存大小要小于4GB
我想我应该说对了.