第四章 保护模式软件结构
保护模式下的寄存器管理和地址变换
描述符和页表
保护模式系统控制指令
多任务和特权保护
虚拟 8086方式第四章 保护模式软件结构
1,保护模式存储器管理和地址变换
1) 虚拟地址和虚拟地址空间
SELECTOR OFFSET
47 32 31 0
虚拟地址
INDEX T1 RPL
013 215
选择子偏移地址第四章 保护模式软件结构
一个存储段最大可达 2 =4G
虚拟地址空间为 2 *2 =64T
存储器指针,48位
选择子,16位
偏移地址,32位
32
32 14
第四章 保护模式软件结构
2)、虚拟地址空间分段
在分段工作模式下,虚拟地址空间
64T被分成两个空间:
全局存储器空间
局部存储器空间
由选择子中的 T1位来选择,T1=0,选择局部描述符表
T1=1,选择全局描述符表第四章 保护模式软件结构
2)、虚拟地址空间分段
为何要有全局与局部存储器?
实现多任务处理任务 1,局部地址空间段 1
任务 n,局部地址空间段 n
全局地址空间第四章 保护模式软件结构
3)、虚拟地址与物理地址空间转换
可供编程使用的虚拟地址空间是 64T,
CPU在保护模式下的地址总线为 32位,
可访问 4G字节的物理存储空间。
一般,物理存储器中驻留的只是少量信息,当前不使用的,大量的信息存放在硬盘中。在硬盘及存储器间,需要信息交换,地址映射。
第四章 保护模式软件结构
3)、虚拟地址与物理地址空间转换
由 CPU的 分段和分页部件 负责将 48位虚拟地址空间映射到 32位物理地址空间,
采用地址查表方法转换。
3)、虚拟地址与物理地址空间转换
SELECTOR OFFSET
15 0 31 0
PG

段转移
DIR PAGE OFFSET
页转换
031
031
页禁止逻辑地址线性地址物理地址第四章 保护模式软件结构
3)、虚拟地址与物理地址空间转换
分段不分页,产生的线性地址即为物理地址 。
虚拟地址 =段选择子:偏移地址
物理地址 =基地址 +偏移地址第四章 保护模式软件结构
4),虚拟地址分页与虚拟地址到物理地址的转换
page 1048575page 1048574
物理地址空间
page 2
page 1
page 0
4kb
分页结构第四章 保护模式软件结构
4)、虚拟地址分页及虚拟地址到物理地址转换
在分页下,生成的 线性地址 不再是物理地址。
线性地址偏移地址字段页字段页目录字段第四章 保护模式软件结构
2、描述符与页表项
1)描述符:构成全局、局部、中断描述符表的元素。
2)分类:
描述符存储器段描述符系统段描述符门描述符代码段描述符数据段描述符 堆栈段数据段任务状态段( TSS)描述符局部描述符表( LDT)描述符任务门,调用门,中断门,陷阱门
3) 存储段 描述符
存放程序的代码段和数据段。
由属性字段,基地址,边界组成。
Base Attributes Base Limit
7 6 5 4 3 2 1 0
G D 0 A Limit P DPL D TYPE
V T
4) 系统段 描述符
包括 LDT,TSS描述符。
Base Attributes Base Limit
7 6 5 4 3 2 1 0
G X 0 A Limit P DPL D TYPE
V T
5) 门 描述符
包括 LDT,TSS描述符。
Offset Attributes Selector Offset
7 6 5 4 3 2 1 0
P DPL D TYPE 000 Dword
T
6) 页表项 /页目录
目录项格式
页表项格式
目录项 /页表项格式
AVL 0 0 X A 0 0 U/S R/W P
页表地址页帧地址
3、多任务与特权保护
80386以上的微处理器都能实现多任务。由任务切换机制完成各任务间的切换。
1)保护模式核心层 0
系统层 1
用户层 2
应用层 3
3、多任务与特权保护
2)通过保护模式访问代码和数据段
如何在同一特权级或不同特权级访问程序或数据?
描述符特权级 DPL:
输入 /输出特权级 IOPL:各任务的 I/O,中断等。
当前特权级 CPL:当前正在访问的。动态改变。
请求特权级 RPL
特权规则,CPL DPL
3、多任务与特权保护
3)任务切换与任务状态段表
跳转指令,不返回先前任务。
任务切换:
调用指令,允许返回。
任务描述符,包含了启动任务和停止任务所需的
全部信息 。
任务状态表,存放 MPU状态,任务反向链选择子,
局部描述符表寄存器选择子,堆栈选
择子和指针,I/O许可位的影象图。
任务嵌套执行任务调用新任务小 结
1、虚拟存储器空间,虚拟地址空间
2、全局地址空间,局部地址空间
3、虚拟地址,线性地址和物理地址
4,80X86描述符的分类
5、描述符的基本格式
6、保护模式下的特权级分类