科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网服务器频道我的内存谁也没动:4GB内存终极解迷

我的内存谁也没动:4GB内存终极解迷

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

为了让广大网友都能够了解事实究竟,今天笔者就为操作系统客串一次辩护律师,为其平反这个内存贪墨案,找寻那失落的内存。真相永远只有一个!

来源:OCER论坛 2009年1月5日

关键字: 内存 4GB内存

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共6页)

观念上的错误:32bit寻址

  32bit操作系统,32bit处理器,有着32bit寻址能力,可以访问2^32 = 4G物理地址,于是拥有识别4GB内存的能力,这似乎是完全顺理成章的事情。然而其中有一个关键,什么是物理地址?物理地址就是物理内存的地址?非也。物理地址是指处理器和系统内存之间所用到地址,我们可以简单理解成是CPU“极方便访问的地址”。这个地址并非物理内存独享,而是被分成了很多部分,物理内存地址也只能够占用这4GB地址中的一部分。

我的内存谁也没动:4GB内存终极解迷

  认真看看上面这个P45芯片组的系统地址区域图。图中的方块代表的是不同区域的“地址”,这些地址囊括了一台电脑中所有能和操作系统以及芯片组关联的设备地址,而不仅仅是“物理内存地址”。同样的,那个4G的红线代表的是第4G个Byte的地址,并不是4GB物理内存的分界线。由于P45芯片组是一款支持36bit寻址的产品,即可以支持64GB地址,因此从左边的“系统视角”来看各种设备所需地址轻松自如的分布在整个地址表上。然而从右侧的“内存控制器视角”来看结果就不相同了。因为32bitCPU只能访问到4GB的地址,因此系统运转所必须的所有设备地址都必须同时存在于这4GB地址内。很显然,让一个系统正常运行并不仅仅包括内存,还要包括各种I/O设备等。在4GB的寻址范围内,物理内存实际上只占据了一块,那个被称为Main Memory Address Range的区域(图中绿色框)。那么其他地址主要被谁占据了呢?

我的内存谁也没动:4GB内存终极解迷

  上面的图中展示了00000000h至FFFFFFFFh共4GB地址的详细分配(上图中方块大小于占用地址多少无关),除去物理内存(Main Memory)之外,多数部分通常只会占据几MB最多十几MB的地址空间,其中唯一的一个地址大户是PCI Memory Address Range(PCI Memory Range)。

我的内存谁也没动:4GB内存终极解迷

  有一点我们必须再次明确,到目前为止我们都在讲“地址”,无论是4GB或者64GB,这里并不是在讲述任何与存储设备空间相关联的NAND gate或者磁颗粒数量(比如内存、硬盘空间),而是由16进制计数的物理地址。32bit寻址由CPU决定,因此即使你安装不到4GB的物理内存,系统仍然会拥有4GB的系统内存地址。上面的图很直观的说明了这一点,尽管只有2GB的物理内存,但系统依然分配出了00000000h至FFFFFFFFh共2^32bit = 4GB的地址。而且我们还可以发现从80000000h至FFFFFFFhF这整整2GB的地址都分配给了PCI bus,也就是前面所讲到的PCI Memory Address Range。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章