




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第四章Pentium存储管理 2 4 1概述 存储管理是指主存管理 包括给进程分配主存片段 收回进程释放的主存片段 为分配出去的主存片段提供保护与共享 以及为作业提供一个虚拟的存储空间 存储管理的功能主要分为内存分配 地址转换 存储保护和内存扩充四部分 存储管理是一个硬件机制 3 存储管理是由分段存储管理和分页存储管理组成 分段部件将一个已被分段的地址 也称逻辑地址 转换成一个连续不分段的地址空间 有时也将其称之为线性地址 分页部件通过把数据的一部份保持在存储器中 一部分保持在磁盘上 从而允许访问大于可用存储器空间的数据结构 如分页被使能 分页机制的硬件把线性地址转换为物理地址 如分页未被使能 则线性地址即被用作物理地址 4 分段使存储器成为完全非结构的和简单的 像8位处理器的存储器模型一样 对段的访问由数据控制 该数据描述它的长度 为访问它所需要的特权级 可以对它作的存储器引用的类型 取指令 堆栈推入和弹出 读操作 写操作 等等 以及它是否存在于存储器中 5 4 2存储器组织处理器在它的总线上寻址的存储器称为物理存储器 物理存储器按字节序列组织 每个字节赋予一个唯一的地址 称为物理地址 6 三种操作模式 实地址模式 realmode 保护模式虚拟8086模式 7 实地址模式采用段式实存或单一连续分区 不区分特权级 不能启用分页机制 只能寻址1MB地址空间 保护模式下采用分段机制并可启用分页机制进行地址转换 共有段式虚存 页式虚存 段页式虚存三种内存管理模式 虚拟8086模式是在保护方式下对实模式的仿真 允许多个8086应用程序同时在386以上CPU上运行 8 图4 1实模式下的地址转换 4 2 1实模式下的存储器组织 9 段选择器 偏移地址 线性地址 分页 物理地址 GDTR LDTR 段描述符 8字节 150310 索引号 8310310 描述符表32位20位12位GDT LDT描述符寄存器图4 3保护模式下的地址转换 4 2 2保护模式下的存储器组织 10 4 2 3虚拟8086模式下的存储器组织虚拟8086模式就是要实现在保护模式下运行实模式的程序 Pentium的虚拟8086模式有两种版本 一是80386 80486兼容型的 二是增强型的 该版本的功能比兼容版本强 11 XXXX 0000XXXX 000XXXX00FFFF属性 000XXXXX 物理地址 分页 段选择器偏移地址00000000 150310 基地址 16310 边界 线性地址 描述符寄存器 基地址边界图4 4虚拟8086模式下的地址转换 12 4 3保护方式的分段模型4 3 1平面模型最简单的存储管理模型 所有的段都被映象到整个物理地址空间 段的偏移量既可以是以代码区为基准 也可以以数据区为基准 13 段由段描述符定义 在此方式下 至少要两个段描述符 一个是在访问指令代码时使用 另一个则是在访问数据时使用 注意 这两个段描述符的基地址值是一样的 在段描述符内 拥有这个段的基地址 段的大小 段的界限 段的属性等基本信息 访问的控制信息 开始运行时总是以物理地址0FFFFFFF0H开始 所以总是将只读存储器ROM安排在物理地址空间的顶端位置上 又由于数据段DS最初的基地址是在复位之后被初始化成0 所以把随机存储器RAM安排在物理地址空间的底部 14 15 4 3 2带保护的平面模型保护方式下的平台存储管理方式与上述的平台管理方式极其相似 只是前者的段界只能是实际存储器的地址范围 16 17 4 3 3多段模型最完善的模型是多段模型 对Pentium微处理机来说 最常用也是最成熟的一种存储管理方式要算是多段存储管理方式了 该模型使用了分段机制的全部功能 18 19 4 4Pentium段的转换系统给出的地址以及程序给定的地址都是逻辑地址 逻辑地址是由用来指示这个段的一个16位段选择符 segmentselector 和一个只能在这个段内使用的32位偏移量 offset 组成 20 21 4 4 1段寄存器及段描述符高速缓存器 图4 10Pentium段寄存器及段描述符高速缓存器 22 装入这些寄存器的操作是一些用于应用程序的指令 这些指令有两类 直接装入指令 例如MOV POP LDS LES LSS LGS和LFS指令 这些指令显式引用段寄存器 隐式装入指令 例如CALL和JMP指令的远指针格式 作为其功能的非主要部分 这些指令要改变CS寄存器的内容 23 1 段选择符位15 位3是LDT和GDT的入口号 INDEX索引字段 选择描述符表中8192个描述符之一 处理器用8乘以Index的值 并且把结果加到描述符表的基地址上 实际上 段寄存器保存着相对于描述符表起始处的线性地址 位2 TI表指示符 指出该索引字段是来自全局描述符表寄存器 GDTR 或者是局部描述符表寄存器 LDTR 如图4 12所示 该位清零选择GDT 置1选择当前LDT 位1 位0 RPL请求者特权级 指明该段的特权级 图4 11段选择符 24 25 2 段描述符段描述符是存储器中的一个数据结构 是描述一个段的大小 地址及各种状态的8个字节的结构 在编程时它可以被定义 描述符通常由编译程序 链接程序 装入程序或操作系统建立 而不是由应用程序建立 26 图4 13段描述符的组成 27 描述符分类 根据描述符所描述对象的不同 描述符可分为存储段描述符 系统段描述符 门描述符三种 而门描述符又可分为调用门 任务门 中断门和陷阱门四类 28 4 4 2段描述符表一个任务会涉及多个段 每个段需要一个描述符来描述 为了便于组织管理 Pentium微处理机把描述符组织成线性表 由描述符组成的线性表称为描述符表 29 分类 全局描述符表GDT局部描述符表LDT中断描述符表IDT 30 全局描述符表GDT含有每一个任务都可能或可以访问的段的描述符 通常包含描述操作系统所使用的代码段 数据段和堆栈段的描述符 包含多种特殊数据段描述符 如各个用于描述任务LDT的特殊数据段等 在任务切换时 并不切换GDT 全局描述符表中的第一项不用 索引字段的值为0 常被当成空选择符 nullselector 31 每个任务的局部描述符表LDT含有该任务自己的代码段 数据段和堆栈段的描述符 包含该任务所使用的一些门描述符 如任务门和调用门描述符等 随着任务的切换 系统当前的局部描述符表LDT也随之切换 32 图4 17描述符表 33 描述符表基址寄存器Pentium微处理机用全局描述符表寄存器GDTR和中断描述符表寄存器IDTR 来查找全局描述符表GDT和中断描述符表IDT 在装这两个寄存器或存储这两个寄存器的内容时 都要访问位于存储器中的48位的伪描述符 34 在对全局描述符表寄存器GDTR进行读写操作时 用装全局描述符表指令LGDT和存全局描述符表指令SGDT 在对中断描述符表寄存器IDTR进行读写操作时 用装中断描述符表指令LIDT和存中断描述符指令SIDT LLDT和SLDT指令写和读LDTR寄存器中的段选择符 35 4 5保护方式的页转换4 5 1分页功能为什么要进行分页管理例如硬盘与主内存之间交换数据以什么为基本单位 为了解次这个问题 从80386开始提出了分页管理的策略 页 是存储器与硬盘之间交换信息的基本单位 页的长度是固定的 为4K字节 发展到Pentium微处理机这一代CPU后 还增加了4M字节为一页的管理能力 因此适用于大系统 36 2 Pentium微处理机的页功能Pentium分页地址转换由CPU内的分页部件PU来实现 它将32位的线性地址转换成32位的物理地址 Pentium有两种分页方式PSE 0 每页4KB分页PSE 1 每页4MB分页 使用单级页表进行地址转换 37 1 4KB分页方式页管理部件将线性地址变换为物理地址 采用分层结构 Pentium采用两级页表方式 将线性地址相邻接的1K个页面组成一组 使用一个1K个表项构成页表 这一组页面 或说它们的页表 在页目录表中有一对应的页目录项 页目录表有1K个表项 采用两级表管理后 将32位地址分割成目录 页表与偏移量3段 38 图4 19页转换 39 图4 20页表 页目录表及其转换过程 40 例4 1假设线性地址是3C445566H CR3 11223000H 计算页目录项的物理地址 解 取线性地址的高10位作为页目录 求得0011110001B 乘以4 左移2位 作为页目录项指针 结果为001111000100B 3C4H 查找页目录项的物理地址 11223000H 3C4H 112233C4H例4 2设所查找到页表项中20位页面基地址是12345H 线性地址仍然取3C445566H解 转换后最终物理地址 12345000H 566H 12345566H 41 2 4MB分页方式对于大系统而言 4KB的页面就显得太小 而且系统运行的效率也不高 例如 调用一个1MB的视频缓冲区的数据 Pentium微处理机增加了一个4MB的大页面功能 当使用4MB页功能时 页内偏移量要占用22位 因此线性地址仅分割为目录与偏移量两个部分 取消了页表 42 目录页表12位偏移量 目录22位偏移量 4KB页的线性地址31222112110 4MB页的线性地址3122210 图4 22分页管理下的线性地址分割 43 图4 23Pentium4MB分页方式地址转换过程图 44 4 5 2控制寄存器的页属性与分页管理有关的内部控制寄存器 CR4 PSE位为页尺寸扩展 该位为1是4MB页 为0是4KB页 CR3 高端20位为页目录基地址的A3l A12 A11 A0则全部补0 CR0 PG化为页功能选择 该位为l表示使用分页功能 为0则禁止分页功能 CR2 仅当出现分页管理故障时 该寄存器才会发挥作用 它将引起故障的指令的线性地址保存下来 45 4 6保护方式的段和页转换的组合 图4 31段页式管理的原理框图 46 例4 3假设段管理部件已获得32位线性地址为04834056H 控制寄存器CR3中保存的页目录基地址的高20位为00005 试分析将线性地址转换为物理地址的寻址全过程 47 图4 33页管理部件地址变换的一个实例 48 页和分段系统有许多相似之处 但在概念上两者完全不同 主要表现在 1 页是信息的物理单位 分页是为实现离散分配方式 以消减内存的外零头 提高内存的利用率 或者说 分页仅仅是由于系统管理的需要 而不是用户的需要 段是信息的逻辑单位 它含有一组其意义相对完整的信息 分段的目的是为了能更好的满足用户的需要 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专业设置管理办法修订
- 中国环境监察管理办法
- 个人项目备案管理办法
- 人防方案编制管理办法
- 计划统计岗位管理办法
- 行业大数据管理办法
- 专业团队队员管理办法
- 业主入住项目管理办法
- 《校车安全管理办法》
- nike投诉管理办法
- 寻找消失的滇缅路:松山战痕课件
- 中小学教师职业道德规范解读
- 社会组织管理概论全套ppt课件(完整版)
- 政府预算理论与实务(第四版)全套教学课件
- 四年级上册美术课件第1课 送给老师的花|沪教版
- 轧机设备安装施工方案
- 最新开工报告范文
- 制药企业仓库温湿度分布的验证
- GB∕T 3099.4-2021 紧固件术语 控制、检查、交付、接收和质量
- 山东临清实验中学2012学年八年级语文 7课背影共3课时教案(表格版) 人教新课标版
- 深圳牛津小学英语单词汇总
评论
0/150
提交评论