32位的系统为什么可支持的最大内存是4G?

2^32=4294967296bit是吧!4294967296bit=536870912B=0.5G是这样算的吗?... 2^32 = 4294967296bit是吧!4294967296bit = 536870912B = 0.5G 是这样算的吗? 展开
 我来答
shaojiangood
2012-09-24 · 知道合伙人教育行家
shaojiangood
知道合伙人教育行家
采纳数:7284 获赞数:161762
工学硕士,从事机械行业,擅长英语,爱好历史。

向TA提问 私信TA
展开全部
2^32 = 4 * 2^10 * 2 ^10 *2^10B=4GB
32位X86架构是指个人电脑的地址总线是32位的,CPU、内存控制器、操作系统都是按32位地址总线设计。32位地址总线可以支持的内存地址代码是 4096MB,也就是有4GB的地址代码,可以编4GB个地址。这4GB个地址码正好可以分配给4GB内存。但是,这4GB个地址码不能全部分配给安装在主板上的物理内存。因为个人电脑还有很多设备需要地址代码,以便CPU可以根据地址码找到它们,同时CPU和这些设备交换数据需要暂时存放数据的存储器 ——寄存器,这些寄存器也需要地址代码。比如硬盘控制器、软驱控制器、管理插在PCI槽上的 PCI卡的PCI总线控制器,PCI-E总线控制器和PCI-E显卡,它们都有寄存器都需要系统分配给它们地址代码。这些地址由系统分配,电脑用户在使用中感觉不到。这样一来,当我们为电脑插上总容量为4GB的内存时,就有一部分内存分配不到地址代码而不能使用。
追问
2^32的结果不是位吗?8位一个字节,怎么不用除以8????
撞不周山
2017-09-26
知道答主
回答量:17
采纳率:0%
帮助的人:1.5万
展开全部

寻址的最小单位是Byte而不是Bit,所以不用除以8。

右侧内存表示的地址0、1、2、3、4、5...已经是Byte了

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b4c4fff
推荐于2017-05-22 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:133
采纳率:0%
帮助的人:86.3万
展开全部
是因为32位系统只支持32位寻址:即2^32(B) = 4* 2^30(B) = 4294967296(B) = 4*2^20(KB) = 4194304(KB) = 4*2 ^10(MB) = 4096(MB) = 4(GB)
而32位Windows2003 支持大内存是因为 Windows2003有AWE功能,通过算法换算来支持大于4G的内存,但效率会变低,没直接使用64位系统好。 很多32位的XP只看到3点多G的内存是因为系统要预留部分给系统自己使用,只显示3点多G。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
溪贝0号123
2019-09-08 · TA获得超过426个赞
知道答主
回答量:228
采纳率:100%
帮助的人:5.8万
展开全部
先声明:大多数人回答的所谓的32根总线有2^32次方的变换,说的对,但没说清楚,准确说是,按字节调用是2^32种变换, 按位调用就是2^32*8种变换。
再证明:4G的内存,总的可用数据位是 2^32 *8 位,没错 ,就是4G *8bit 即 4G字节;
内存控制和调用的最小单位是1个字节,也就是8位。(小于8位,什么也做不了,所以设计的时候就是8位当成一个字节。 内存里面的寄存器大多也是8个一组的。)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
today8686
2019-02-25
知道答主
回答量:41
采纳率:100%
帮助的人:11.8万
展开全部
有4294967296种组合方式,在内存中如果按1个字节分配1个地址,那么最大能分配内存就是约4.29G字节。但实际比这要小些。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式