为什么32位系统内存最多为4G?

http://blog.chinaunix.net/space.php?uid=26359455&do=blog&id=2974492


首先看一下32位操作系统:


为什么叫32位操作系统?这里改正下,并不是因为在32位操作系统下,字长为32位,
而是因为cpu是32位的,所以称为32位操作系统。即4字节。而地址总线也是32位,即4字节我们知道从二进制转化到到16进制是 4位 -> 1位 所以32位系统实际能访问的量也就是0x00000000到0xFFFFFFFF这之间的内存地址。再多的我们没法表示地址了。所以最大的寻址能力即为2^32B,即4G,可是实际还到不了4G,因为显卡上的显存(RAM)和BIOS(ROM),以及各种PCI、PCI-E设备上的RAM和ROM,都要占用内存,所以从4G(0xFFFFFFFF)内存的顶往下,400MB~1GB的地方要留给主板上的其他物理内存。并不是说这些东西的在占用们的内存,而是因为这些内存的存在使得要把地址空间留给他们,因为1个内存地址对应个空间,而不能对应2个,所以这些内存空间对于用户来说实际上是被的。内存实并不能达到4G也就是说用户实际能访问的大概只有0~3G。这就是32位系统的局限性。

于是基于这些情况,INTER, AMD都在扩展自己的一些技术,诸如把地址总线扩充到36位或40位,使得显卡上的显存(RAM)和BIOS(ROM),使得各种PCI、PCI-E设备上的RAM和ROM可以用到4GB以上的内存空间。这种技术称为“内存重映射技术”,它可以使我们更有效的利用内存。



<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(2192) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~
评论热议
原文地址:https://www.cnblogs.com/ztguang/p/12647375.html