32位内存寻址

       实模式:(即实地址访问模式)它是Intel公司80286及以后的x86(80386,8048680586)兼容处理器(CPU)的一种操作模式。实模式被特殊定义为20位地址内存可访问空间上,这就意味着它的容量是220次幂(1M)的可访问内存空间(物理内存和BIOS-ROM),软件可通过这些地址直接访问BIOS程序和外围硬件。实模式下处理器没有硬件级的内存保护概念和多道任务的工作模式。但是为了向下兼容,所以80286及以后的x86系列兼容处理器仍然是开机启动时工作在实模式下。


      保护方式下,全部32条地址线有效,可寻址高达4G字节的物理地址空间;扩充的存储器分段管理机制和可选的存储器分页管理机制,不仅为存储器共享和保护提供了硬件支持,而且为实现虚拟存储器提供了硬件支持;支持多任务,能够快速地进行任务切换和保护任务环境;4个特权级和完善的特权检查机制,既能实现资源共享又能保证代码和数据的安全和保密及任务的隔离;支持虚拟8086方式,便于执行8086程序。  

      

       在32位cpu中,有一个48位的专用寄存器用来存放全局描述符表的信息,这个寄存器叫做GDTR。其中,高32位给出了全局描述符表的基地址,低16位给出了描述符表的长度限制。所以,一张全局描述符表最长可以是64kb。那么,最多可以放64kb/8b=8k个描述符。所以如果想在其中选择任意一个描述符,用13位就可以办到了。在32位cpu中,16位段寄存器的高13位就用来存放特定描述符的序号。其实,现在段寄存器的功能就是选择描述符,正因为如此,通常也把段寄存器叫做选择器。那么,经过冗长的介绍,现在32位段寻址的过程已经大体依稀浮现在眼前了:在段寄存器里找到序号,在GDTR中找到全局描述符表的基地址,然后就可以找到目的描述符。再从描述符中取出段的基地址,然后加上偏移地址,这样就得到了段的“物理地址”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值