![[工学]微机原理 操作模式.ppt_第1页](http://file.renrendoc.com/FileRoot1/2018-12/23/7fcb05db-e7ec-4817-9e2f-62308095ed85/7fcb05db-e7ec-4817-9e2f-62308095ed851.gif)
![[工学]微机原理 操作模式.ppt_第2页](http://file.renrendoc.com/FileRoot1/2018-12/23/7fcb05db-e7ec-4817-9e2f-62308095ed85/7fcb05db-e7ec-4817-9e2f-62308095ed852.gif)
![[工学]微机原理 操作模式.ppt_第3页](http://file.renrendoc.com/FileRoot1/2018-12/23/7fcb05db-e7ec-4817-9e2f-62308095ed85/7fcb05db-e7ec-4817-9e2f-62308095ed853.gif)
![[工学]微机原理 操作模式.ppt_第4页](http://file.renrendoc.com/FileRoot1/2018-12/23/7fcb05db-e7ec-4817-9e2f-62308095ed85/7fcb05db-e7ec-4817-9e2f-62308095ed854.gif)
![[工学]微机原理 操作模式.ppt_第5页](http://file.renrendoc.com/FileRoot1/2018-12/23/7fcb05db-e7ec-4817-9e2f-62308095ed85/7fcb05db-e7ec-4817-9e2f-62308095ed855.gif)
已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第11章操作模式 主讲:董毅 11.1 实模式综述(回顾) n实模式下的存储器地址由16位的段寄存器与16位 的偏移量寄存器配对组成,两者结合起来构成逻 辑地址。 q【问题】段寄存器的最大值与偏移量寄存器的最大值 都可为0FFFFH,此时的物理地址为(0FFFFH16) 0FFFFH=10FFEFH100001111111111101111B, 使得第21条地址线A20为1,但8086只有20位地址,说 明已经超出了8086的可寻址空间范围。 【解决办法】 n在8086中就存在着所谓地址环绕的问题,超出20位 地址的进位“1”将被忽略,因此10FFEFH实际的物理 地址将被定位到存储器的0FFEFH处。 n80286的地址线有24位,80386/80486/奔腾系列等微 处理器的地址线至少有32位,因此地址100000H及 其随后的大量空间都是实际存在的,不会环绕到 00000H处,但它超出了1MB的空间限制,进入了扩 展存储器的空间。为了严格兼容8086实模式, 80286/80386/ 80486/奔腾系列都采取了一种附加闸 门控制的办法,通过专门的电路设计对A20地址线进 行控制,称为“A20 gate”。当闸门电路保持A20线为0 电平时,系统就能仿真8086的地址环绕。 MS DOS的内存管理 n可使用1MB空间,分成两段: q00000H9FFFFH为基本内存或称常规内存,容量640KB, DOS与用户程序只能存放在这个区段。 q0A0000H0FFFFFH为保留内存区,共384KB,保留给基本 输入输出系统(BIOS)与系统总线功能扩展接口卡上的存储器 使用,例如显示卡上的视频BIOS、显示缓冲区以及系统启 动网卡上的启动ROM等。 n1MB以外的区间是扩展内存区XMS(Extended Memory Specification),属保护模式存储器寻址 (Protected Mode Memory Addressing) 的空间,MS DOS无法直接管理,仅可用作RAM一类的虚拟磁盘 等,这是实模式的致命缺陷。 MS DOS的内存管理 n对于80286以后的微型计算机,在扩展内存管理程序 HIMEM.SYS的驱动控制下,当逻辑地址处在 0FFFF:0010H0FFFF:FFFFH范围内,亦即物理地 址在1MB之外的100000H10FFEFH空间段时,MS DOS系统能真正访问到扩展内存的这个区间。于是 原来1MB的空间限制就被突破而增加了64KB。这个 区间就称高端内存区(High Memory Area,HMA) q它可以存放DOS的常驻程序,从而使基本内存区中原驻这些 程序的空间释放出来,用户程序区就增加了几十KB可贵的 空间。为了达到这一目的,MS DOS系统配置文件 CONFIG.SYS中必须有以下两条语句: HMA配置 nDEVICE=C:DOSHIMEM.SYS 装载扩展内存驱动程序 nDOS=HIGH 让DOS使用高端内存区 图11.1 80286/386/486/Pentium系列内存配置示意图 n例11.1 A20地址线由92H端口的bit 1控制, 该位为0时A20地址线关闭而产生地址环绕, 系统操作于实模式为1时打开A20地址线可 访问到1MB以上的空间,系统操作于保护模式 。编写打开与关闭A20地址线的宏指令。 n打开A20地址线 nEnableA20 MACRO n PUSH AX n IN AL,92H n OR AL,00000010B n OUT 92H,AL n POP AX n ENDM n关闭A20地址线 nDisableA20 MACRO n PUSH AX n IN AL,92H n AND AL,11111101B n OUT 92H,AL n POP AX n ENDM 11.2 保护模式下的存储器分段管理 n通俗地讲,所谓“保护”就是在充分利用微处理 器资源的基础上,保护各类程序既高效率又高 可靠地运行。 q例如Windows操作系统就必须而且只能在保护模式 下运行。 微处理器的保护 n存储器的区域保护功能 对存储器实施分段管理,尽量禁止对存储器进行非法 访问,或者程序失控时产生异常中断以便采取必要的 补救措施等。在多任务系统中,通过局部描述符表 LDT为各任务定义不同的虚拟空间,使任务之间在区 域上进行隔离,互不干扰,即使某一任务出错也不致 于影响其他任务的执行等。 n特权级保护功能 为各种类型的存储器段附加一个访问权级别,为程序 赋予不同的级别,例如定义操作系统的特权级别最高 ,而用户应用程序级别最低,使操作系统不会转移到 可靠性差的用户程序模块中去,而用户程序则绝对不 能随意修改操作系统的数据,这样就保障了操作系统 的安全。 11.2.1 控制寄存器与存储器管理寄存器 nCR0CR4 共5个控制寄存器 qCR0实际上在80286 CPU中就已经开发,但当时只使用了它 的低位部份作为机器状态字MSW,在32位微处理器中它有 许多重要的新的定义。 qCR1 由80386/80486定义,但至今一直未使用,这是为今后 开发更新的产品所保留的资源,这样的设计考虑就为产品的 兼容性创造了条件。 qCR2是页故障线性地址寄存器,80386/80486即使用了该寄 存器。 qCR3的高位字用作存储器分页管理时页目录基地址寄存器, 低位字只使用了两位,80386/80486即使用了该寄存器。 qCR4则是奔腾新增加的控制寄存器。主要用于存储器的分页 管理与虚拟中断等一些增强功能。 表11.1 CR0CR4控制寄存器中各位的定义 表11.1 CR0CR4控制寄存器中各位的定义 存储器管理寄存器(Memory management registers) n全局描述表寄存器GDTR n中断描述表寄存器IDTR n局部描述表寄存器LDTR n任务寄存器TR n【说明】 qGDTR与IDTR在系统中是唯一的,由CPU内部寄存器来实 现,它们分别用于存放全局描述符表和中断描述符表的表格 基地址与段界即表格大小。 qLDTR与TR在系统中同局部任务相匹配,不是唯一的,每个 任务有各自的LDTR和TR,因此由内部高速缓冲存储器来实 现,用于存放各个任务的局部表格参数。 11.2.2 虚拟存储器 n保护模式与实模式的寻址方法有实质性的不同 。 虚拟存储器 n虚拟存储器是指磁盘等外部存储体,“虚拟”作 为主存储器使用。在保护模式下的虚拟地址空 间可以达到246=64TB。 q假设有以下传送指令: MOV ES:ABC_OFF, EAX 同实模式相比,该指令在保护模式下有以下明显差 别 n偏移量ABC_OFF可以是16位/32位,依16位/32位指令而 定 n段寄存器ES中装载的已不是段基地址,而是段选择器。 11.2.3 描述符表的概念 n描述符 在保护模式下,将虚拟存储器分成许 多大小不等的存储“段”,每个段都由一个8字 节长的描述符来描述,说明该段所处的基地址 位置,该段的大小,该段存放的内容是数据还 是指令代码?以及读/写等其他一些属性。 n描述符表 系统再将这些段描述符有机地组织 成线性表,这种表就称为描述符表。描述符表 分全局描述符表(Global Descriptor Table,GDT)与局部描述符表(Local Descriptor Table,LDT)两类。 描述符表的概念 n全局描述符表GDT 该表是面向系统全局的, 为系统中的各个任务共享,对应的存储器空间 一般处理公共数据、公用过程调用与中断过程 以及装载操作系统等。此外,该描述符表还包 括对各个局部描述符表的描述。在一个系统中 只有唯一的1个全局描述符表,因此GDT只需 有表格基地址和表格的大小就能在主存储器中 定位了。 描述符表的概念 n局部描述符表LDT 该表是面向具体任务的, 每个任务拥有一个独立的局部描述符表。同该 表对应的存储器空间存放着各自的代码与数据 ,达到各个任务在区域上实现隔离的目的。局 部描述符表不是唯一的,系统中有多少个任务 就有多少个局部描述符表,所以要完整地表征 LDT还要附加选择器,用它来表示当前选择的 是哪一个局部描述符表。 描述符表的概念 n描述符表寄存器 CPU内部拥有全局描述符表 寄存器GDTR,用它存放全局描述符表的表格 首地址与段界限大小,使GDT定位,通常情 况下都不会再改变它的位置。 q由于局部描述符表寄存器LDTR依系统中的具体任 务而定,不是唯一的,任务改变时当前LDT随之变 化,所以它们是通过段寄存器与描述符Cache寄存 器来实现的。段寄存器中存放当前LDT的选择器, 描述符Cache寄存器中则存放它的表格首地址、段 界限大小与属性等。不过对于用户而言一般不必担 心这些差别,系统会自动配置。 11.2.4 特权级及其保护 n所谓特权级是给存储器的每个段都附加了一个 访问权限属性,系统共分4个特权级,各个段 必须归属于这4个级别中的其中一个: q0级是访问权最高的特权级 q3级是访问权最低的特权级 q1级与2级的访问权介于0级与3级之间。 图11.3 奔腾系列的4级特权 特权级保护机制的原则性规定 n特权级高的代码段不能向特权级低的代码段转 移。 n例如,操作系统的代码段不能转移到用户应用程序 ,因为用户应用程序的安全性较操作系统差,有可 能导致系统崩溃。 n特权级低的代码段不能访问特权高的数据段。 n例如不能让用户应用程序访问操作系统的内部数据 ,因为应用程序对操作系统数据的修改是极其危险 的。 特权级保护机制的原则性规定 n特权级低的代码段可以访问特权高的代码段, 但必须经过闸门检查。 n例如用户程序可以调用操作系统内部的过程。这里 要特别指出的是,应用程序与操作系统不能使用同 一个堆栈,否则有可能在堆栈剩余空间不多时调用 内部过程而使堆栈溢出。因此它们都拥有各自的堆 栈段,而且堆栈段的特权级往往与执行程序的代码 段特权级相同,当代码段的特权级发生变化时,堆 栈段的特权级也随之变化。 特权级保护机制的原则性规定 n特权级高的程序代码段应能访问特权低的用户 数据段,以便提供数据交流。 n例如操作系统应能访问用户程序中的数据,由于是 用户数据段而不是用户程序段,因而对操作系统的 安全性不会造成严重的影响。 特权级保护机制的原则性规定 n所有的应用程序都使用最低的特权级,它们只 使用计算机而不是控制计算机。 n闸门又称控制门,它是通过执行转移指令、调 用指令和中断来实现的,从而产生了相应的转 移门、调用门和中断门等概念。执行这类指令 时,系统会进行一系列的保护性检查与判断, 确保安全转移。 11.2.5 段选择器与段描述符的结构 n保护模式下段寄存器是一个16位的段选择器 ,而不是一个段基地址。 qbit15bit3共13位作为在全局描述符表GDT或局部 描述符表LDT中搜索描述符的索引值。 qbit2是描述符表指示器TI,表示当前指向何种表格 ,为0指向GDT,为1则指向LDT, (可见这高14位都具有存储器地址属性。) q最低的2位bit1bit0表征当前的请求特权级RPL。 段描述符 n定义存储器段的基地址、段的大小以及段的属 性,每个段描述符都是由8个字节共64位组成 。全局描述表与局部描述符表中的描述符格式 是一致的 。 段描述符说明 n段基址是被描述段的起始地址,由最高位字节 、第4字节、第3字节与第2字节组成32位起始 地址,寻址空间达4G字节。 n段界限表示该段存储器空间的最大偏移量地址 ,由第6字节的低半个字节与最低的两个字节 组成,共20位,说明段界的最大值为1M。( 但它要与属性中的粒度G结合才能准确描述该 段的存储器空间容量。) 图11.6 由段描述符描述的存储段位置和大小 段描述符说明 n段属性控制对该段存储区的访问,系统对该段 的访问操作要根据段属性进行合法性检查,当 访问操作不符合段属性的要求时就会发生系统 异常中断。 q占第6的高半字节与第5字节共12位。段属性各位 的意义见表11.2。 表11.2 段属性的定义 特权级的进一步说明 nDPL(Descriptor Privilege Level)表示被描述段 的特权级。 n请求特权级RPL(Requested Privilege Level ),它是要求对该段进行修改的特权级值。 n当前特权级CPL(Current Privilege Level)的概 念,它是当前正在执行的代码段的特权级,也 就是CS寄存器中段选择器的最低2位bit1与 bit0之值。 q在多数情况下,CPL都等于RPL。 特权级的进一步说明 n在修改数据段寄存器时应该满足条件 DPLCPL。这就是说,被访问的数据段的特 权级必须低于(包括等于)当前代码段的特权级 。 q例如当前代码段的特权级CPL1,那么此时只能 访问DPL1,2或3的数据段,而不能访问DPL0 的数据段。 段界限的进一步说明 n段界限(Limit)并不能完整地反映被描述段 空间的实际大小,它必须与粒度G结合才能表 征一个段的实际空间。 q当粒度G=1选页时,一个段的最大空间可达1 M(最 大段界限)4096(页尺寸)=4 GB; q如果粒度G=0选字节,则一个段的最大空间仅为1 MB。 n可见仅从存储器管理的原理上讲,段的最小空 间可以是1个字节,只是没有多少实用意义而 已。 段界限的进一步说明 n当段界限以4K字节为单位时,实际的段界限 LIMIT可通过下面的公式从20 位段界限Limit计 算出来: LIMIT=limit*4K+0FFFH=(Limit SHL 12)+0FFFH 例11.2 设段基地址为10000000H,段 界为001FFH,计算粒度G0或1两种 情况下的段起始地址与段结束地址。 n段的起始
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国智能户外电视行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国时尚太阳眼镜行业商业模式及发展前景与投资报告
- 2025至2030中国方翅片管行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国数码摄像机行业产业运行态势及投资规划深度研究报告
- 2025至2030中国挤塑聚苯板行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国批量控制系统行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国微波炉袋行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国徒步旅行干粮行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国弹簧床垫行业发展趋势分析与未来投资战略咨询研究报告
- 动物保护演讲词演讲稿6篇
- 2025年湖南省中考英语试卷真题(含答案)
- 2024年司法局司法辅助岗招聘考试笔试试题(含答案)
- 2025年人力资源管理师考试试卷及答案
- 2025-2030中国空调行业发展分析及发展趋势预测与投资风险研究报告
- 储能站施工组织设计施工技术方案(技术标)
- 楼梯 栏杆 栏板(一)22J403-1
- 2024年河南省豫地科技集团有限公司招聘笔试参考题库含答案解析
- 2024年山西焦煤西山煤电集团招聘笔试参考题库含答案解析
- 2023北京第二次高中学业水平合格性考试信息技术试卷试题(答案详解)
- MD11使用说明书
- 企业职务犯罪法制讲座.ppt
评论
0/150
提交评论