Chapter10_4 80x86保护模式原理与结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全局描述符表GDT含有可供系统中所有任务使用的段描述 符。
局部描述符表LDT只含有与系统中某一个给定任务相关联的 描述符。
中断描述符表IDT含有指出各中断服务程序位置及相关属性 信息的描述符。
采用描述符表带来的优点如下:
1. 可以极大地扩展存储空间。
2. 可以实现虚拟存储。
3. 可以实现多任务隔离。
2. 与实模式下段寄存器的内容即为段的实际基地址不同, 保护模式下的段寄存器作为索引“描述符表”的变址寄存 器来使用,即由它指向“描述符表”的某一项,而实际的 段基址则放在段描述符中,此时段寄存器的内容称为“段 选择符”(也称段选择子)。可见,在保护模式下,微处理 器访问存储器段时对段寄存器的解释与实模式并不相同。
第十章高档微处理器简介
10.4 80x86/Pentium保护模式 原理与结构
本节主要内容
80x86/Pentium处理器保护模式的基本概念; 保护模式的主要数据结构; 保护模式的寄存器模型; 保护模式的存储管理和地址转换、保护模式的系统控制
指令集、多任务和保护; 保护模式的中断和异常操作,I/O敏感指令和I/O允许位
段描述符地址为: 00120000H+1000H=00121000H。
10.3 保护模式的寄存器模型
80X86 与Pentium的寄存器组如图10.2所示。
31
0
控制寄存器
EAX AH AH AL AX
通 EBX AH BH BL BX
ECX AH CH CL CX 用 EDX AH DH DL DX
注意,段选择符并不直接指向段,而是指向定义段的段 描述符。段选择符的格式及功能如图10.1所示
15
321 0
段选择符 (16位)
全局描述符表
局部描述符表
图10.1 段选择符的格式及功能
现对段选择符各字段的含义解释如下:
索引:位15~3。在全局描述符表GDT或局部描述符表 LDT的8192个描述符中选择一个描述符。处理器将索引值 乘8,再加上GDT或LDT的基址,结果用来选择一个段描 述符。
和本性,因此,也称保护模式为本性模式。所谓保护,主 要是指对存储器的保护,即防止对存储器资源进行未经授 权或不正确的访问。
百度文库
概括而言,保护模式具有如下特点:
1. 在保护模式下,其寻址机制不同于实模式,需要通过一 种称为“描述符表”的数据结构来实现对内存单元的访问。 描述符表中的描述符含有存储器段的位置、长度、类型及 访问权限等信息。
TI:位2。表指示器,指定要用的描述符表,该位复位时, 选择GDT;该位置位时,选择LDT。
RPL:位1~0。请求特权级,指定选择符的特权级。特 权级为0~3,为0时特权级最高。
例10.1
假定LDT的基址为00120000H,GDT的基址为00100000H。 如果装入CS寄存器的选择符的值为1007H,那么请求特权 级是多少?是GDT还是LDT的段描述符?段描述符的地址是 什么?
寄 EBP AH
ESI AH
存 EDI
AH
器 ESP
AH
标志 EFLAG AH
指令指针S EIP
AH
BP SI DI SP
FLAGS IP
调试寄存器
10.2.2 描述符表
为了查找和识别,把系统中的描述符按线性表的形式来组织, 即构成描述符表。描述符表的每一项就是一个描述符。描述 符表由操作系统建立,并由操作系统维护和管理。
有三种类型的描述符表:全局描述符表GDT(Global Descriptor Table)、局部描述符表LDT(Local Descriptor Table)和中断描述符表IDT(Interrupt Descriptor Table)。
由于描述符表是位于存储器中的,因此系统中分别用一个 寄存器来指出其位置,并称该寄存器为描述符表寄存器。 共有三个描述符表寄存器,分别是全局描述符表寄存器 GDTR、局部描述符表寄存器LDTR和中断描述符表寄存器 IDTR。
10.2.3段选择符(或选择子)
每个段描述符都有一个与之对应的段选择符。在保护模 式下,16位段寄存器的内容即为段选择符。段选择符对 GDT或LDT提供索引、全局/局部标志以及请求特权级 信息。即用段选择符的高13位来选择描述符表中8192个 描述符中的一个描述符(213=8192),用段选择符的右数 第3位决定是从GDT中还是从LDT中选择描述符,用段 选择符的最低两位指出请求特权级。
图。
10.1 保护模式概述
▪ 保护模式是80286之后的CPU具有的内存管理模式,是
80x86/Pentium最常用的工作模式,通常在开机或复位后, 先进入实模式完成初始化,然后便立即转到保护模式。保 护模式提供了多任务环境中各种复杂功能以及对复杂存储 器组织的管理机制。
▪ 只有在保护模式下,处理器才能充分发挥其强大的功能
在保护模式下,把有关一个段的信息即段基址、限长(段 的字节数)、类型、访问权限和其他属性信息存放在8字节 长的数据结构中,这种数据结构称为段描述符,简称描述 符(Descriptor)。 有两种类型的描述符:程序段描述符和系统段描述符。
程序段即应用程序段,也就是通常的代码段、数据段和堆 栈段;而系统段包括任务状态段TSS(Task State Segment) 和各种门,另外,局部描述符表也作为一种系统段。任务 状态段是多任务系统中的一种特殊数据结构,它对应一个 任务的各种信息。
3. 在保护模式下,借助于存储器管理部件(MMU)的功能 将磁盘等存储设备有效地映射到主存,使逻辑地址空间大 大超过实际的物理地址空间。
4. 可以使用4级保护功能,以此实现程序与程序、用户程 序与操作系统之间的隔离和保护,为多任务操作系统提供 优化支持。
10.2 保护模式的主要数据结构
10.2.1 段描述符
解 将选择符用二进制表示,得到CS= 0001000000000111B,由于最低两位为11,所以请求特权 级RPL=3。
右数第3位(表指示器TI位)为1,说明段描述符位于LDT 中。
将最左13位的值乘以8,即可得到描述符相对于表基址 的偏移量:
偏移量OFFSET=0001000000000B×8=1000H;
局部描述符表LDT只含有与系统中某一个给定任务相关联的 描述符。
中断描述符表IDT含有指出各中断服务程序位置及相关属性 信息的描述符。
采用描述符表带来的优点如下:
1. 可以极大地扩展存储空间。
2. 可以实现虚拟存储。
3. 可以实现多任务隔离。
2. 与实模式下段寄存器的内容即为段的实际基地址不同, 保护模式下的段寄存器作为索引“描述符表”的变址寄存 器来使用,即由它指向“描述符表”的某一项,而实际的 段基址则放在段描述符中,此时段寄存器的内容称为“段 选择符”(也称段选择子)。可见,在保护模式下,微处理 器访问存储器段时对段寄存器的解释与实模式并不相同。
第十章高档微处理器简介
10.4 80x86/Pentium保护模式 原理与结构
本节主要内容
80x86/Pentium处理器保护模式的基本概念; 保护模式的主要数据结构; 保护模式的寄存器模型; 保护模式的存储管理和地址转换、保护模式的系统控制
指令集、多任务和保护; 保护模式的中断和异常操作,I/O敏感指令和I/O允许位
段描述符地址为: 00120000H+1000H=00121000H。
10.3 保护模式的寄存器模型
80X86 与Pentium的寄存器组如图10.2所示。
31
0
控制寄存器
EAX AH AH AL AX
通 EBX AH BH BL BX
ECX AH CH CL CX 用 EDX AH DH DL DX
注意,段选择符并不直接指向段,而是指向定义段的段 描述符。段选择符的格式及功能如图10.1所示
15
321 0
段选择符 (16位)
全局描述符表
局部描述符表
图10.1 段选择符的格式及功能
现对段选择符各字段的含义解释如下:
索引:位15~3。在全局描述符表GDT或局部描述符表 LDT的8192个描述符中选择一个描述符。处理器将索引值 乘8,再加上GDT或LDT的基址,结果用来选择一个段描 述符。
和本性,因此,也称保护模式为本性模式。所谓保护,主 要是指对存储器的保护,即防止对存储器资源进行未经授 权或不正确的访问。
百度文库
概括而言,保护模式具有如下特点:
1. 在保护模式下,其寻址机制不同于实模式,需要通过一 种称为“描述符表”的数据结构来实现对内存单元的访问。 描述符表中的描述符含有存储器段的位置、长度、类型及 访问权限等信息。
TI:位2。表指示器,指定要用的描述符表,该位复位时, 选择GDT;该位置位时,选择LDT。
RPL:位1~0。请求特权级,指定选择符的特权级。特 权级为0~3,为0时特权级最高。
例10.1
假定LDT的基址为00120000H,GDT的基址为00100000H。 如果装入CS寄存器的选择符的值为1007H,那么请求特权 级是多少?是GDT还是LDT的段描述符?段描述符的地址是 什么?
寄 EBP AH
ESI AH
存 EDI
AH
器 ESP
AH
标志 EFLAG AH
指令指针S EIP
AH
BP SI DI SP
FLAGS IP
调试寄存器
10.2.2 描述符表
为了查找和识别,把系统中的描述符按线性表的形式来组织, 即构成描述符表。描述符表的每一项就是一个描述符。描述 符表由操作系统建立,并由操作系统维护和管理。
有三种类型的描述符表:全局描述符表GDT(Global Descriptor Table)、局部描述符表LDT(Local Descriptor Table)和中断描述符表IDT(Interrupt Descriptor Table)。
由于描述符表是位于存储器中的,因此系统中分别用一个 寄存器来指出其位置,并称该寄存器为描述符表寄存器。 共有三个描述符表寄存器,分别是全局描述符表寄存器 GDTR、局部描述符表寄存器LDTR和中断描述符表寄存器 IDTR。
10.2.3段选择符(或选择子)
每个段描述符都有一个与之对应的段选择符。在保护模 式下,16位段寄存器的内容即为段选择符。段选择符对 GDT或LDT提供索引、全局/局部标志以及请求特权级 信息。即用段选择符的高13位来选择描述符表中8192个 描述符中的一个描述符(213=8192),用段选择符的右数 第3位决定是从GDT中还是从LDT中选择描述符,用段 选择符的最低两位指出请求特权级。
图。
10.1 保护模式概述
▪ 保护模式是80286之后的CPU具有的内存管理模式,是
80x86/Pentium最常用的工作模式,通常在开机或复位后, 先进入实模式完成初始化,然后便立即转到保护模式。保 护模式提供了多任务环境中各种复杂功能以及对复杂存储 器组织的管理机制。
▪ 只有在保护模式下,处理器才能充分发挥其强大的功能
在保护模式下,把有关一个段的信息即段基址、限长(段 的字节数)、类型、访问权限和其他属性信息存放在8字节 长的数据结构中,这种数据结构称为段描述符,简称描述 符(Descriptor)。 有两种类型的描述符:程序段描述符和系统段描述符。
程序段即应用程序段,也就是通常的代码段、数据段和堆 栈段;而系统段包括任务状态段TSS(Task State Segment) 和各种门,另外,局部描述符表也作为一种系统段。任务 状态段是多任务系统中的一种特殊数据结构,它对应一个 任务的各种信息。
3. 在保护模式下,借助于存储器管理部件(MMU)的功能 将磁盘等存储设备有效地映射到主存,使逻辑地址空间大 大超过实际的物理地址空间。
4. 可以使用4级保护功能,以此实现程序与程序、用户程 序与操作系统之间的隔离和保护,为多任务操作系统提供 优化支持。
10.2 保护模式的主要数据结构
10.2.1 段描述符
解 将选择符用二进制表示,得到CS= 0001000000000111B,由于最低两位为11,所以请求特权 级RPL=3。
右数第3位(表指示器TI位)为1,说明段描述符位于LDT 中。
将最左13位的值乘以8,即可得到描述符相对于表基址 的偏移量:
偏移量OFFSET=0001000000000B×8=1000H;