Chinaunix首页 | 论坛 | 博客
  • 博客访问: 820982
  • 博文数量: 97
  • 博客积分: 3042
  • 博客等级: 中校
  • 技术积分: 1610
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-21 11:48
文章存档

2015年(1)

2014年(3)

2013年(4)

2012年(43)

2011年(44)

2010年(2)

分类: LINUX

2012-02-27 16:35:16

保护模式存储器寻址允许访问装在第一个1M字节之上的数据和程序,就像访问第一个1M字节之内的存储器一样,寻址这个扩展的存储段,需要更改用于实模式存储寻址的段加偏移量寻址方案。此时,在存放段地址的地方,段地址里含有一个选择符,它选择一个描述符表里面的描述符,描述符描述存储段的地址,长度和访问权限。
 
段选择符和段描述符
装在段寄存器里面的描述符是全局描述符和局部描述符中的一个。描述符描述存储段的位置,长度和访问权限。段寄存器还是选择一个存储段,但不像实模式那样直接,而是采用间接方式。全局描述符表包含适用于所有程序的段定义,而据不描述符表一般适用唯一的应用程序。
 
 
描述符的基地址指针指示存储段的起始单元。对于80286微处理器,基地址是24位,所以段在16M字节存储器内任何地方开始,80386以上的微处理器则采用32位寻址,允许段在4G字节存储器内的任何单元开始。段界限包含该段的最大偏移量。80386以上,描述符包含G字段,表示颗粒度,若G=1界限长度是4K的倍数,因此界限值是和4K字节的乘积,这允许段长从4K字节开始,以4K为步长,直到4G字节。若G=0界限长度是1到1M。AV用于指示段有效。AV=1表示有效, AV=0表示无效。D位指示在保护模式或实模式下指令如何访问寄存器和内存数据。D=0, 指令是16位指令,意味着指令用16位偏移地址和缺省的16位寄存器。D=1使用32位指令。
访问权限字段控制对内存段的访问。这个字节描述段在系统中有哪些功能。
 
 
 
                       80286到Pentium描述符的访问权限字节
 
通过段寄存器从描述符表中选择描述符,段寄存器包括一个13位的选择符域,一个表选择位和一个请求特权级,详细含义见下图:
 
 
 
 
 
 
 
        
 
 
 
阅读(1948) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~