欢迎来到天天文库
浏览记录
ID:46921919
大小:277.96 KB
页数:6页
时间:2019-11-30
《Intel微处理结构》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、个人收集整理仅供参考学习1.段寄存器CS(代码段),代码段是一个存储器区域,这里保存微处理器使用的代码(程序和过程)。代码段寄存器定义了存放代码的存储器段的起始地址。在实模式下工作时,它定义一个64KB存储器段的起始地址;在保护模式下工作时,它选择一个描述代码存储器起始地址和长度的描述符。对于8086~80286,代码段限制为64KB;80386和更高级型号的微处理器在保护模式下操作时,代码段限制为4GB。DS(数据段),数据段也是一段存储区域,容纳程序使用的大部分数据。可以通过偏移地址或者其他含有偏移地址的寄存器的内容寻址数据段里的数据。长度限制和代码
2、段一样。ES(附加段),是一个附加的数据段,为某些串指令存放目的数据。SS(堆栈段),堆栈段定义为堆栈的存储区。由堆栈段和堆栈指针寄存器确定堆栈段内当前的入口地址。BP寄存器也可以寻址堆栈段内的数据。FS和GS,是在80386,80486,Pentium~Pentium4微处理中增加的段寄存器,以便访问这两个附加的存储器段。2.实模式存储器寻址第一个1MB存储器称为实模式存储器(realmemory)或常规内存(conventionalmemory)。16位段+偏移寻址组合段偏移主要用途CSIP指令地址SSSP或BP堆栈地址DSBX,DI,SI,8位或1
3、6位数数据地址ES串指令的DI串目标地址默认的32位段+偏移寻址组合段偏移主要用途CSEIP指令地址SSESP或EBP堆栈地址DSEAX,EBX,ECX,EDX,EDI,ESI,8位或16位数数据指针ES串指令的EDI串目标地址FS无默认一般地址GS无默认一般地址3.保护模式存储器寻址在保护模式下,当寻址扩展内存里的数据和程序时,仍然使用偏移地址访问位于存储器段内的信息。两者的区别是,保护模式下的段地址不再像实模式那样由段寄存器提供。在原来存放段地址的段寄存器里含有一个选择子(selector),用于选择描述符表内的一个描述符。描述符(descripto
4、r)描述存储器段的位置、长度和访问权限。由于段寄存器和偏移地址仍然用于访问存储器,所以保护模式指令和实模式指令是完全相同的。两种模式的区别是微处理器访问存储器段时对段寄存器的解释不通。在80386及更高档型号的微处理器中,两种模式的另一个差别是:在保护模式下可以用32位数取代16位数。32位偏移地址允许微处理器访问长达4GB的段内的数据。装在段寄存器里的选择子从两个描述符表之一选择8192个描述符中的一个。段寄存器仍然选择一个存储器段,但不再像实模式那样直接选择而是间接选择。个人收集整理仅供参考学习段寄存器可以访问两个描述符表,一个包括全局描述符,另一个
5、包括局部描述符。全局描述符(globaldescriptor)包含适用于所有程序的段定义,而局部描述符(localdescriptor)通常用于唯一的应用程序。每个描述符表包含8192个描述符。每个描述符长8个字节。描述符的基地址(baseaddress)部分指示存储器段的起始位置。80386采用32位基地址,允许段起始于4GB存储器的任何地方。段界限(segmentlimit)包含该段中最大的偏移地址。80386的界限是20位。80386访问长度为1B-1MB之间或者4KB-4GB的存储器段。G位,即颗粒度(granularitybit)。如果G=0,
6、说明段的界限为00000H-FFFFFH(从0到1MB)。如果G=1,界限值要乘以4KB,界限为00000XXXH-FFFFFXXXH。G=1,则允许段的长度为4KB-4GB,以4KB为单位。AV位指示段有效(AV=1)或者段无效(AV=0)。D位指示在保护模式或者实模式下80386指令如何访问寄存器和存储器数据。若D=0,则指令与8086微处理器兼容,是16位指令。这意味着指令在默认方式下用16位偏移地址和16位寄存器,这种方式通常称为16位指令方式。若D=1,则指令是32位的。在默认情况下,32位指令模式家丁所有的偏移地址和寄存器都为32位。访问权限
7、字节(accessrightsbyte)控制着对保护模式中存储器段的访问。这个字节描述了段在系统中怎样起作用。访问权限字节始终全面地控制着段。如果是数据段,则指定起增长方向。入关段的增长超出了界限,则微处理器的程序就被中断,并给出一般保护错误。用户可以说明一个数据段是否为可写或写保护。个人收集整理仅供参考学习描述符是通过段寄存器从描述符表中选择的。上图是80386微处理器在保护模式操作期间的段寄存器内容。段寄存器包括13位的选择子字段、表选择(TI)位和请求优先级字段。13位的选择子可以从描述符表的8192个描述符中选择一个。TI位选择全局描述符表(TI
8、=0)或者局部描述符表(TI=1)。请求优先级(RPL)请求存储器段的访问优先级
此文档下载收益归作者所有