80286保护模式

上传人:ji****en 文档编号:115017107 上传时间:2019-11-12 格式:PPT 页数:27 大小:1.58MB
返回 下载 相关 举报
80286保护模式_第1页
第1页 / 共27页
80286保护模式_第2页
第2页 / 共27页
80286保护模式_第3页
第3页 / 共27页
80286保护模式_第4页
第4页 / 共27页
80286保护模式_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《80286保护模式》由会员分享,可在线阅读,更多相关《80286保护模式(27页珍藏版)》请在金锄头文库上搜索。

1、 80x86 80286 80286 80286具有独立的16条数据线和24条地址 线。80286掀开了个人微机的保护方式及多 任务时代。首次提出了实方式和保护方式 这两种对CPU不同的操作方式。由于引进 了段描述表的概念,80286可以访问1GB的 虚拟地址空间,可以将1GB的虚拟地址空 间中的任务映射到16MB内存空间中去,从 而使多任务并行处理成为可能。这对后来 的多任务操作系统的普及是至关重要的。 80286是第一款100%完全向下兼容的处理 器。 80286的工作方式 n实地址工作方式:实地址方式是为和8086兼 容而设计的方式。在这种方式下,80286的 存储器寻址方式、段的长度等

2、完全同8086。 n保护虚地址方式:保护方式既提供了存储器 管理机制,又提供了保护机构从而支持多任 务操作。80286只有在保护方式下,才能发 挥其全部功能,因此保护方式是80286最主 要的工作方式。 内部寄存器的设置 n80286内部寄存器可以分成四类: n通用寄存器 n状态控制寄存器 n段寄存器 n系统表寄存器 通用寄存器:它们的设置和8086一 样,共有8个16位的寄存器。 n IP n 标志寄存器 标志寄存器与8086相比,增加了两位: IOPL(I/O特权级)和NT(进入子任务) ,这两位只在保护模式中使用,在实模式 中没有意义。 n MSW MSW是80286新设置的16位寄存器

3、,只 使用低4位:D0位为PE 位,用于切换到保 护模式。PE=1为保护模式,PE=0为实模式 。 段寄存器: 与8086段寄存器相对应的部分,在 80286中称为段选择器(选择子),当进行逻 辑地址到实地址的变换时,由它来选择描 述符表中的一个描述符。 在实模式中这个 段寄存器选择器域的作用完全和8086的段 寄存器一样,用来生成20位地址的段基地 址。 80286段寄存器及存储器寻址 在虚地址方式下,段地址是24位而不 是实地址方式下的16位。而段内偏移量与 实地址方式时相同,16位,最大64K。 80286中的段寄存器为了与8086兼容是16位 的。 80286中将某个段的段地址和相应的

4、特 性集合在一起,叫描述符。将各个段的描 述符放在一起形成一张表,称为描述符表 ,存放在存储器的某一区域。于是在保护 虚地址方式下的各个段寄存器中的内容不 再是段地址,而是一个参数,用这个参数 指向描述符表对应的位置,从描述符表中 取出相应的 描述符(包括24位段地址及相应的特性)由段地址 与16位偏移量相加形成要寻址单元的物理 地址。 物理存储 器 段 段描述符 表 段寄存器偏移量 物理 地址 加法 器 段描述符 段地址 段选择器 在80286中与8086段寄存器对应的部分叫 段选择器。 在上图中,最低两位RPL域不作虚拟 地址变换,用于特权级间的保护检查。余 下的14位(TI位和索引域)能

5、够用来选择 虚拟地址空间的一个段。TI位为0时,指向 全局地址空间;为1时指向局部地址空间。 全局地址空间由所有任务共享,这样 就避免了相同功能的系统服务程序在各个 任务中重复出现,使数据共享和中断处理 控制变得更容易。因此,在全局空间中可 以放置操作系统软件、库程序、可公共调 用的系统服务程序及数据等。 局部地址空间是每个任务独立的地址 空间,它放置各任务固有的代码和数据 。这样做能使各任务的虚拟地址空间分 离。从现行任务的局部空间切换到另一 任务的局部空间,这个操作是在任务切 换时由硬件自动完成。 描述符(包括24位段地址及相应的特性) 描述符由8个字节组成。它记载着段的起始 地址、大小和

6、属性。不同的段有不同的描述符 。 限 150 段基地址 150 段基地址 2316 APDPL S Intel保留 上图是代码段和数据段描述符的格式。 最低两个字节规定了该段的最大长度。接 着的3个字节(24位)规定了该段的基地址 ,然后是一个称为访问权的字节,它规定 了此段的特权级和属性,最后两个字节 80286中不用,保留为80386以及以后设计 的芯片用。 访问权各位的意义 位 名称 功能 P P=1该段在物理存储器中 P=0该段不在物理存储器中 6 ,5 DPL 该段的特权属性为03,在特权测试中使用 S S=1为代码段或数据段描述符 S=0 非段描述符 E E=0为数据段描述符 ED

7、 ED=0向上生长段,非堆栈段 ED=1向下生长段 W W=0数据段不能写入,W=1数据段可以写入 3 E E=1为代码段描述符 C C=0 当CPL= DPL时,代码段只能被执行 R R=0代码段不能读,R=1代码段可以读 0 A A=0该段未被访问过,A=1该段已被访问过 80286中的特权与保护 在多用户操作系统工作的用户程序,通 常要求互相隔离、保护,希望在各自独立的 环境中运行,数据不被未授权的用户访问, 程序不被别的任务破坏。80286的保护机制 能实现操作系统与任务之间,任务与任务之 间,任务内程序与数据之间的分离与保护。 80286设置了4级特权,分别编号为03 ,0级是最高特

8、权级,3级是最低特权级,并 且这4级特权保护不是用软件完成,而是由 处理器的硬件实现的。 80386 1985年10月,Intel 推出了32位微处理 器80386,它是一种与80286相兼容的全 32位处理器。它有32条数据总线和内部 数据通道,包括寄存器、ALU和内部总 线都是32位,能灵活处理8、16、32位3 种数据类型。 Intel的CPU具有3种运行模式:实模式 、保护模式和虚拟8086模式。CPU的3种运 行模式及其转换关系如图所示。 实模式 保护模式虚拟8086模式 Reset复位 Reset复位、修改CR0 LMSW指令、 修改CR0 中断或异常 IRETD指令、任务转换 R

9、eset复位 1.实模式 CPU复位(Reset)或加电(Power On) 的时候以实模式启动,处理器以实模式工 作。在实模式下,内存寻址方式和8086相 同,由16位段寄存器的内容乘以16当做基 地址,加上16位偏移地址形成20位的物理 地址。在实模式下,所有的段都是可以读 、写和可执行的。该方式下,采用类似于 8086的体系结构、寻址机构、存储器管理 、中断处理机构均和8086一样。 2.保护模式 此方式提供了多任务环境中的各种复杂功能 以及对复杂存储器组织的管理机制。只有在保护 方式下,80386才充分发挥其强大的功能和本性。 在保护方式下,可以通过软件切换到虚拟8086方 式。 在保

10、护模式下,CPU提供了内存分段分页管 理和特权级保护等功能,这些功能是 Windows/Linux等现代操作系统的基石。如果没 有CPU的支持,操作系统的许多功能根本无法实 现。例如,在实模式下,应用程序可以执行任何 的CPU指令,读写所有的内存,DOS操作系统就 不能控制应用程序的行为,应用程序可以做任何 事情,没有任何限制。而在保护模式下,通过设 置特权级和内存的分段分页,应用程序只能读写 属于它自己的内存空间,而不能破坏其他应用程 序和操作系统。 实模式下没有特权级的概念,相当于所有的指 令都工作在特权级0,即最高的特权级。它可以执 行所有特权指令,包括读写控制寄存器CR0等。 Wind

11、ows/Linux操作系统就是通过在实模式下初 始化控制寄存器、GDTR、LDTR、IDTR、TR等 寄存器以及页表,然后再通过置CR0的保护模式 位(PE位)为1而进入保护模式的。 实模式下不支持硬件上的多任务切换,所有的指 令都在同一个环境下执行。 保护模式下提供的主要功能有: 段的大小可以设置为4 GB,段内的偏移量为32 位。 特权级保护。 支持内存分页机制,支持虚拟内存。 支持多任务。 3 虚拟8086方式:可以执行8086的应用程序,段寄 存器的用法和实地址方式时一样。虚拟8086方式 就是运行在保护环境中的8086方式。实地址方式 模拟8086时,保护机制不起作用,不能实现多任 务操作。在虚拟8086方式,支持保护机制,可进 行任务切换,但同时又与8086兼容,内存寻址空 间为1MB,段地址计算和8086一样。 80486 在80386出现4年后,1989年Intel推出了第 二代32位微处理器80486。从结构上,486相 当于以386为核心,将浮点运算协处理器 80387及8KB的高速缓存集中到一个芯片中, 但从程序设计角度看,其体系结构几乎没变 。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号