第二章80x86计算机组织_第1页
第二章80x86计算机组织_第2页
第二章80x86计算机组织_第3页
第二章80x86计算机组织_第4页
第二章80x86计算机组织_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1280X86处理器在硬件结构、指令系统方面均向上兼容。处理器在硬件结构、指令系统方面均向上兼容。 8086/8088 80286 80386 80486 Pentium 数据总线数据总线DB 准准16 16 32 32 64 地址总线地址总线AB 20 24 32 32 32 最大寻址最大寻址 1MB 16MB 4GB 4GB 4GB 时钟范围时钟范围(MHz) 4.77 616 1640 33120 66166 执行速度执行速度(MIPS) 0.05 0.40.8 34 2075 11228080X8680X86主要特征主要特征计算机组成计算机组成: 运算器、控制器、存储器、输入输出组织运

2、算器、控制器、存储器、输入输出组织3主要术语主要术语480X8680X86的寄存器结构的寄存器结构分为分为程序不可见寄存器程序不可见寄存器和和程序可见寄存器程序可见寄存器两大类:两大类:程序不可见寄存器程序不可见寄存器 一般应用程序中不使用而由系统使用的寄存器。一般应用程序中不使用而由系统使用的寄存器。 控制寄存器和系统地址寄存器控制寄存器和系统地址寄存器程序可见寄存器程序可见寄存器 可以由指令使用的寄存器,分为通用寄存器、专用寄存可以由指令使用的寄存器,分为通用寄存器、专用寄存 器和段寄存器三类。器和段寄存器三类。中央处理机中央处理机CPU的任务是执行存放在存储器里的指令序列的任务是执行存放

3、在存储器里的指令序列包括运算器、控制器和工作寄存器包括运算器、控制器和工作寄存器5 80X86的程序可见寄存器组的程序可见寄存器组 6通用寄存器:通用寄存器:EAX AX AH ALEBX BX BH BLECX CX CH CLEDX DX DH DLESI SIEDI DIEBP BP ESP SP 在在80386及其后继机型中,所有及其后继机型中,所有32位通用寄存器既可以存放数据,位通用寄存器既可以存放数据,也可以存放地址(也就是说,这些寄存器都可以用于存储器寻址)。也可以存放地址(也就是说,这些寄存器都可以用于存储器寻址)。在这在这8个通用寄存器中,每个寄存器的专用特性与个通用寄存器

4、中,每个寄存器的专用特性与8086/8088和和80286的的AX、BX、CX、DX、SP、BP、DI、SI是一一对应的:如是一一对应的:如EAX专用于专用于乘、除法和乘、除法和I/O指令,指令,ECX的计数特性,的计数特性,EDI和和ESI作为串处理指令专作为串处理指令专用的地址寄存器等。用的地址寄存器等。7专用专用寄存器:寄存器: EIP IP EFLAGS FLAGS80X86的标志寄存器的标志寄存器81。条件码标志位。条件码标志位OF(overflow flag)溢出标志)溢出标志SF(sign flag)符号标志)符号标志 ZF(zero flag)零标志)零标志CF(carry f

5、lag)进位标志)进位标志AF(auxiliary carry flag)辅助进位标志)辅助进位标志PF(parity flag)奇偶标志)奇偶标志2。控制标志位。控制标志位DF(direction flag)方向标志)方向标志3。系统标志位。系统标志位TF(trap flag) 陷阱标志陷阱标志 IF(interrupt flag) 中断标志中断标志9IOPL(I/O Privilege Level)I/O特权级特权级NT(Nested Task)嵌套任务标志)嵌套任务标志 RF(Resume Flag)重新启动标志)重新启动标志VM(Virtual 8086 Mode)虚拟)虚拟8086模

6、式位模式位AC(Alignment Check Mode)对准检查方式位)对准检查方式位VIF(Virtual Interrupt Flag)虚拟中断标志)虚拟中断标志VIP(Virtual Interrupt Pending Flag)虚拟中断未决标志)虚拟中断未决标志ID(Identification Flag) 标识标志标识标志 10段寄存器:段寄存器:CSDSSSESFSGS 附加数据段附加数据段 无缺省组合,必须加段前缀说明无缺省组合,必须加段前缀说明110000H0001H0002H0003H78H0004H56H0005H34H0006H12H0007H1EH5678H2FH56

7、79H567AH567BH字节字节单元 (0004) = 78H字单元 (0004) = 5678H双字单元 (0004) = 12345678H (0004H) = 5678H (5678H) = 2F1EH (0004H) = 2F1EH存储器12(1) 地址是存储单元的编号,在计算机中,地址是以二进制数的形式存在的,但为了方便,常用十六进制数书写。 (2) 在地址上加圆括号表示它的内容,读/写内存单元时,一定要指明是读/写字节单元还是字单元。字节单元的内容是一个字节,而字单元的内容是按“高高低低”原则存放的两个字节。字单元的地址一定是偶地址。 (3) 读存储单元的内容是执行复制操作,原来

8、的内容不变;写存储单元是执行覆盖操作,原来的内容不再存在。 13 存储单元的存储单元的20位真实地址称为物理地址,采用了段地址、位真实地址称为物理地址,采用了段地址、偏移地址方案后,物理地址可以按如下公司计算:偏移地址方案后,物理地址可以按如下公司计算: 物理地址物理地址=(段寄存器段寄存器)10H + 偏移地址偏移地址偏移地址也叫有效地址。偏移地址也叫有效地址。 完整地址的表示:段加偏移地址通常写成完整地址的表示:段加偏移地址通常写成1000:2000的形的形式,表示段地址式,表示段地址1000与偏移与偏移2000H。这种形式的地址称为完整。这种形式的地址称为完整地址。地址。 实模式寻址实模

9、式寻址14 偏移地址F000H的单元的地址为: 1000*10H + F000H = 1F000H15 8086-80286允许四个存储段,80386 以上的处理器允许六个存储段。图中表示一个包括4个存储段的系统。一个程序可以有多于4个或6个段,但每次只能访问4个或6个段。假定应用程序要求1000H个字节存储器给它的代码(代码段),190H个字节存储器给数据(数据段),200H个字节存储器给它的堆栈(堆栈段)。操作系统将程序装入内存时,根据程序的定位方式自动对程序进行定位,并不是一个程序段(或称为逻辑段)都必须占用64KB的内存段(或称为物理段),而是根据逻辑段的大小和定位方式给程序段进行定位

10、,并分配64KB以内的存储空间。 16保护模式下的保护模式下的8080X86X86(1) 保护模式存储器寻址保护模式存储器寻址 提供提供4GB或更多的地址空间或更多的地址空间 支持多任务处理功能支持多任务处理功能 支持虚拟存储器特性支持虚拟存储器特性 保护模式存储器寻址示意图保护模式存储器寻址示意图 17(2) 描述符描述符 描述符的内容由系统设置,有描述符的内容由系统设置,有8 个字节长,用来说明段的大小、个字节长,用来说明段的大小、其在存储器中的位置及控制和状态信息。其在存储器中的位置及控制和状态信息。 (1) 80286描述符描述符 (2) 80386/80486和和Pentium描述符

11、描述符 18描述符描述符由由基地址基地址、界限界限、访问权访问权等部分组成等部分组成基地址基地址(Base):):80386以上处理器的基地址为以上处理器的基地址为32位,说明段可以从位,说明段可以从4GB存储器存储器 的任何地址开始。的任何地址开始。界限界限(Limit):): 存放该段的长度,存放该段的长度,80386及其后继机型的界限部分为及其后继机型的界限部分为20位。位。粒度位粒度位G(Granularity):): 当当G=0时,段长的粒度单位为字节,时,段长的粒度单位为字节,20位段界限可使段长从位段界限可使段长从1B1MB,步距为,步距为1B;当当G=1时,段长的粒度单位为页,

12、每页为时,段长的粒度单位为页,每页为4KB,所以,所以20位段界限可定义的段长从位段界限可定义的段长从 4KB4GB,步距为,步距为4KB。19访问权访问权(Access rights):说明该段在系统中的功能,并给出访问该段的一些):说明该段在系统中的功能,并给出访问该段的一些 控制信息。控制信息。P(Present)存在存在位:位: P=1 说明该段已装入物理存储器,其基地址和界限值有效;说明该段已装入物理存储器,其基地址和界限值有效; P=0 说明该段并未装入物理存储器,基地址和界限值无用,说明该段并未装入物理存储器,基地址和界限值无用, 如访问该段会引起不存在异常。如访问该段会引起不存

13、在异常。DPL(Descriptor Privilege Level)描述符特权级描述符特权级字段:用来指定该段的特权级字段:用来指定该段的特权级03, 0级为最高特权级。在级为最高特权级。在保护模式保护模式下,当访问某段时,必须进行特权测试,下,当访问某段时,必须进行特权测试, 根据其特权级的高低来决定是否允许访问该段。一般系统程序处于根据其特权级的高低来决定是否允许访问该段。一般系统程序处于0级,级, 用户程序处于用户程序处于3级。级。S(Segment Descriptor)段描述符段描述符位:位: S=0 表示该段为系统段;表示该段为系统段; S=1 表示该段为应用程序的代码段或数据(

14、包括堆栈)段。表示该段为应用程序的代码段或数据(包括堆栈)段。 访问权字节访问权字节020E(Executable)可执行可执行位:位: E=0 说明该段为不可执行段,即数据段;说明该段为不可执行段,即数据段; E=1 说明该段为可执行段,即代码段。说明该段为可执行段,即代码段。ED(Expansion Direction)扩展方向扩展方向位:位: ED=0 表示该段为向上扩展段,指数据段;表示该段为向上扩展段,指数据段; ED=1 表示该段为向下扩展段,指堆栈段。表示该段为向下扩展段,指堆栈段。C(Conforming)符合符合位:位: C位为位为1的代码段称为符合(的代码段称为符合(Con

15、forming)段,这种段允许特权级与它相同)段,这种段允许特权级与它相同或特权级比它低的程序调用或通过或特权级比它低的程序调用或通过JMP指令转入;指令转入; C位为位为0的代码段称为非符合(的代码段称为非符合(Non-conforming)段,低特权级的程序对高特)段,低特权级的程序对高特权级的非符合段的调用或转入将产生保护异常。权级的非符合段的调用或转入将产生保护异常。 系统就采用这种方法把一些常用的例行程序放在系统就采用这种方法把一些常用的例行程序放在C=1的代码段中,使它们可的代码段中,使它们可以方便地为不同特权级的程序所共享。以方便地为不同特权级的程序所共享。W(Writeable

16、)可写可写位:位: W=0 指示数据段不能写入;指示数据段不能写入; W=1 指示数据段可以写入,在堆栈段的情况下指示数据段可以写入,在堆栈段的情况下W必须为必须为1。R(Readable)可读可读位:位: R=0 指示代码段只能执行不能读出;指示代码段只能执行不能读出; R=1 指示代码段既可执行又可读出,在某些特殊情况下有一些常数指示代码段既可执行又可读出,在某些特殊情况下有一些常数 和指令码放在一起,此时系统可以利用这一特性提供读出这些和指令码放在一起,此时系统可以利用这一特性提供读出这些 常数的方法。常数的方法。21A(Accessed)已访问已访问位:位: A=0 表示该段尚未被访问

17、过;表示该段尚未被访问过; A=1 表示该段已被访问过。表示该段已被访问过。 该位的设立便于软件对段使用情况进行监控。该位的设立便于软件对段使用情况进行监控。G(Granularity)粒度粒度位位: G=0 段长的粒度单位为字节,段长的粒度单位为字节,20位段界限可使段长从位段界限可使段长从1B1MB,步距为,步距为1B; G=1 段长的粒度单位为页,每页为段长的粒度单位为页,每页为4KB,20位段界限可定义的段长从位段界限可定义的段长从4KB4GB, 步距为步距为4KB。D/B位:在位:在代码段代码段里,这位称为里,这位称为D(Default operation size) 缺省操作长度缺

18、省操作长度位。位。 D=1 表示操作数及有效地址长度均为表示操作数及有效地址长度均为32位;位; D=0 表示操作数及有效地址长度均为表示操作数及有效地址长度均为16位。位。 在在数据段数据段里,这位称为里,这位称为B位,它控制了两个有关堆栈的操作。其一控制堆栈指针位,它控制了两个有关堆栈的操作。其一控制堆栈指针寄存器寄存器SP的长度:的长度:B=1使用使用32位位ESP寄存器;寄存器;B=0使用使用16位位SP寄存器。其二指示向下扩展寄存器。其二指示向下扩展的堆栈的上界限值。的堆栈的上界限值。AVL(Available)可用可用位:该位只能由系统软件使用。位:该位只能由系统软件使用。22(3

19、) 选择器和描述符表选择器和描述符表 描述符存放在描述符存放在描述符表描述符表中,描述符表都存放在存储器中,每个表分别构成一个中,描述符表都存放在存储器中,每个表分别构成一个64KB长的段,表中可存放长的段,表中可存放8K描述符,一共有三种描述符表:描述符,一共有三种描述符表:全局描述符表全局描述符表(GDT):包含系统所有任务都可用的描述符):包含系统所有任务都可用的描述符局部描述符表局部描述符表(LDT):包含与一个给定任务有关的描述符):包含与一个给定任务有关的描述符中断描述符表中断描述符表(IDT):通过门描述符可寻址到相应的中断处理程序入口):通过门描述符可寻址到相应的中断处理程序入

20、口 选择器选择器(Selector)存放在段寄存器中,)存放在段寄存器中,16位长,其格式如下:位长,其格式如下: RPL:请求特权级请求特权级,这是对该存储段请求访问的特权级,其值可为,这是对该存储段请求访问的特权级,其值可为03,0级特权级级特权级最高。如最高。如RPLDPL(请求特权级高于等于描述符特权级)则允许对该段的访问。(请求特权级高于等于描述符特权级)则允许对该段的访问。TI (Table Indicator) :为选择位,:为选择位,TI=0 指示从全局描述符表指示从全局描述符表GDT中选择描述符;中选择描述符; TI=1指示从局部描述符表指示从局部描述符表LDT中选择描述符。

21、中选择描述符。 INDEX:给出描述符表中所选描述符的地址。该字段共:给出描述符表中所选描述符的地址。该字段共13位,可从表中位,可从表中8K个描述符个描述符 中选取一个。中选取一个。TI23图图 保护模式存储器寻址保护模式存储器寻址 24(4) 问题问题 *选择器给出了描述符表中的描述符地址,那么描述符表又选择器给出了描述符表中的描述符地址,那么描述符表又在哪里?在哪里?* 保护模式的寻址要间接地取得存储器的地址(要增加一次保护模式的寻址要间接地取得存储器的地址(要增加一次对存储器的访问),怎样保证系统的运行速度?对存储器的访问),怎样保证系统的运行速度? 25GDTR 全局描述符表寄存器全

22、局描述符表寄存器IDTR 中断描述符表寄存器中断描述符表寄存器LDTR 局部描述符表寄存器局部描述符表寄存器TR 任务寄存器任务寄存器存放对应描述符表的基地址和界限值存放对应描述符表的基地址和界限值26高速缓冲存储器高速缓冲存储器(cache) : 为提高存储器速度而在存储器组织中增加的一个层次,其容量比主存储器为提高存储器速度而在存储器组织中增加的一个层次,其容量比主存储器小很多,但速度比主存储器快很多。计算机工作时,把当前经常使用的那部分小很多,但速度比主存储器快很多。计算机工作时,把当前经常使用的那部分存储器内容提前取出,存放在存储器内容提前取出,存放在cache中。中。CPU 工作时,

23、可直接访问工作时,可直接访问cache,以便,以便使存储器的速度更好地与使存储器的速度更好地与 CPU 相匹配。在保护模式下,为提高访存速度采用相匹配。在保护模式下,为提高访存速度采用了了cache。 当段寄存器中装入一个新的选择器时,系统从描述符表中取出所选描述符当段寄存器中装入一个新的选择器时,系统从描述符表中取出所选描述符并装入与该并装入与该段寄存器段寄存器相对应的相对应的描述符描述符cache中,此后对该存储段的访问均直接中,此后对该存储段的访问均直接从从cache中取得描述符而不必再次访问存储器。这一过程一直延续到段寄存器中取得描述符而不必再次访问存储器。这一过程一直延续到段寄存器的内容改变为止。的内容改变为止。 LDTR/TR的工作方式和段寄存器类似。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论