32位才做系统的物理寻址 功能寻址是4GB是怎么计算出的

关于32位系统最大支持4GB内存寻址空间的理解
一直纠结“32位系统最大支持4GB内存寻址空间”这句话的计算方式,因为我是这样计算的:2^32 =
4Gbit,如果换算成Byte,还要除去8,所以怎么算也不应该是4GB。今天通过跟同事的交流以及上网查找相关资料,总算是弄清楚了问题所在。其实我之所以会计算出问题,是因为我弄混了物理存储器大小和存储地址空间。百度百科上有如下介绍:
物理存储器是指实际存在的具体存储器芯片。如主板上装插的内存条和装载有系统的BIOS的ROM芯片,显示卡上的显示RAM芯片和装载显示BIOS的ROM芯片,以及各种适配卡上的RAM芯片和ROM芯片都是物理存储器。
存储地址空间是指对存储器编码(编码地址)的范围。所谓编码就是对每一个物理存储单元(一个字节)分配一个号码,通常叫作“编址”。分配一个号码给一个存储单元的目的是为了便于找到它,完成数据的读写,这就是所谓的“寻址”(所以,有人也把地址空间称为寻址空间)。
地址空间的大小和物理存储器的大小并不一定相等。举个例子来说明这个问题:某层楼共有17个房间,其编号为801~817。这17个房间是物理的,而其地址空间采用了三位编码,其范围是800~899共100个地址,可见地址空间是大于实际房间数量的。
如上所述,“32位系统最大支持4GB内存寻址空间”这句话指的是:32位系统可以找到的地址个数是2^32=4G个,而内存寻址空间的单位是B,所以最终结果就是4GB。这里的B就是一个单位,不是可以与bit进行换算的Byte,而是代表个数。
再次提醒,这里的B可以理解成汉字“个”。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。【图文】32位微机01_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
32位微机01
上传于||文档简介
&&微​机​原​理​与​接​口​技​术​配​套​p​p​t
大小:596.00KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢32位系统只能寻址4G空间,64位则是128G,这些是怎么算出来的?
我用的是32位win7,有4G内存,但只能识别出2.92G
先纠正一个错误,目前(2015年5月),Intel的32位架构下,可使用的地址线是36个,可使用的最大物理地址是2^36B,折合64GB,可用的地址空间是4GB。以下内容摘自《Intel(R) 64 and IA-32 Architectures Software Developer's Manual》,3.2节():Address space — Any task or program running on an IA-32 processor can address a linear address space of up to 4 GBytes (232 bytes) and a physical address space of up to 64 GBytes (236 bytes). See Section 3.3.6, "Extended Physical Addressing in Protected Mode," for more information about addressing an address space greater than 4 GBytes.64位架构下,地址线是46个,所以最大的物理地址是2^46B,折合64TB,可用地址空间也是这么大(目前为止):Address space — A task or program running in 64-bit mode on an IA-32 processor can address linear address space of up to 264 bytes (subject to the canonical addressing requirement described in Section 3.3.7.1) and physical address space of up to 246 bytes. Software can query CPUID for the physical address size supported by a processor.所以内存为什么只有这么大,是Intel手册限制了。64位环境下,地址空间不是从地址向高地址增长的,而是中间被掏空,两头使用:再说实际使用中:虽然32位环境下实际上CPU支持访问大于4G的物理内存,但Windows将此功能屏蔽了,导致了32位Windows实际只能使用4G的物理地址空间,具体原因参见这个回答:然后再说为什么32位Windows中实际可用内存少于4G:虽然物理地址有4G,但CPU如果要访问你的显卡上的显存,就必须把物理地址空间的一部分用于标识显存,这种技术被称为memory-mapped I/O,这样可以让CPU操作显存像操作内存一样。在Windows的设备管理器里,查看显卡的属性页里的“资源”,可以看到内存映射的地址范围,实际上不管32位还是64位,都需要占用一部分地址空间,以下是我的电脑的截图:因为32位Windows只有4G的地址空间,可是又被显存占去了一部分,所以可用的地址空间就少于4G了。实际上不仅仅是显存,你电脑上的PCI控制器,各种网卡、声卡、USB控制器等等都需要占用一定的物理内存,所以最终的后果就是可用的物理地址范围变得特别少,最少可能只有1.99GB,这种限制在32位Windows上是不可改变的。所以,32位WIN7的可用内存才变得那么少,解决问题的唯一途径是换64位系统,或者Linux。
2^32/24=4 G64位楼主自己算吧,太大了!
可寻址地址空间为2的32次方,是4g多一点点。而且64位也不是128g哦,是一个很大的数字。
已有帐号?
无法登录?
社交帐号登录32位的操作系统的寻址空间为什么是4G。。。32位寻址空间是2的32次方bit,就是2的29次方byte,这样换算成GB就不是4GB了啊。。求解答
32位CPU电脑的内存里面00 00 ,这表示是一个内存地址,而且这是最小的内存地址,11 11 1111,这个也是一个内存地址,而且是最大的地址,那么CPU的寻址范围就是在这两个之间的,那它一共可以寻到的地址一共有多少?是2^32个对不对!这里的4GB是指个数。...
为您推荐:
扫描下载二维码第4章习题解答_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
第4章习题解答
上传于||文档简介
&&计​算​机​组​织​与​体​系​计​算​机​组​织​与​体​系​计​算​机​组​织​与​体​系​计​算​机​组​织​与​体​系​计​算​机​组​织​与​体​系
大小:1.91MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢}

我要回帖

更多关于 物理寻址 功能寻址 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信