计算机的保护模式
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RF:恢复位,与程序调试有关的一个控制位。 NT: 嵌套任务位,=1当前任务嵌套在其他任务中 IOPL:占2位,规定了哪些特权级的程序可以执 行I/O指令
微机接口技术
2.1.2 保护模式下的特殊寄存器
• 指令指针寄存器EIP和堆栈指针寄存 器ESP
EIP和ESP都是32位寄存器,它们的
微机接口技术
2.1.2 保护模式下的特殊寄存器
• 全局描述符表寄存器GDTR GDTR是48位的寄存器。 其最低16位是限长,给出全局描述符 表(GDT)的字节大小(其值比 GDT的长度少1); 其高32位是基址,指出GDT在物理 存储器中存放的基地址。
微机接口技术
GDT
全局存储器是一种共享系统资源, 该存储器可以被所有任务访问。全局描 述符表GDT是用来定义全局存储器空间 的一种机制,它用段描述符说明一个全 局存储器中的段,每个GDT最多含有 8192个描述符(8192×8=64KB)。
微机接口技术
2.1.2 保护模式下的特殊寄存器
• 段寄存器
• 32位CPU有6个段寄存器:
• CS——代码段寄存器,其值为代码段的段值; DS——数据段寄存器,其值为数据段的段值; ES——附加段寄存器,其值为附加数据段的段 值; SS——堆栈段寄存器,其值为堆栈段的段值; FS——附加段寄存器,其值为附加数据段的段
• 不支持特权级,可以执行所有特权指 令。
• DOS操作系统运行于实模式下,而 Windows/Linux操作系统运行于保 护模式下。
保护模式
微机接口技术
• CPU提供了段式和页式内存管理功能, 支持多任务和特权级。
• 物理寻址空间高达4GB(80386/80486 )或64GB(Pentium及以上CPU)。
小结
• GDTR (GDT) • IDTR (IDT) • LDTR (LDT) • TR • EFLAGS (IOPL, VM) • CR0(PE, PG) • CR1,CR2,CR3 • CS,DS,ES,FS,GS,SS (selector)
• 中断描述符表。
• IDT中保存的是中断门描述符。每个 门描述符包含8字节,IDT最多包含 256个门描述符,因为CPU最多支持 256个中断。中断门指出的是中断服 务程序的入口。
微机接口技术
2.1.2 保护模式下的特殊寄存器
保护模式下的中断描述符表的功能,类 似于实模式下的中断向量表,区别为IDT的 位置可变,由相应的描述符说明,而实模式 下的中断向量表的地址是固定的,必须在物 理地址00000H处。
• 保护模式下存贮器的虚拟地址须先由 分段部件转换为线性地址,再由分页 部件转换为物理地址。
• 线性地址由段基址和段内偏移量相加 得到。段内偏移量32位(段最大 4GB),段基地址仍然由16位的段 寄存器选择。
微机接口技术
2.1.2 保护模式下的特殊寄存器
• 段寄存器的内容,是-个被称为段 描述符的索引值,所检索到的表项叫 做段描述符,每个段描述符含8个字 节,其中包括了32位的段基址。
低16位分别是IP和SP。
31
EIP ESP
16 15
0
IP
SP
微机接口技术
2.1.2 保护模式下的特殊寄存器
• 保护模式增加了四个寄存器:
• 全局描述符表寄存器GDTR • 中断描述符表寄存器IDTR • 局部描述符表寄存器LDTR • 任务寄存器TR
微机接口技术
2.1.2 保护模式下的特殊寄存器
微机接口技术
2.1.2 保护模式下的特殊寄存器
在实模式和V86模式下,段寄存器的 16位内容是20位段首址的高16位,段首 址的低4位为0。
在保护模式下,段寄存器中的16位内 容是一个选择符(selector),用于在段 描述符表(GDT或LDT)中选择(确定) 段描述符。
微机接口技术
2.1.2 保护模式下的特殊寄存器
− CS:EIP=0008:804F1266 SS:ESP=0010:8053CED8
− DS=0023 ES=0023 FS=0030 GS=0000
15 14 13 12 11 10 9 8 7 6 5 4 3 2
选择符
Index
TI
10 RPL
2.1.2 保护模式下的特殊寄存器
微机接口技术
• RPL(Requestor Privilege Level):请求特权级,2位二进制数 字,范围为0~3。
CR0 CR1 CR2 CR3
微机接口技术
• GDTR : global descriptor table
• LDTR : local descriptor table
• IDTR : interrupt descriptor table
CS • TR : task register
DS
SS ES
• EIP : 32 bits in length
FS
GS
• EFLAGS
AX BX CX
• CR0, CR1, CR2, CR3
DX SP
• DR0-DR7(Debug registers)
BP SI
• TR6-TR7(Test registers)
DI
DR0
16 15
0
DR1
Base
Limit
DR2
Base
Limit
DR3
DR4
DR5
MSW
DR6
• 00代表特权级0,01代表特权级1, 10代表特权级2,11代表特权级3。
• 请求特权级是将要访问的段的特权级。
微机接口技术
• TI(Table Indicator):表指示符。 为0时,从GDT中选择描述符;为1时, 从LDT中选择描述符。
• Index:索引。指出要访问描述符在 段描述符表中的顺序号,Index占13 位。因此,顺序号的范围是0~8191。 每个段描述符表(GDT或LDT)中最 多有8192=213个描述符。
④
TSS
GDT ①②
①和②步由GDTR确定了GDT表在存储器中 的位置和限长。TR是一个选择符,这个选择符中 包含了TSS描述符在GDT中的索引。③步依据TR 在GDT中取出TSS描述符。在第④和⑤步中,在 TSS描述符中取得TSS的基址和限长。
2.1.2 保护模式下的特殊寄存器
微机接口技术
• 控制寄存器
有四个系统控制寄存器CR0~CR3。CR0 的低5位是系统控制标志,被称为机器状 态字MSW;分页机制中用到CR3、CR2 和CR0的其他位。
CR0
31 30~19 4 3 2 1 0 PG 00..00 ET TS EM MP PE
微机接口技术
2.1.2 保护模式下的特殊寄存器
机器状态字MSW中各位的含义如下:
微机接口技术
微机接口技术
第二章 保护模式
提纲
• 2.1 保护模式基础 • 2.2 内存管理 • 2.3 任务 • 2.4 特权级保护
微机接口技术
2.1 保护模式基础
微机接口技术
通常所说的保护模式是指80386处 理器及以后的处理器所实现的运行模式。
2.1.1 CPU的3种运行模式
微机接口技术
• 从80386开始,Intel的CPU具有3种 运行模式:
GDTR和IDTR的值必须在进入保护模式 之前装入。
微机接口技术
2.1.2 保护模式下的特殊寄存器
• 局部描述符表寄存器LDTR
保护模式下多任务的环境中每个任务都有一 个局部描述符表LDT。LDT只含有与系统 中某一个任务相关的各个段的描述符。和 所有任务有关的公用段的描述符放在全局 描述符表GDT中。这样,就可以使每一 任务的代码段、数据段、堆栈段与系统其 他部分隔离开,达到保护的目的。
TR
微机接口技术
• 任务寄存器TR
任务寄存器TR在保护模式的任务切换 机制中使用。TR是16位的选择符, 其内容为索引值,它选中的是TSS描 述符。TR的初值由软件装入,当执行 任务切换指令时TR的内容自动修改。
ቤተ መጻሕፍቲ ባይዱ TSS
微机接口技术
在多任务环境下,每个任务都有属于自 己的任务状态段TSS,TSS中包含启动任务 所必需的信息。
Ring 3 Ring 2 Ring 1
Ring 0
操作系统
应用程序不能直接修改
(破坏)操作系统的程
应用程序
序和数据.
微机接口技术
2.1.2 保护模式下的特殊寄存器
• 通用32位寄存器
31
16 15
0
EAX
EBX
ECX
EDX
ESI
EDI
EBP
ESP
EIP
EFLAGS 47
GDTR IDTR LDTR
微机接口技术
LDTR寄存器确定LDT的位置和限长的过 程
LDT LDTR
③
④
⑤
①
GDTR
GDT
②
①和②步由GDTR确定了GDT表在存储器中的位置和
限长。LDTR中是一个选择符,它包含了LDT描述符在GDT
中的索引。③步是依据LDTR在GDT中取出LDT描述符的过
程。在LDT描述符中,包含由LDT的位置和限长,即④和⑤
实模式 保护模式 虚拟8086模式
微机接口技术
实模式
• 在实模式下,80X86等同于一个16 位的8086微处理器。
• 采用类似于8086的体系结构,其寻 址机制、中断处理机制均和8086相 同.
• 只使用低20位地址线,只能寻址1M 字节的物理地址空间.
实模式
微机接口技术
• 不支持硬件上的多任务切换.
LDT
微机接口技术
• 由于每项任务都有自己的LDT(且 每项任务只能有一个LDT),因此 保护模式的软件系统可能有多个LD T。但GDT只有一个。
多LDT的示例
微机接口技术
LDTR
微机接口技术
• LDTR是一个16位的选择符,包含 LDT描述符在GDT中的索引,不直接 指出LDT的位置和大小。
微机接口技术
➢EM(Emulate processor extension):=1时系统用软件模 拟器执行数学运算。
➢TS(Task Switched):任务切换标 志。当任务间切换时,自动设置此位 为1。
➢PG(Paging enable):=1时,存 储器管理单元允许分页。=0时,分 页功能被关闭,线性地址等于物理地
微机接口技术
虚拟8086模式
▪ 虚拟8086模式又称“V86模式”。 ▪ 32位80X86处理器给每个以“虚拟
8086模式”运行的任务“创造”了一 个与真实的8086处理器十分相似的运 行环境,以便运行DOS程序。 ▪ 既有保护功能又能执行8086代码的工 作模式。
2.1.1 CPU的3种运行模式
8190 8191
微机接口技术
2.1.2 保护模式下的特殊寄存器
中断描述符表寄存器IDTR
IDTR是48位的寄存器。其最低16位是
限长,给出中断描述符表IDT的字节大小
(其值比IDT的长度少1);其高32位是基
址,指出IDT在物理存储器中存放的基地
址。
47
16 15
0
IDTR
基址
限长
IDT
微机接口技术
任务状态段TSS在存储器的基地址和限 长(大小)由TSS描述符指出。
TSS描述符放在全局描述符表GDT中, TR内容为选择符,它指出TSS描述符在GDT
微机接口技术
由任务寄存器TR取得TSS的过程
Physical Memory
③ TR
TSS descriptor
47
16 15
0
BASE
LIMIT
⑤
全局描述符表只能有一个。
GDT
微机接口技术
• GDT是位于存贮器中,用全局描述符 表寄存器GDTR指出它的位置和大小 ,可软件编程改变。
微机接口技术
2.1.2 保护模式下的特殊寄存器
BASE
LIMIT
47
16 15
0
全局描述符表寄存器(GDTR )
0 1
全局描 述符表
GDT
MAX: 64k bytes 8K entries
➢ PE(Protection mode Enable):保护模式 允许标志。=0为实模式,CPU复位(启动)时 自动进入实模式;=1为保护模式。可以通过软 件设置PE位,进入或退出保护模式。
➢ MP(Monitor coprocessor extension): 运算协处理器存在位。=1表示系统中有运算协 处理器。
DR7
TR6 TR7
微机接口技术
2.1.2 保护模式下的特殊寄存器
• 标志寄存器 标志寄存器EFLAGS也扩展为32位
微机接口技术
2.1.2 保护模式下的特殊寄存器
EFLAGS中的位11到位0和8086完全 相同。这里主要扩展了4个标志位:
VM:v86模式位,=1 工作在v86模式, =0 工作在实模式或保护模式
微机接口技术
Reset复位
LMSW指 令、 修改CR0
保护模式
实模式
Reset 复
Reset复位
位、
修改CR0
中断或异常
V86模式
IRETD指令、
任务转换
CPU的3种运行模式及其切换
微机接口技术
特权级
• 在保护模式下,CPU有4个特权级,
分别为特权级0、1、2、3。
操作系统运行在高的 特权级(Ring 0)上, 而应用程序运行在低的 特权级(Ring 3)上,
微机接口技术
2.1.2 保护模式下的特殊寄存器
• 指令指针寄存器EIP和堆栈指针寄存 器ESP
EIP和ESP都是32位寄存器,它们的
微机接口技术
2.1.2 保护模式下的特殊寄存器
• 全局描述符表寄存器GDTR GDTR是48位的寄存器。 其最低16位是限长,给出全局描述符 表(GDT)的字节大小(其值比 GDT的长度少1); 其高32位是基址,指出GDT在物理 存储器中存放的基地址。
微机接口技术
GDT
全局存储器是一种共享系统资源, 该存储器可以被所有任务访问。全局描 述符表GDT是用来定义全局存储器空间 的一种机制,它用段描述符说明一个全 局存储器中的段,每个GDT最多含有 8192个描述符(8192×8=64KB)。
微机接口技术
2.1.2 保护模式下的特殊寄存器
• 段寄存器
• 32位CPU有6个段寄存器:
• CS——代码段寄存器,其值为代码段的段值; DS——数据段寄存器,其值为数据段的段值; ES——附加段寄存器,其值为附加数据段的段 值; SS——堆栈段寄存器,其值为堆栈段的段值; FS——附加段寄存器,其值为附加数据段的段
• 不支持特权级,可以执行所有特权指 令。
• DOS操作系统运行于实模式下,而 Windows/Linux操作系统运行于保 护模式下。
保护模式
微机接口技术
• CPU提供了段式和页式内存管理功能, 支持多任务和特权级。
• 物理寻址空间高达4GB(80386/80486 )或64GB(Pentium及以上CPU)。
小结
• GDTR (GDT) • IDTR (IDT) • LDTR (LDT) • TR • EFLAGS (IOPL, VM) • CR0(PE, PG) • CR1,CR2,CR3 • CS,DS,ES,FS,GS,SS (selector)
• 中断描述符表。
• IDT中保存的是中断门描述符。每个 门描述符包含8字节,IDT最多包含 256个门描述符,因为CPU最多支持 256个中断。中断门指出的是中断服 务程序的入口。
微机接口技术
2.1.2 保护模式下的特殊寄存器
保护模式下的中断描述符表的功能,类 似于实模式下的中断向量表,区别为IDT的 位置可变,由相应的描述符说明,而实模式 下的中断向量表的地址是固定的,必须在物 理地址00000H处。
• 保护模式下存贮器的虚拟地址须先由 分段部件转换为线性地址,再由分页 部件转换为物理地址。
• 线性地址由段基址和段内偏移量相加 得到。段内偏移量32位(段最大 4GB),段基地址仍然由16位的段 寄存器选择。
微机接口技术
2.1.2 保护模式下的特殊寄存器
• 段寄存器的内容,是-个被称为段 描述符的索引值,所检索到的表项叫 做段描述符,每个段描述符含8个字 节,其中包括了32位的段基址。
低16位分别是IP和SP。
31
EIP ESP
16 15
0
IP
SP
微机接口技术
2.1.2 保护模式下的特殊寄存器
• 保护模式增加了四个寄存器:
• 全局描述符表寄存器GDTR • 中断描述符表寄存器IDTR • 局部描述符表寄存器LDTR • 任务寄存器TR
微机接口技术
2.1.2 保护模式下的特殊寄存器
微机接口技术
2.1.2 保护模式下的特殊寄存器
在实模式和V86模式下,段寄存器的 16位内容是20位段首址的高16位,段首 址的低4位为0。
在保护模式下,段寄存器中的16位内 容是一个选择符(selector),用于在段 描述符表(GDT或LDT)中选择(确定) 段描述符。
微机接口技术
2.1.2 保护模式下的特殊寄存器
− CS:EIP=0008:804F1266 SS:ESP=0010:8053CED8
− DS=0023 ES=0023 FS=0030 GS=0000
15 14 13 12 11 10 9 8 7 6 5 4 3 2
选择符
Index
TI
10 RPL
2.1.2 保护模式下的特殊寄存器
微机接口技术
• RPL(Requestor Privilege Level):请求特权级,2位二进制数 字,范围为0~3。
CR0 CR1 CR2 CR3
微机接口技术
• GDTR : global descriptor table
• LDTR : local descriptor table
• IDTR : interrupt descriptor table
CS • TR : task register
DS
SS ES
• EIP : 32 bits in length
FS
GS
• EFLAGS
AX BX CX
• CR0, CR1, CR2, CR3
DX SP
• DR0-DR7(Debug registers)
BP SI
• TR6-TR7(Test registers)
DI
DR0
16 15
0
DR1
Base
Limit
DR2
Base
Limit
DR3
DR4
DR5
MSW
DR6
• 00代表特权级0,01代表特权级1, 10代表特权级2,11代表特权级3。
• 请求特权级是将要访问的段的特权级。
微机接口技术
• TI(Table Indicator):表指示符。 为0时,从GDT中选择描述符;为1时, 从LDT中选择描述符。
• Index:索引。指出要访问描述符在 段描述符表中的顺序号,Index占13 位。因此,顺序号的范围是0~8191。 每个段描述符表(GDT或LDT)中最 多有8192=213个描述符。
④
TSS
GDT ①②
①和②步由GDTR确定了GDT表在存储器中 的位置和限长。TR是一个选择符,这个选择符中 包含了TSS描述符在GDT中的索引。③步依据TR 在GDT中取出TSS描述符。在第④和⑤步中,在 TSS描述符中取得TSS的基址和限长。
2.1.2 保护模式下的特殊寄存器
微机接口技术
• 控制寄存器
有四个系统控制寄存器CR0~CR3。CR0 的低5位是系统控制标志,被称为机器状 态字MSW;分页机制中用到CR3、CR2 和CR0的其他位。
CR0
31 30~19 4 3 2 1 0 PG 00..00 ET TS EM MP PE
微机接口技术
2.1.2 保护模式下的特殊寄存器
机器状态字MSW中各位的含义如下:
微机接口技术
微机接口技术
第二章 保护模式
提纲
• 2.1 保护模式基础 • 2.2 内存管理 • 2.3 任务 • 2.4 特权级保护
微机接口技术
2.1 保护模式基础
微机接口技术
通常所说的保护模式是指80386处 理器及以后的处理器所实现的运行模式。
2.1.1 CPU的3种运行模式
微机接口技术
• 从80386开始,Intel的CPU具有3种 运行模式:
GDTR和IDTR的值必须在进入保护模式 之前装入。
微机接口技术
2.1.2 保护模式下的特殊寄存器
• 局部描述符表寄存器LDTR
保护模式下多任务的环境中每个任务都有一 个局部描述符表LDT。LDT只含有与系统 中某一个任务相关的各个段的描述符。和 所有任务有关的公用段的描述符放在全局 描述符表GDT中。这样,就可以使每一 任务的代码段、数据段、堆栈段与系统其 他部分隔离开,达到保护的目的。
TR
微机接口技术
• 任务寄存器TR
任务寄存器TR在保护模式的任务切换 机制中使用。TR是16位的选择符, 其内容为索引值,它选中的是TSS描 述符。TR的初值由软件装入,当执行 任务切换指令时TR的内容自动修改。
ቤተ መጻሕፍቲ ባይዱ TSS
微机接口技术
在多任务环境下,每个任务都有属于自 己的任务状态段TSS,TSS中包含启动任务 所必需的信息。
Ring 3 Ring 2 Ring 1
Ring 0
操作系统
应用程序不能直接修改
(破坏)操作系统的程
应用程序
序和数据.
微机接口技术
2.1.2 保护模式下的特殊寄存器
• 通用32位寄存器
31
16 15
0
EAX
EBX
ECX
EDX
ESI
EDI
EBP
ESP
EIP
EFLAGS 47
GDTR IDTR LDTR
微机接口技术
LDTR寄存器确定LDT的位置和限长的过 程
LDT LDTR
③
④
⑤
①
GDTR
GDT
②
①和②步由GDTR确定了GDT表在存储器中的位置和
限长。LDTR中是一个选择符,它包含了LDT描述符在GDT
中的索引。③步是依据LDTR在GDT中取出LDT描述符的过
程。在LDT描述符中,包含由LDT的位置和限长,即④和⑤
实模式 保护模式 虚拟8086模式
微机接口技术
实模式
• 在实模式下,80X86等同于一个16 位的8086微处理器。
• 采用类似于8086的体系结构,其寻 址机制、中断处理机制均和8086相 同.
• 只使用低20位地址线,只能寻址1M 字节的物理地址空间.
实模式
微机接口技术
• 不支持硬件上的多任务切换.
LDT
微机接口技术
• 由于每项任务都有自己的LDT(且 每项任务只能有一个LDT),因此 保护模式的软件系统可能有多个LD T。但GDT只有一个。
多LDT的示例
微机接口技术
LDTR
微机接口技术
• LDTR是一个16位的选择符,包含 LDT描述符在GDT中的索引,不直接 指出LDT的位置和大小。
微机接口技术
➢EM(Emulate processor extension):=1时系统用软件模 拟器执行数学运算。
➢TS(Task Switched):任务切换标 志。当任务间切换时,自动设置此位 为1。
➢PG(Paging enable):=1时,存 储器管理单元允许分页。=0时,分 页功能被关闭,线性地址等于物理地
微机接口技术
虚拟8086模式
▪ 虚拟8086模式又称“V86模式”。 ▪ 32位80X86处理器给每个以“虚拟
8086模式”运行的任务“创造”了一 个与真实的8086处理器十分相似的运 行环境,以便运行DOS程序。 ▪ 既有保护功能又能执行8086代码的工 作模式。
2.1.1 CPU的3种运行模式
8190 8191
微机接口技术
2.1.2 保护模式下的特殊寄存器
中断描述符表寄存器IDTR
IDTR是48位的寄存器。其最低16位是
限长,给出中断描述符表IDT的字节大小
(其值比IDT的长度少1);其高32位是基
址,指出IDT在物理存储器中存放的基地
址。
47
16 15
0
IDTR
基址
限长
IDT
微机接口技术
任务状态段TSS在存储器的基地址和限 长(大小)由TSS描述符指出。
TSS描述符放在全局描述符表GDT中, TR内容为选择符,它指出TSS描述符在GDT
微机接口技术
由任务寄存器TR取得TSS的过程
Physical Memory
③ TR
TSS descriptor
47
16 15
0
BASE
LIMIT
⑤
全局描述符表只能有一个。
GDT
微机接口技术
• GDT是位于存贮器中,用全局描述符 表寄存器GDTR指出它的位置和大小 ,可软件编程改变。
微机接口技术
2.1.2 保护模式下的特殊寄存器
BASE
LIMIT
47
16 15
0
全局描述符表寄存器(GDTR )
0 1
全局描 述符表
GDT
MAX: 64k bytes 8K entries
➢ PE(Protection mode Enable):保护模式 允许标志。=0为实模式,CPU复位(启动)时 自动进入实模式;=1为保护模式。可以通过软 件设置PE位,进入或退出保护模式。
➢ MP(Monitor coprocessor extension): 运算协处理器存在位。=1表示系统中有运算协 处理器。
DR7
TR6 TR7
微机接口技术
2.1.2 保护模式下的特殊寄存器
• 标志寄存器 标志寄存器EFLAGS也扩展为32位
微机接口技术
2.1.2 保护模式下的特殊寄存器
EFLAGS中的位11到位0和8086完全 相同。这里主要扩展了4个标志位:
VM:v86模式位,=1 工作在v86模式, =0 工作在实模式或保护模式
微机接口技术
Reset复位
LMSW指 令、 修改CR0
保护模式
实模式
Reset 复
Reset复位
位、
修改CR0
中断或异常
V86模式
IRETD指令、
任务转换
CPU的3种运行模式及其切换
微机接口技术
特权级
• 在保护模式下,CPU有4个特权级,
分别为特权级0、1、2、3。
操作系统运行在高的 特权级(Ring 0)上, 而应用程序运行在低的 特权级(Ring 3)上,