网站大量收购独家精品文档,联系QQ:2885784924

第3章 内存寻址-2.ppt

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

内存寻址-页表项格式 P:位0是存在(Present)标志,用于指明表项对地址转换是否有效。 P=1表示有效; P=0表示无效。 在页转换过程中,如果说涉及的页目录或页表的表项无效,则会导致一个异常。如果P=0,那么除表示表项无效外,其余Bit位可供程序自由使用,见前图所示。例如,操作系统可以使用这些位来保存已储存在磁片上的页面的序号。 内存寻址-页表项格式 R/W:位l是读/写(Read/Write)标志。 如果等于l,表示页面可以被读、写或执行。 如果为0,表示页面只读或可执行。当处理器执行在超级用戶特权级(级別0、l或2)时,则R/W位不起作用。页目录项中的R/W位对其所映射的所有页面起作用。 U/S:位2是用戶/超级用戶(User/Supervisor)标志。 如果为1,那么执行在任何特权级上的程序都可以存取该页面 如果为0,那么页面只能被执行在超级用户特权级(0、1或2)上的程序存取。页目录项中的U/S位对其所映射的所有页面起作用。 内存寻址-页表项格式 A:位5是已存取(Accessed)标志。 当处理器存取页表项映射的页面时,页表表项的这个标志就会被置为l。 当处理器存取页目录表项映射的任何页面时,页目录表项的这个标志就会被置为1。处理器只负责设置该标志,操作系统可通过定期地重定该标志来统计页面的使用情況。 D:位6是页面已被修改(Dirty)标志。当处理器对一个页面执行写操作时,就会设置对应页表表项的D标志。处理器并不会修改页目录项中的D标志。 AVL:该栏位保留专供程序使用。处理器不会修改这几个位,以后的升级处理器也不会。 内存寻址-虛拟储存 页目录和页表表项中的存在标志P为使用分页技术的虛拟储存提供了必要的支援。 若线性地址空间中的页面存在于物理内存中,则对应表项中的标志P=l,并且该表项中含有相应物理地址。 页面不在物理内存中的表项其标志P=0。 如果程序存取物理内存中不存在的页面,处理器就会产生一个缺页异常。此时操作系统就可以利用这个异常处理行程把缺少的页面从磁盘上调入物理内存中,并把相应物理地址存放在表项中。最后在返回程序重新执行引起异常的指令之前设置标志P =1. 内存寻址-虛拟储存 已存取标志A和已修改标志D可以用于有效地实现虛拟储存技术。通过周期性地检查和重定所有A标志,操作系统能够确定哪些页面最近沒有存取过。这些页面可以成为移出到磁盘上的候选者。 假设当一页面从磁盘上读入内存时,标志D=0,那么当页面再次被移出到磁盘上时,若D标志还是为0,则该页面就无需被写入磁盘中。 若此时D=l,则说明页面內容已被修改过,于是就必须将该页面写到磁盘上。 内存寻址-段的定义 段的基地址、段限长以及段的保护属性储存在一个称为段描述符(Segment Descriptor)的结构项中。在逻辑地址到线性地址的转换映射行程中会使用这个段描述符。 段描述符保存在内存中的段描述符表 (Descriptor table)中。段描述符表是包含段描述符号项的一个简单数组。前面介绍的段选择符即用于通过指定表中一个段描述符的位置来指定相应的段。 内存寻址-段的定义 即使利用段的最小功能,使用逻辑地址也能存取处理器地址空间中的每个字节。逻辑地址由16字节的段选择符号和32位的偏移量组成,见后图所示。 段选择符号指定字节所在的段,而偏移量指定该字节在段中相对于段基底地址的位置。处理器会把每个逻辑地址转换成线性地址。 线性地址是处理器线性地址空间中的32字节地址。与物理地址空间类似,线性地址空问也是平坦的4GB地址空间,地址范围从0到0xFFFFFFFF 。线性地址空间中含有为系统定义的所有段和系统表。 内存寻址-段的定义 逻辑地址到线性地址的变化过程 内存寻址-段的定义 为了把逻辑地址转换成一个线性地址,处理器执行以下操作: ⒈使用段选择符号中的偏移值(段索引)在GDT或LDT表中定位相应的段描述符号。(仅当一个新的段选择符号载入到段寄存器中时才需要这一步。) ⒉利用段描述符号检验段的访问权限和范围,以确保该段是可存取的并且偏移量位于段界限內。 ⒊把段描述符号中取得的段基底地址加到偏移量上,最后形成一个线性地址。 如果沒有开启分页,那么处理器直接把线性地址映射到物理地址(即线性地址被送到处理器地址总线上)。如果对线性地址空间进行了分页处理,那么就会使用二级地址转换把线性地址转换成物理地址。 内存寻址-段描述符表 段描述符表是段描述符的一个数组,见后图所示。描述符表的长度可变,最多可以包含8192个8字节描述符。 有两种描述符表: 全局描述符表GDT(Global descriptor table): 局部描述符表LDT(Local descriptor table)。 段描述符表结构 内存寻址-

文档评论(0)

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

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

1亿VIP精品文档

相关文档