1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
h1-2 绪论2

1.2.3 保护模式存贮器分段管理 80286以上MPU可工作于保护模式。 保护模式下允许MPU访问1MB以上的数据和程序,段的最大长度可达4GB。 段寄存器不再直接存放段基址,而是存放指示段基址的选择符,间接指示段基址。 一.选择符 在保护方式下, 每个段寄存器中存放指示段基址的选择符。 选择符由三部分组成 : ·INDEX指示描述符在描述符表中的位置。 ·TI定义描述符表,置1,指示描述符在当前局部描述符表LDT中; 置0,指示描述符在全局描述符表GDT中。 ·RPL指示请求特权级0~3。 二、描述符 保护模式下,每个段的段信息称作段的描述符,记录对段的管理信息。 把描述符放入一个数据结构中,构成顺序排列的表,称作描述符表。 描述符是80x86存贮管理硬件管理64T字节虚拟地址空间分段的基本单位,一个描述符对应虚拟地址空间中的一个存储器段。可以将虚拟地址映像到线性地址。 描述符按照段的性质可分为三类:程序段描述符、系统段描述符和门描述符。 描述符格式: 63 56 55 54 53 52 51 48 47 46 45 44 43 40 39 16 15 0 (a)程序段描述符 (b)系统描述符 (c)门描述符 ·AV 段有效指示位,置1,指示段有效, 置0,指示段无效。 ·G 段界限长度单位标志 置1,指示界限长度以4K字节为单位,段长从4K字节开始,最大到4G字节。 置0,指示界限长度以字节为单位,段长从1字节开始,最大到1M字节。 ·D 指令模式标志 置1,为32位指令模式,使用32位偏移地址和缺省的32位寄存器。 置0,为16位指令模式,使用16位偏移地址和缺省的16位寄存器。 访问权限包括五个标志位: ·P 选择符有效指示位 置1,表示选择符定义的段在存储器中存在,描述符包含有效基地址和界限值; 置0,表示选择符定义的描述符没有意义。 ·DPL 设定描述符特权级0~3,0级最高,3级最低。一个任务可以访问相同或者低特权级的数据段;可以调用同特权级的程序,可以经过门间接访问更高特权级的段,但不可以执行低特权级的程序段。 ·DT 定义描述符 置1,表示程序段(代码或数据段)描述符; 置0,表示系统描述符或是门描述符。 · E,ED/C,W/R,A 位功能 (程序段描述符): 三.描述符表 把描述符组织成线性表,称作描述符表。 3种描述符表:全局描述符表GDT、 局部描述符表LDT、 中断描述符表IDT。 其在内存的位置(32位)和大小(16位)由系统地址寄存器(GDTR、LDTR、IDTR)指示。 描述符表界限采用16位二进制表示,表长可以达到64K字节,每个描述符占8个字节, 所以: 全局描述符表 最多存放8K个描述符 局部描述符表 中断描述符表——最多存放256个中断描述符 (80x86只支持256个中断和异常) 全局描述符表GDT:包含每个任务都可能或者可以访问的段描述符,通常包含操作系统及各个任务公共使用的代码段、数据段、堆栈段描述符,还包含了各个任务的TSS段描述符、LDT所在段描述符以及各种调用门和任务门描述符。 整个系统只设一个GDT。 全局描述符表在存储空间的位置由全局描述符表寄存器说明,GDTR中的高四个字节指示GDT在物理存储器中的起始地址。 局部描述符表LDT:用于描述局部存储器地址空间 ,包括与给定任务相关联的描述符,每个任务都有自己

文档评论(0)

gooddoc + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档