为什么32位cpu只支持4G内存?

首先内存是cpu处理数据的临时存储站,cpu每次解析的数据(指令)都是内存传来的。
我们知道在微机的内存中,每个基本单位都被赋予一个惟一的序号,这个序号称为地址,而内存的基本单位是Byte。
CPU里有两根线(还有一条控制线,按下不表),一条地址线,一条数据线,地址线传递数据的地址,再根据地址通过数据线去取数据。
32位cpu的意思就是cpu每次解析数据是32bits,也就是4B,那么支持的地址就是4B长度的,也就是支持的最大内存是2^32(个地址)*1Byte=4GB,地址空间范围为0~2^32-1(-1是因为全部位数都为1时归0了)=2^32个地址

因此32位cpu最高寻址空间支持4GB的数据(不考虑使用PAE技术)

但是地址长度不代表真正能支持这么大的寻址空间,决定寻址空间的还在于地址线,地址线是用来传输地址信息用的,因此地址线能传多长的数据(考虑CPU,这个长度小于等于CPU处理数据位数),才决定寻址空间也就是支持的内存大小。


网上的说法是:
32位处理器总共有35根地址线,所以寻址能力为2的35次方位,注意计算单位是位(bit),
由于8(2的3次方)bit为一个字节(Byte),所以处理器的寻址能力为2的32次方字节(Byte),
即2的22次方千字节(KB)即2的12次方兆字节(MB)即2的2次方吉字节(GB),即4GB


64位指的是CPU指令最大可以一次处理8个字节,即64bits,


我想弄明白CPU数据位数和寻址位数的关系,64每次处理8字节数据,那么这里的寻址和处理数据有什么关系
内存存的数据每段都有一个地址,地址传入CPU后CPU进行处理
指令和数据都是存在内存中的,每个内存的基本单位(Byte)都对应一个地址,地址的长度决定理论地址空间的大小,地址总线宽度决定实际地址空间大小
CPU通过地址线获得地址,再根据地址通过数据线获得数据,数据流是:硬盘-内存-L3-L2-L1-CPU计算
再把常用的返回缓存,不常用的返回内存,内存则把没用的数据标为删除,有用的数据返回硬盘,常用的数据存在内存里
所以数据位数是能处理数据的长度,地址位数等于数据位数,但实际用到的地址位数可能小于数据位数(高位没有用到的位要和实际地址位数最高位保持一致)
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值