CPU分段、分页寻址

本文介绍了CPU的分段寻址和分页寻址过程。在分段寻址中,逻辑地址由段寄存器和偏移地址组成,通过GDT或LDT进行转换得到线性地址。分页寻址则涉及页目录表和页表,通过页目录表项和页表项计算得到物理地址。两种寻址方式在不同场景下提供内存管理和保护。
摘要由CSDN通过智能技术生成

--------------------------------------------------------------------->
分段寻址:逻辑地址 --> 线性地址(32位)

逻辑地址:段寄存器(16位):偏移地址(32位)

分段寻址过程(由CPU自动完成):
┏━━━━━━━┓
┃  GDTR高32位  ┃--> GDT基地址
┗━━━━━━━┛

 根据段寄存器TI位,判断段寄存器高13位是GDT的位置索引还是LDT的位置索引。
 
 若TI = 0:
┏━━━━━━━━━━━━━━━━━┓
┃  段寄存器高13位 * 8 + GDT基地址      ┃ --> GDT中描述符物理地址
┗━━━━━━━━━━━━━━━━━┛
┏━━━━━━━━┓
┃  解析GDT描述符 ┃ --> 目标段基地址(32位)
┗━━━━━━━━┛
┏━━━━━━━━━━━━━━━━━━━┓
┃  目标段基地址(32位) + 偏移地址(32位)      ┃--> 线性地址
┗━━━━━━━━━━━━━━━━━━━┛
 
 若TI = 1:
┏━━━━━━━━━━━━━━━━┓
┃  LDTR(高13位) * 8 + GDT基地址     ┃--> GDT中描述符物理地址
┗━━━━━━━━━━━━━━━━┛
┏━━━━━━━━┓
┃  解析GDT描述符 ┃--> LDT基地址(32位)
┗━━━━━━━━┛
┏━━━━━━━━━━━━━━━━━┓
┃  段寄存器高13位 * 8 + LDT基地址      ┃--> LDT中描述符物理地址
┗━━━━━━━━━━━━━━━━━┛
┏━━━━━━━━┓
┃ 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值