X86处理器架构-------内存寻址

X86中采用了分段+分页的内存管理方式,寻址方式相对复杂。下面进行分析。

intelX86的历史就不说了,我们以80386为例,进行讲述。首先,x86有两种工作模式:实模式和保护模式。

       实模式下,cpu的寻址空间是2^20,即1MB,没有硬件支持的分页机制和实施多任务的概念。CPU开始状态都是实模式,开机后,加载的第一条指令是位于0xFFFF0处的指令。CPU发出的地址都是物理地址,寻址时,段寄存器(DS\CS)中保存的是段地址,物理地址= 段地址*16 + 偏移地址。

      保护模式下,CPU的寻址空间时是2^32,即4GB,有分页机制。正常的操作系统像linux都运行在保护模式下。寻址时,段寄存器中保存的是段选择子。

段选择子长16位。其高13位是描述符索引(Index),描述符索引是指描述符在描述符表中的序号。段选择子的第2位是引用描述符指示位,标记为TI,TI=0指示从全局描述符表GDT中读取该段的描述符;TI=1指示从局部描述符表LDT中读取该段的描述符。选择子最低两位(1和0)是请求特权级RPL,11是用户特权级,00表示内核特权级。根据选择子中的index和TI值,可以得到相应的地址描述符,从而确定段基地址。段基地址和段内偏移之和就是线性地址。所以,虚拟地址空间中的由段选择子和段内偏移构成的二维虚拟地址,就是这样确定了线性地址空间中的一维线性地址。

如下所示:</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值