保护模式工作原理

保护模式工作原理

ID:39221141

大小:379.31 KB

页数:26页

时间:2019-06-27

保护模式工作原理_第1页
保护模式工作原理_第2页
保护模式工作原理_第3页
保护模式工作原理_第4页
保护模式工作原理_第5页
资源描述:

《保护模式工作原理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、80386保护模式工作原理80386简介Intel公司的第一个实用的32位微处理32位数据总线和32位地址总线,可寻址高达4G字节的物理地址空间;I/O地址空间为64kB支持存储器的分段管理和分页管理机制为实现虚拟存储器提供了硬件支持支持多任务,能够快速地进行任务切换和保护任务环境三种工作方式:实模式,保护模式和虚拟8086模式4个特权级和完善的特权检查机制,既能实现资源共享又能保证代码和数据的安全及任务的隔离80386中的寄存器4个32位通用寄存器:EAX、EBX、ECX、EDX4个32位地址寄存器:ESP、EBP、EDI、ESI32位指令指针寄存器:EIP3

2、2位标志寄存器:EFLAGS6个16位段寄存器:CS(代码段)、DS(数据段)、ES(附加段)、SS(堆栈段)、FS、GS4个32位控制寄存器:CR0、CR1、CR2、CR34个段表基地址寄存器:GDTR(48)、IDTR(48)、LDTR(16)、TR(16)排错和测试寄存器逻辑/虚拟/线性/物理地址逻辑地址:在应用程序中用来访问存储器的地址。程序员使用逻辑地址的时候,不考虑地址在实际物理硬件上的实现细节。逻辑地址在保护模式中常称为虚拟地址。线性地址:它是一个无符号的数,表示一个一维空间中一个单元的位置。物理地址:表示实际物理存储器中一个存储单元的位置。存储管

3、理技术实质上是指系统采用一种什么样的机制,将程序中用到的逻辑地址对应转换为实际的物理地址。一般先要将二维的逻辑地址转换为一维的线性地址。实模式在实模式(实地址方式)下,80386等同于一个16位的8086微处理器程序员只能使用32位寄存器中的低16位只能寻址1M字节的物理地址空间(32位地址总线中只有低20位有效)2维逻辑地址=段地址(16位):偏移量(16位)物理地址=线性地址=段地址×16+偏移量对内存和I/O的读写没有任何保护措施256中断向量存放在内存的最低端设置CR0的PE位和PG位为0可使系统进入实模式保护模式32位的寄存器可用、可寻址4GB的物理地

4、址空间逻辑-物理地址转换过程包含两级:先分段再分页。(注:分页过程是可选的)为实现虚拟存储器提供了硬件支持支持多任务,能够快速地进行任务切换和保护任务环境包含4个特权级和完善的特权检查机制,对所有的内存和I/O访问操作都进行严格检查,能够屏蔽普通程序对系统、硬件和中断等资源的直接访问。不同的特权级下有不同的指令系统设置CR0的PE位为1可使系统进入保护模式保护模式下的地址转换过程设置CR0的PG位可以开启(1)和关闭(1)分页机制保护模式中的逻辑地址(虚拟地址)由16位的选择子和32位的偏移量两部分组成。选择子放在段地址寄存器中,用来指定一个段描述符选择子偏移量

5、分段机制线性地址物理地址分页机制虚拟地址150310分段机制分段机制实现了虚拟地址到线性地址的转换分段机制把虚拟存储器组织成起始位置和大小可变的块的集合,每一块称为一个段。段由段描述符来定义,其中存放了关于段的三个参数:(1)段在线性空间中的基地址(Base,32位)(2)段的大小(Limit,20位)(3)段的属性(读/写/执行,特权级等)(12位)段描述符存放在描述符表中,选择子就是用来指定某个特定描述符的关于描述符表的索引使用分段的优点:(1)便于实现逻辑分块(2)可以对不同的内存块实现不同的保护(3)便于进行重定位分段机制虚拟-线性地址转换过程基本过程:

6、通过虚拟地址中的选择子在描述符表中找到相应的段描述符,取出其中的32位段基地址,该基地址加上虚拟地址中偏移量就形成了线性地址。当然,在相加之前要根据描述符中的Limit字段判断一下该偏移量是否越界。例:MOVEAX,DS:[EDX]设描述符表的基地址存放在GDTR中,则转换结果为:[(GDTR+DS×8)].Base+EDX注:[A]表示取A所指向的内存单元的内容选择子与存储段描述符索引值(13位)TI(1)RPL(2)选择子的格式:(一般放在段寄存器中)76543210Base(31…24AttributeBase(23…0)Limit(15…0)765432

7、1076543210GD0AVLLimit(19…16)PDPLDTTYPE描述符的格式:描述符表描述符可用于描述多种对象:存储段、任务状态段、调用门、任务门、中断门、陷阱门和LDT。为了便于组织管理,80386把描述符组织成线性表。由描述符组成的线性表称为描述符表。每个描述符表本身形成一个特殊的内存数据段。这样的特殊数据段最多包含8192个描述符。该段由操作系统维护、并由处理器中的存储管理单元硬件(MMU)访问。在80386中有三种类型的描述符表:全局描述符表GDT、局部描述符表LDT和中断描述符表IDT。在整个系统中,全局描述符表GDT和中断描述符表IDT只

8、有一张,局部描述符表可以

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。