CPU分段、分页寻址
来源:互联网 发布:软件测评费用标准 编辑:程序博客网 时间:2024/05/21 22:55
--------------------------------------------------------------------->
分段寻址:逻辑地址 --> 线性地址(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中描述符物理地址
┗━━━━━━━━━━━━━━━━━┛
┏━━━━━━━━┓
┃ 解析LDT描述符 ┃--> 目标段基地址(32位)
┗━━━━━━━━┛
┏━━━━━━━━━━━━━━━━━━━┓
┃ 目标段基地址(32位) + 偏移地址(32位) ┃--> 线性地址
┗━━━━━━━━━━━━━━━━━━━┛
--------------------------------------------------------------------->
分页寻址:线性地址 --> 物理地址
虚拟地址:
┏━━━━━━━━┳━━━━━━━━┳━━━━━━━━━┓
┃ nPDE(31..22) ┃ nPTE(21..12) ┃ offset(11..0) ┃
┗━━━━━━━━┻━━━━━━━━┻━━━━━━━━━┛
注意:
若开启分页机制,则CPU根据页目录表和页表进行地址转换
若没有开启分页机制,则线性地址就对应于内存上的物理地址
分页寻址过程:
┏━━━━━━━━━┓
┃ cr3高20位 * 4k ┃ --> 页目录表基地址
┗━━━━━━━━━┛
┏━━━━━━━━━━━━━━┓
┃ 页目录表基地址 + nPDE * 4 ┃ --> 页目录表项(32位)
┗━━━━━━━━━━━━━━┛
┏━━━━━━━━━━━━━┓
┃ 页目录表项高20位 * 4k ┃ --> 页表基地址
┗━━━━━━━━━━━━━┛
┏━━━━━━━━━━━━━┓
┃ 页表基地址 + nPTE * 4 ┃ --> 页表项
┗━━━━━━━━━━━━━┛
┏━━━━━━━━━━━┓
┃ 页表项高20位 * 4k ┃ --> 目标页基地址
┗━━━━━━━━━━━┛
┏━━━━━━━━━━━━━┓
┃ 目标页基地址 + offset ┃ --> 物理地址
┗━━━━━━━━━━━━━┛
-------------------------------------------------------------------->
- CPU分段、分页寻址
- 内存寻址(二):linux中的分段与分页机制
- Linux内存寻址之分段机制及分页机制
- 内存寻址一(分段)
- 内存寻址(一)硬件寻址的基本原理:硬件中的分段和分页机制,控制寄存器CR0与CR3
- 内存寻址(一)硬件寻址的基本原理:硬件中的分段和分页机制,控制寄存器CR0与CR3
- 分页&分段
- 分段 分页
- 32 位cpu寻址
- 什么是cpu寻址能力。
- 8086 CPU 寻址方式
- CPU寻址范围
- CPU寻址问题
- CPU寻址方式
- CPU寻址过程方框图
- CPU寻址范围(寻址空间)一系列问题
- CPU寻址范围(寻址空间)一系列问题
- CPU寻址范围(寻址空间)一系列问题
- 项目延期原因及应对之道
- Norflash Nandflash
- 【单调栈】浇水
- 怎样产生标准分布或高斯分布的随机数
- 输入四个整数,输出其中的最大值
- CPU分段、分页寻址
- 自己动手写web服务器一(浏览器的访问信息)
- 淘宝离职员工泄密!—购物的最佳去处
- 武汉机场航班内3名斗殴者受罚最重被拘7天-航班斗殴-中国乘客素质-打人
- JNI官方规范中文版——使用JNI时容易出错的地方
- Java容器类List、ArrayList、Vector及map、HashTable、HashMap的区别与用法
- 关闭CentOS启动进度条,替换为详细信息
- 操作XML文件的类
- class.getResource()的用法