实模式下,cpu真的只能寻址1M的地址空间吗?

 

 

问题:对于X86:实模式下,打开A20地址线,难道也不能寻址4G的地址空间吗?是不是只有进入保护模式,打开A20地址线才能寻址4G的地址空间呢?

对于其他CPU:对于目前其他类型的CPU,比如POWER   PC,ARM这些CPU可能已经没有A20地址线问题了,当他们在实模式下,可以摆脱1M地址空间的限制吗?

 

回答:

 实模式下也是可以访问1M以上的内存空间的。在CPU内部有个段描述符高速缓寄存器,寄存器内容分为三个部分:段基址(32bit),段界限(32bit),段属性(读,写,执行,存在等)。在实模式下:段基址   =   Seg   *   16,   段界限   =   OFFFFh,   在保护模式下:   段基址   =   描述符基址,     段界限   =描述符界限。但无论在实模式下还是在保护模式下:最后得到的物理地址是一致的为:段基址   +   段偏移。   如果你想在实模式下防问1M以上的空间,那么你必须修改高速缓寄存器中段界限,但是在实模式下此值又不能修改,所以你必须先跳到保护模式下修改此值,然后再跳会实模式。只要你把段界限值修改到足够大,你就能访问相应的内存了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值