找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 20003|回复: 9

Intel Memory System Address Map问题

[复制链接]
发表于 2009-3-3 16:35:12 | 显示全部楼层 |阅读模式
对于Intel的北桥Datasheet,都会介绍其system memory map,如附件所示。里面的提到map的空间是0-4G,我想知道这个空间是如何与物理地址对应起来的,有知道的兄弟告知一下吧,多谢啊!

system memory map

system memory map
发表于 2009-3-3 17:54:21 | 显示全部楼层
这里介绍的就是物理地址空间
回复

使用道具 举报

 楼主| 发表于 2009-3-3 18:05:59 | 显示全部楼层
那如果我接的内存条只有1G呢?如何与0xFExxxxxx对应起来?
回复

使用道具 举报

发表于 2009-3-4 13:52:28 | 显示全部楼层
还真没想过,帮你顶一下
回复

使用道具 举报

发表于 2009-3-4 21:49:18 | 显示全部楼层
我以前也很想知道内存地址是怎样分 给内存条的,问过一个台湾人,他也不知道,于是我就认为他菜菜的
回复

使用道具 举报

发表于 2009-3-5 13:49:06 | 显示全部楼层
实际的内存条对应的内存应该是从1MB开始的地方往上的,如1MB-1GB,当然不是连续的,中间有一些划分给其他用处了,如ISA hole,TSEG等。北桥DS的system address map部分应该有的呀。
回复

使用道具 举报

发表于 2009-3-5 16:17:36 | 显示全部楼层
北桥的DS里会描述北桥对memory transcation的转发规则。0~4G-1的地址空间分为两大部分,低地址部分用作物理内存寻址,高地址部分用作MMIO,LOCAL/IO APIC和其它保留用途。两个部分的分界线处的地址叫做TOLM (top of low memory)。这个地址在内存初始化时填入北桥一个寄存器中。之后,对0~TOLM-1的地址范围的访问将会被北桥转发到内存控制器。当然在这个地址范围还有一些特殊区域,用于PC-AT的兼容,比如A,B段,C~F段,北桥会有相应的寄存器来控制对些特殊区域的转发。
回复

使用道具 举报

发表于 2009-3-5 22:14:16 | 显示全部楼层
楼主不是楼上的意思,再具体一点:内存控制器怎么给内存条分配地址的,比如说0xaaaaaa这个地址分给第一个内存条
回复

使用道具 举报

 楼主| 发表于 2009-3-6 13:36:51 | 显示全部楼层
srcore的描述我好像有点懂了,我再测试一下,有了结果再上来告知大家!
回复

使用道具 举报

 楼主| 发表于 2009-3-10 20:01:46 | 显示全部楼层
0~1MB的空间是Legacy的内存空间,不允许操作系统使用。操作系统能使用的物理空间为1M~(TOLM-1),TOLM~(4GB-1)这个范围操作系统不能使用,是APIC,PCI等外设做内存映射使用的。TOLM是动态的,取决于实际的物理内存大小,如果实际物理内存<4GB,则TOLM=实际物理内存。如果实际物理内存>4GB,TOLM的值为4GB-约256MB,这时操作系统能使用的地址范围分为两段,分别是:1MB~(4GB-约256MB),4GB~(实际物理内存-1)。
# M& w$ D/ L2 H' a1 S不知道说得对不对,请大家指正。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2024-11-21 23:45 , Processed in 0.034049 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表