没有合适的资源?快使用搜索试试~ 我知道了~
硬件资料硬件资料word\80x86 保护运行模式.doc
资源详情
资源评论
资源推荐
80x86 保护运行模式
80386 概述
80386 是一个高级的32 位微处理器,专门用于多任务的操作系统,并为需要高
性能的应用所设计。32
位的寄存器和数据通道支持32 位的寻址方式和数据类型,处理器可以寻址最高可
达4GB 的物理内存以及
64TB(246字节)的虚拟内存。芯片上的内存管理包括地址转换寄存器、高级多
任务硬件、保护机制以及分
页虚拟内存机制。下面针对系统编程,概要说明使用80386 的这些基本原理。
系统寄存器
设计用于系统编程的系统寄存器主要包括以下几类:
标志寄存器EFALGS;
内存管理寄存器;
控制寄存器;
调试寄存器;
测试寄存器。
系统标志寄存器EFLAGS 控制着I/O、可屏蔽中断、调试、任务切换以及保护模式
和多任务环境下虚拟
8086 程序的执行。其中主要标志见下图所示。
31 23 15 7 0
0 0 0 0 0 0 0 0 0 0 0 0 O 0
V
M
R
F
0
N
T
IO
PL
O
F
D
F
I
F
T
F
S
F
Z
F
0
A
F
0
P
F
1
C
F
其中系统标志:VM – 虚拟8086 模式;RF – 恢复标志;NT – 嵌套任务标志;IO
PL – I/O 特权级标
志;IF – 中断允许标志。
内存管理寄存器有4 个,用于分段内存管理:
GDTR – 全局描述符表寄存器(Global Descriptor Table Register);
LDTR – 局部描述符表寄存器(Local Descriptor Table Register);
IDTR – 中断描述符表寄存器(Interrupt Descriptor Table Register);
TR – 任务寄存器。
其中前两个寄存器(GDTR,LDTR)分别指向段描述符表GDT 和LDT。IDTR 寄存
器指向中断向量表。TR 寄
存器指向处理器所需的当前任务的信息。
80386 共有4 个控制寄存器,分别是CR0、CR1、CR2 和CR3。格式见下图所
示。
31 23 15 7 0
页目录基地址寄存器
Page Directory Base Register (PDBR)
保留
Reserved
CR3
附录
465
页异常线性地址
Page Fault Linear Address
CR2
保留
Reserved
CR1
P
G
保留
Reserved
E
T
T
S
E
M
M
P
P
E
CR0
控制寄存器CR0 含有系统整体的控制标志。其中:
PE – 保护模式开启位(Protection Enable,比特位0)。如果设置了该比特
位,就会使处理器开
始在保护模式下运行。
MP – 协处理器存在标志(Math Present,比特位1)。用于控制WAIT 指令
的功能,以配合协处理
的运行。
EM – 仿真控制(Emulation,比特位2)。指示是否需要仿真协处理器的功能。
TS – 任务切换(Task Switch,比特位3)。每当任务切换时处理器就会设置
该比特位,并且在解
释协处理器指令之前测试该位。
ET – 扩展类型(Extention Type,比特位4)。该位指出了系统中所含有的协
处理器类型(是80287
还是80387)。
PG – 分页操作(Paging,比特位31)。该位指示出是否使用页表将线性地址
变换成物理地址。
内存管理
内存管理主要涉及处理器的内存寻址机制。80x86 使用两步将一个分段形式的逻
辑地址转换为实际物
理内存地址。
段变换,将一个由段选择符和段内偏移构成的逻辑地址转换为一个线性地址;
页变换,将线性地址转换为对应的物理地址。该步是可选的。
在分页机制开启时,通过将前面所述的段转换和页转换组合在一起,即实现了从
逻辑地址到物理地址
的两个转换阶段。
段变换
下图示出了处理器是如何将一个逻辑地址转换为线性地址的。在转换过程中CPU
使用了以下一些数据
结构:
段描述符(Segment Descriptors);
描述符表(Descriptor tables);
选择符(Selectors);
段寄存器(Segment Registers)。
31
12 11 22 21 31
基地址
剩余12页未读,继续阅读
yangjinqi
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0