免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2551 | 回复: 1
打印 上一主题 下一主题

关于存储器编址的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-07-10 18:56 |只看该作者 |倒序浏览
在<<FreeBSD Architecture Handbook>;>;一文中提到的当计算机加电启动时,CPU从0XFFFFFFF0开始执行跳转指令,其寻址空间达4GB,BIOS ROM的地址范围处在最高端,在0XFFFF0000-0XFFFFFFFF处。
   而据有些资料(关于微机原理的)讲的,80X86 CPU工作在实模式时,其寻址空间只有1M,当计算机加电启动时,CPU是从0XFFFF0开始执行跳转指令的,BIOS ROM地址范围在0XF0000-0XFFFFF处。
   我的问题是:1、对于386以上的CPU,上面的说法哪种正确?如果两者 都不准确请指出。
               2、如果按照第二种说法,实际的内存(RAM)的编址是不连续的,因为中间有一部分地址被BIOS ROM占用了。但大多资料上讲的都是以8086 CPU为例的,不知对于386以上的CPU,存储器(RAM、ROM)是怎样编址的?

论坛徽章:
0
2 [报告]
发表于 2004-07-12 11:04 |只看该作者

关于存储器编址的问题

找到答案了,根据<<彻底理解内存概念>;>;一文:
    物理存储器是指实际存在的具体存储器芯片。如主板上装插的内存条和装载有系统的BIOS的ROM芯片,显示卡上的显示RAM芯片和装载显示BIOS的ROM芯片,以及各种适配卡上的RAM芯片和ROM芯片都是物理存储器。
  存储地址空间是指对存储器编码(编码地址)的范围。所谓编码就是对每一个物理存储单元(一个字节)分配一个号码,通常叫作“编址”。分配一个号码给一个存储单元的目的是为了便于找到它,完成数据的读写,这就是所谓的“寻址”(所以,有人也把地址空间称为寻址空间)。
  地址空间的大小和物理存储器的大小并不一定相等。举个例子来说明这个问题:某层楼共有17个房间,其编号为801~817。这17个房间是物理的,而其地址空间采用了三位编码,其范围是800~899共100个地址,可见地址空间是大于实际房间数量的。
     在386以上档次的微机中,有两种存储器工作方式,一种称为实地址方式或实方式,另一种称为保护方式。在实地址方式下,物理地址仍使用20位,所以最大寻址空间为1MB,以便与8086兼容。保护方式采用32位物理地址,寻址范围可达4GB。当计算机加电启动时工作在实地址方式。
    SHADOW(影子)内存的概念:
    对于细心的读者,可能还会发现一个问题:即是对于装有1MB或1MB以上物理存储器的机器,其640KB~1024KB这部分物理存储器如何使用的问题。由于这部分地址空间已分配为系统使用,所以不能再重复使用。为了利用这部分物理存储器,在某些386系统中,提供了一个重定位功能,即把这部分物理存储器的地址重定位为1024KB~1408KB。这样,这部分物理存储器就变成了扩展存储器,当然可以使用了。但这种重定位功能在当今高档机器中不再使用,而把这部分物理存储器保留作为Shadow存储器。Shadow存储器可以占据的地址空间与对应的ROM是相同的。Shadow由RAM组成,其速度大大高于ROM。当把ROM中的内容(各种BIOS程序)装入相同地址的Shadow RAM中,就可以从RAM中访问BIOS,而不必再访问ROM。这样将大大提高系统性能。因此在设置CMOS参数时,应将相应的Shadow区设为允许使用(Enabled)。


FFFFF +--------------+
-------|BIOS ROM -|
-------|显示内存等--| 384KB
A0000 |--------------|
------|--------------|
------|基本内存-----|  640KB
00000 |_________|

    如上图所示BIOS ROM地址范围在0XF0000-0XFFFFF(当前的BIOS ROM容量可能大于64KB,如果是BIOS ROM容量为128KB,那它的地址范围在0XE0000-0XFFFFF)。因此,计算机加电启动时应该是从0XFFFF0处执行跳转指令的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP