《(精品)第4章INTEL80X86系列微处理器.ppt》由会员分享,可在线阅读,更多相关《(精品)第4章INTEL80X86系列微处理器.ppt(86页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第1页第第4章章 Intel80X86 系列微处理器系列微处理器l4.1 8086/8088 4.1 8086/8088 微处理器概述微处理器概述l4.2 8086/8088 4.2 8086/8088 内部寄存器结构内部寄存器结构l4.3 8086/8088 4.3 8086/8088 的存储器组织和的存储器组织和I/OI/O组织组织l4.4 8086/8088 4.4 8086/8088 的内部结构的内部结构l4.5 8086/8088 4.5 8086/8088 外特性外特性引脚信号及其功能引脚信号及其功能l4.6 8086/8088 4.6 8086/8088 最小工作模式及其系统结构
2、最小工作模式及其系统结构l4.7 8086/8088 4.7 8086/8088 最大工作模式及其系统结构最大工作模式及其系统结构l4.8 8086/8088 4.8 8086/8088 总线时序总线时序l4.9 INTEL 80286 4.9 INTEL 80286 到到 Pentium CPUPentium CPU第2页4.1 8086/8088 微处理器概述微处理器概述 l1978年年Intel公司推出了首枚公司推出了首枚16位微处理器位微处理器8086,以后英特尔生产的,以后英特尔生产的80X86系列微处理器,均与其兼容。系列微处理器,均与其兼容。l1979年年Intel公司推出了成本
3、较低的公司推出了成本较低的Intel8088微处理器。微处理器。l1981年年IBM公司选择公司选择8088微处理器作为核心来设计微处理器作为核心来设计IBM PC微计算机微计算机系统,推向市场后获得了巨大的成功,为后来的系统,推向市场后获得了巨大的成功,为后来的80 x86系列微处理器系列微处理器成为主流微计算机的处理核心打下了基础。成为主流微计算机的处理核心打下了基础。第3页4.1 8086/8088 微处理器概述微处理器概述 第4页4.2 8086/8088 内部寄存器结构内部寄存器结构 l了解了解CPU内部寄存器结构并掌握其使用方法是进行汇编语言程序设计内部寄存器结构并掌握其使用方法是
4、进行汇编语言程序设计的关键和基础。的关键和基础。l8086/8088 内部有内部有14个个16位的寄存器,可供程序直接使用。位的寄存器,可供程序直接使用。l按功能分为三组:通用寄存器组(按功能分为三组:通用寄存器组(8个)、段寄存器组(个)、段寄存器组(4个)和控制个)和控制寄存器组(寄存器组(2个)。个)。第5页第6页4.2 8086/8088 内部寄存器结构内部寄存器结构 l4.2.1 通用寄存器组通用寄存器组l4.2.2 段寄存器组段寄存器组l4.2.3 控制寄存器组控制寄存器组第7页4.2.1通用寄存器组通用寄存器组 1数据寄存器数据寄存器2地址指针和变址寄存器地址指针和变址寄存器 8
5、086/8088 CPU 8086/8088 CPU有有8 8个通用寄存器。这个通用寄存器。这8 8个寄存个寄存器可以分为两类:数据寄存器和地址指针与变址器可以分为两类:数据寄存器和地址指针与变址寄存器。寄存器。第8页一、数据寄存器一、数据寄存器 l数据寄存器包括数据寄存器包括4个个16位寄存器位寄存器AX、BX、CX和和DX,通常,通常用于存放参与运算的操作数和运算结果。用于存放参与运算的操作数和运算结果。l每一个数据寄存器又可将高、低每一个数据寄存器又可将高、低8位分别作为两个独立的位分别作为两个独立的8位寄存器使用。它们的高位寄存器使用。它们的高8位分别记作位分别记作AH、BH、CH、D
6、H,低,低8位分别记作位分别记作AL、BL、CL、DL。第9页二、地址指针和变址寄存器二、地址指针和变址寄存器 地址指针和变址寄存器包括地址指针和变址寄存器包括4 4个个1616位寄存器位寄存器SPSP、BPBP、SISI和和DIDI。它们主。它们主要是用来存放或指示操作数的偏移地址。其中要是用来存放或指示操作数的偏移地址。其中SPSP、BPBP为地址指针寄存器,为地址指针寄存器,SISI、DIDI为变址寄存器。为变址寄存器。1.1.SPSP堆栈指针:堆栈指针:存放堆栈栈顶的偏移地址。堆栈操作指令存放堆栈栈顶的偏移地址。堆栈操作指令PUSHPUSH和和POPPOP根根据该寄存器得到操作数的偏移
7、地址。据该寄存器得到操作数的偏移地址。2.2.BPBP基址寄存器:基址寄存器:存放堆栈中数据的偏移地址。存放堆栈中数据的偏移地址。3.3.SISI源变址寄存器:源变址寄存器:用来存放源数据区的偏移地址。用来存放源数据区的偏移地址。4.4.DIDI目标变址寄存器:目标变址寄存器:用来存放目的数据区的偏移地址。用来存放目的数据区的偏移地址。所谓变址寄存器,是指它存放的地址在串操作指令中可以按照要求所谓变址寄存器,是指它存放的地址在串操作指令中可以按照要求自动增加自动增加/减少。减少。第10页4.2.2 段寄存器组段寄存器组 l8086/8088 CPU的存储器采用分段管理,为此,的存储器采用分段管
8、理,为此,8086/8088 内部设置了内部设置了4个个16位的段寄存器,位的段寄存器,CS代码段寄代码段寄存器、存器、DS数据段寄存器、数据段寄存器、SS堆栈段寄存器和堆栈段寄存器和ES附加段寄附加段寄存器,分别用于存放代码段、数据段、堆栈段和附加段的存器,分别用于存放代码段、数据段、堆栈段和附加段的段基地址。段基地址。l关于这关于这4个寄存器的使用详见个寄存器的使用详见“4.3 8086/8088 的存储器的存储器组织和组织和I/O组织组织”。第11页4.2.3 控制寄存器组控制寄存器组1IP指令指针指令指针2FLAGS标志寄存器标志寄存器 8086/8088 CPU 8086/8088
9、CPU包含包含2 2个个1616位的控制寄存器:指令指针位的控制寄存器:指令指针IPIP和标志寄存器和标志寄存器FLAGSFLAGS。第12页一、一、IP 指令指针指令指针lIP 用于存放下一条要执行的指令的偏移地址。程序运行中,用于存放下一条要执行的指令的偏移地址。程序运行中,IP 的内容自动修改,始终指向下一条要执行的指令地址。的内容自动修改,始终指向下一条要执行的指令地址。lIP 起着控制指令执行流程的作用,是一个十分重要的控制起着控制指令执行流程的作用,是一个十分重要的控制寄存器。正常情况下,程序不能直接修改寄存器。正常情况下,程序不能直接修改 IP的内容,但当的内容,但当需要改变程序
10、执行顺序时,如遇到中断指令或调用指令时,需要改变程序执行顺序时,如遇到中断指令或调用指令时,IP 中的内容将被自动修改。中的内容将被自动修改。第13页二、二、FLAGS 标志寄存器标志寄存器 lFLAGS 用于存放指令执行结果的特征和用于存放指令执行结果的特征和 CPU 工作方式。工作方式。其内容通常称为处理器状态字其内容通常称为处理器状态字(Processor Status Word,PSW)。lFLAGS 是一个是一个16位寄存器,实际使用了位寄存器,实际使用了9位。位。l9个标志分为个标志分为状态标志状态标志和和控制标志控制标志两类。两类。第14页图图4.3 4.3 标志寄存器标志寄存器
11、第15页1、状态标志、状态标志 CFCF:进位标志。有进位或借位时,:进位标志。有进位或借位时,CF=1CF=1;否则;否则 CF=0CF=0。PFPF:奇偶标志。低:奇偶标志。低8 8位有偶数个位有偶数个“1 1”,PF=1PF=1;否则;否则 PF=0PF=0。AFAF:辅助进位标志。:辅助进位标志。D D3 3位有进位或借位时,位有进位或借位时,AFAF1 1;否则;否则AFAF0 0。ZFZF:零标志。结果为零,:零标志。结果为零,ZFZF1 1;否则;否则 ZFZF0 0。SFSF:符号标志。结果为负数,:符号标志。结果为负数,SFSF1 1;否则;否则 SFSF0 0。OFOF:溢
12、出标志。:溢出标志。发生溢出,发生溢出,OFOF1 1;否则;否则 OFOF0 0。6个状态标志位用来表示运算结果的特征。状态标志位个状态标志位用来表示运算结果的特征。状态标志位的置位或清零,由的置位或清零,由CPUCPU根据运算过程和运算结果自动设置。根据运算过程和运算结果自动设置。第16页2、控制标志、控制标志 3 3个控制标志是用来控制个控制标志是用来控制CPUCPU的工作方式的标志。的工作方式的标志。IFIF:中断允许标志中断允许标志。用来控制对外部可屏蔽中断的响应。如果。用来控制对外部可屏蔽中断的响应。如果IFIF1 1,则允许,则允许CPUCPU响应外部可屏蔽中断请求;否则响应外部
13、可屏蔽中断请求;否则CPUCPU不响应外部可屏蔽中不响应外部可屏蔽中断请求。断请求。DFDF:方向标志方向标志。用来控制串操作指令的执行。如果。用来控制串操作指令的执行。如果DFDF1 1,则串操作,则串操作指令的地址自动减量修改,串数据的传送过程是从高地址到低地址进指令的地址自动减量修改,串数据的传送过程是从高地址到低地址进行;否则,串操作指令的地址自动增量修改,串数据的传送过程是从行;否则,串操作指令的地址自动增量修改,串数据的传送过程是从低地址到高地址进行。低地址到高地址进行。TFTF:陷阱标志陷阱标志,又称,又称单步标志单步标志。当。当TFTF1 1时,微处理器就进入单步工时,微处理器
14、就进入单步工作方式,每执行完一条指令便自动产生一个内部中断作方式,每执行完一条指令便自动产生一个内部中断(称为单步中断称为单步中断),转去执行一个中断服务程序,可以借助中断服务程序来检查每条指,转去执行一个中断服务程序,可以借助中断服务程序来检查每条指令的执行情况;如果令的执行情况;如果TFTF0 0,则,则CPUCPU正常正常(连续连续)执行指令。执行指令。第17页4.3 8086/8088 的存储器组织和的存储器组织和I/O组织组织l4.3.1 存储器的分段管理存储器的分段管理l4.3.2 物理地址与逻辑地址物理地址与逻辑地址l4.3.3 物理地址的形成物理地址的形成l4.3.4 堆栈堆栈
15、l4.3.5 存储器组织存储器组织l4.3.6 I/O组织组织第18页4.3.1存储器的分段管理存储器的分段管理 l为了实现对为了实现对1MB1MB单元的寻址,单元的寻址,8086/80888086/8088系统采用了系统采用了存储器存储器分段技术分段技术。l存储器分段技术具体实现方法是:存储器分段技术具体实现方法是:将将1MB1MB的存储空间分成的存储空间分成许多逻辑段,每段最长许多逻辑段,每段最长64K64K字节单元,段内可以使用字节单元,段内可以使用1616位位地址码进行寻址。每个逻辑段在实际存储空间中的位置是地址码进行寻址。每个逻辑段在实际存储空间中的位置是可以浮动的可以浮动的,逻辑段
16、的起始地址可由段寄存器的内容来确逻辑段的起始地址可由段寄存器的内容来确定。实际上,段寄存器中存放的是段起始地址的高定。实际上,段寄存器中存放的是段起始地址的高1616位,位,称之为段基地址,逻辑段起始地址的低称之为段基地址,逻辑段起始地址的低4 4位为位为0 0。第19页图图4.4 4.4 逻辑段在物逻辑段在物理存储器中的位置理存储器中的位置 各个逻辑段在实各个逻辑段在实际的存储空间中可以际的存储空间中可以完全分开完全分开,也可以,也可以部部分重叠分重叠,甚至,甚至完全重完全重叠叠。段的起始地址的。段的起始地址的计算和分配通常是由计算和分配通常是由操作系统完成的,并操作系统完成的,并不需要普通
17、用户参与。不需要普通用户参与。第20页4.3.2 物理地址与逻辑地址物理地址与逻辑地址l物理地址:物理地址:信息在存储器中实际存放的地址,它是信息在存储器中实际存放的地址,它是CPUCPU访问存储器时访问存储器时实际输出的地址。实际输出的地址。8086/80888086/8088系统的物理地址是系统的物理地址是2020位,存储空间为位,存储空间为2 220201M1M字节单元,字节单元,地址范围从地址范围从00000H00000H到到FFFFFHFFFFFH。CPUCPU和存储器交换数据时所使用的就是和存储器交换数据时所使用的就是2020位的物理地址。位的物理地址。l逻辑地址:逻辑地址:编程时
18、所使用的地址,由段基地址和偏移量两部分构成。编程时所使用的地址,由段基地址和偏移量两部分构成。程序设计时所涉及的地址是逻辑地址而不是物理地址。编程时不需要程序设计时所涉及的地址是逻辑地址而不是物理地址。编程时不需要知道产生的代码或数据在存储器中的具体物理位置。这样可以简化存知道产生的代码或数据在存储器中的具体物理位置。这样可以简化存储资源的动态管理。储资源的动态管理。l段基地址段基地址(段地址或段基址):段的起始地址的高(段地址或段基址):段的起始地址的高1616位。位。l偏移量偏移量(偏移地址):所访问的存储单元距段的起始地址之间的字节(偏移地址):所访问的存储单元距段的起始地址之间的字节距
19、离。距离。在在8086/80888086/8088计算机系统中,每个存储单元可以看成具有两种地址:物计算机系统中,每个存储单元可以看成具有两种地址:物理地址和逻辑地址。理地址和逻辑地址。第21页4.3.2 物理地址与逻辑地址物理地址与逻辑地址l给定段基地址和偏移量,就可以在存储器中寻址所访问的给定段基地址和偏移量,就可以在存储器中寻址所访问的存储单元。在存储单元。在8086/80888086/8088系统中,段基地址和偏移量都是系统中,段基地址和偏移量都是1616位的。段基地址由位的。段基地址由1616位的段寄存器位的段寄存器CSCS、DSDS、SSSS和和ESES提供;提供;偏移量通常由偏移
20、量通常由BXBX、BPBP、SPSP、SISI、DIDI、IPIP或这些寄存器的组或这些寄存器的组合形式来提供。合形式来提供。l例如,例如,8086/80888086/8088开机后执行的第一条指令的逻辑地址由开机后执行的第一条指令的逻辑地址由CSCS和和IPIP两个寄存器给出,其逻辑地址表示为两个寄存器给出,其逻辑地址表示为FFFFH:0000HFFFFH:0000H,对应的物理地址为,对应的物理地址为FFFF0HFFFF0H。第22页4.3.3 物理地址的形成物理地址的形成l8086/80888086/8088访问存储器时的访问存储器时的2020位物理地址可由逻辑地址转位物理地址可由逻辑地
21、址转换而来。换而来。l转换方法:转换方法:将段寄存器中的将段寄存器中的1616位段基地址左移位段基地址左移4 4位位(低位补低位补0)0),再与,再与1616位的偏移量相加,即可得到所访问存储单元的位的偏移量相加,即可得到所访问存储单元的物理地址。物理地址。l计算公式:计算公式:物理地址段基地址物理地址段基地址16+16+偏移量偏移量 上式中的上式中的“段基地址段基地址1616”在微处理器中是通过将段在微处理器中是通过将段寄存器的内容左移寄存器的内容左移4 4位位(低位补低位补0)0)来实现的,得到的是来实现的,得到的是2020位位的段的起始地址。段的起始地址与偏移量相加的操作由的段的起始地址
22、。段的起始地址与偏移量相加的操作由2020位地址加法器来完成,位地址加法器来完成,第23页图图4.5 8086/8088物理地址的产生物理地址的产生 第24页【例例4.14.1】设代码段寄存器设代码段寄存器CSCS中的内容为中的内容为4232H4232H,指令指针寄,指令指针寄存器存器IPIP中的内容为中的内容为0066H0066H,即,即CSCS4232H4232H,IPIP0066H0066H,则,则访问代码段存储单元的物理地址计算如下:访问代码段存储单元的物理地址计算如下:所以,访问代码段存储单元的物理地址为所以,访问代码段存储单元的物理地址为42386H42386H。第25页【例例4.
23、24.2】设数据段寄存器设数据段寄存器DSDS的内容为的内容为1234H1234H,基址寄存器,基址寄存器BXBX的内容为的内容为0023H0023H,即,即DSDS1234H1234H,BXBX0023H0023H,则访问数据,则访问数据段存储单元的物理地址计算如下:段存储单元的物理地址计算如下:所以,访问数据段存储单元的物理地址为所以,访问数据段存储单元的物理地址为12363H12363H。第26页4.3.4 堆栈堆栈l堆栈堆栈是存储器中的一个特殊的数据存储区,采用是存储器中的一个特殊的数据存储区,采用“后进先后进先出出”的原则存放数据,通常它的一端的原则存放数据,通常它的一端(栈底栈底)
24、是固定的,另是固定的,另一端一端(栈顶栈顶)是浮动的,信息的存入和取出都只能在浮动的是浮动的,信息的存入和取出都只能在浮动的一端进行。一端进行。l堆栈主要用来暂时保存程序运行时的一些地址或数据信息。堆栈主要用来暂时保存程序运行时的一些地址或数据信息。l例如:当例如:当CPUCPU执行调用指令时,用堆栈保存程序的返回地执行调用指令时,用堆栈保存程序的返回地址址(亦称断点地址亦称断点地址);在中断处理时,通过堆栈;在中断处理时,通过堆栈“保存现场保存现场”和和“恢复现场恢复现场”;有时也利用堆栈为子程序传递参数。;有时也利用堆栈为子程序传递参数。第28页4.3.5 存储器组织存储器组织 8086C
25、PU 8086CPU 有四个逻辑段,分别是代码段、数据段、堆栈有四个逻辑段,分别是代码段、数据段、堆栈段和附加段。段和附加段。l代码段代码段:用于存放指令代码。代码段寄存器:用于存放指令代码。代码段寄存器CSCS存放代码段存放代码段的段基地址,偏移量由指令指针的段基地址,偏移量由指令指针IPIP提供。提供。l数据段数据段和和附加段附加段:用于存放操作数。数据段寄存器:用于存放操作数。数据段寄存器DSDS存放存放数据段的段基地址,附加段段寄存器数据段的段基地址,附加段段寄存器ESES存放附加段的段基存放附加段的段基地址。地址。l堆栈段堆栈段:堆栈段用于暂时保存程序运行中的一些数据和地:堆栈段用于
26、暂时保存程序运行中的一些数据和地址信息。址信息。第30页4.3.6 I/O组织组织 8086/8088 I/O 8086/8088 I/O端口为端口为64KB64KB,因此只需要,因此只需要1616跟地址线跟地址线A A1515A A0 0。对对I/OI/O端口寻址时不需要使用段寄存器,高位地址端口寻址时不需要使用段寄存器,高位地址A A1919A A1616输出输出0 0。第31页4.4 8086/8088 的内部结构的内部结构 8086/8088 8086/8088微处理器由两个独立的部件构成,一个是微处理器由两个独立的部件构成,一个是总总线接口部件线接口部件BIUBIU(Bus Inte
27、rface Unit)(Bus Interface Unit),另一个是,另一个是执行部执行部件件EUEU(Execution Unit)(Execution Unit)。第33页4.4.1总线接口部件总线接口部件BIU BIUBIU负责完成微处理器内部与外部负责完成微处理器内部与外部(内存储器和内存储器和I/OI/O端口端口)的信息传送,的信息传送,即负责取指令和存取数据。即负责取指令和存取数据。BIUBIU由以下由以下5 5个部分组成:个部分组成:4 4个个1616位的段寄存器位的段寄存器:CSCS、DSDS、SSSS和和ESES,分别用于存放当前代码段、,分别用于存放当前代码段、数据段、
28、附加段和堆栈段的段基地址。数据段、附加段和堆栈段的段基地址。1616位指令指针位指令指针IPIP:用于存放下一条要执行的指令的偏移地址。:用于存放下一条要执行的指令的偏移地址。2020位物理地址加法器位物理地址加法器:用于将来自于段寄存器的:用于将来自于段寄存器的1616位段地址左移位段地址左移4 4位位后与来自于后与来自于IPIP寄存器或寄存器或EUEU提供的提供的1616位偏移地址相加,形成一个位偏移地址相加,形成一个2020位的位的物理地址。物理地址。6/46/4字节的指令队列:字节的指令队列:用于存放预取的指令用于存放预取的指令,减少等待时间减少等待时间,避免取指避免取指令和取操作数发
29、生冲突令和取操作数发生冲突,从而提高运行效率。从而提高运行效率。总线控制逻辑总线控制逻辑:用于产生并发出总线控制信号,以实现对存储器和:用于产生并发出总线控制信号,以实现对存储器和I/OI/O端口的读写控制。它将端口的读写控制。它将CPUCPU的内部总线与的内部总线与1616位的外部总线相连,位的外部总线相连,是是CPUCPU与外部进行数据交换的通路。与外部进行数据交换的通路。第34页4.4.2执行部件执行部件EU 执行部件执行部件EUEU的功能就是负责指令的执行。的功能就是负责指令的执行。EUEU由以下几部分组成:由以下几部分组成:算术逻辑单元算术逻辑单元ALUALU:ALUALU完成完成1
30、616位或位或8 8位的二进制数的算术位的二进制数的算术/逻辑运算,逻辑运算,绝大部分指令的执行都由绝大部分指令的执行都由ALUALU完成。在运算时,数据先传送至完成。在运算时,数据先传送至1616位的位的暂存寄存器中,经暂存寄存器中,经ALUALU处理后,运算结果可通过内部总线送入通用寄处理后,运算结果可通过内部总线送入通用寄存器或由存器或由BIUBIU存入存储器。存入存储器。标志寄存器标志寄存器FLAGSFLAGS:它用来反映:它用来反映CPUCPU最后一次运算结果的状态特征或存最后一次运算结果的状态特征或存放控制标志。放控制标志。FLAGSFLAGS为为1616位,其中位,其中7 7位未
31、用。位未用。通用寄存器组通用寄存器组:它包括:它包括4 4个数据寄存器个数据寄存器AXAX、BXBX、CXCX、DXDX,其中,其中AXAX又称又称累加器,累加器,4 4个地址指针和变址寄存器,即基址寄存器个地址指针和变址寄存器,即基址寄存器BPBP、堆栈指针寄、堆栈指针寄存器存器SPSP、源变址寄存器、源变址寄存器SISI和目的变址寄存器和目的变址寄存器DIDI。EUEU控制系统控制系统:它接收从:它接收从BIUBIU中指令队列取来的指令,经过指令译码形中指令队列取来的指令,经过指令译码形成各种定时控制信号,向成各种定时控制信号,向EUEU内各功能部件发送相应的控制命令,以完内各功能部件发送
32、相应的控制命令,以完成每条指令所规定的操作。成每条指令所规定的操作。第35页4.4.3 BIU与与EU的动作协调原则的动作协调原则 总线接口部件(总线接口部件(BIUBIU)和执行部件()和执行部件(EUEU)按以下流水线技术原则协调)按以下流水线技术原则协调工作,共同完成所要求的信息处理任务。工作,共同完成所要求的信息处理任务。每当每当80868086的指令队列中有两个空字节,或的指令队列中有两个空字节,或80888088的指令队列中有一个空的指令队列中有一个空字节时,字节时,BIUBIU就会自动把指令取到指令队列中。其取指的顺序是按照就会自动把指令取到指令队列中。其取指的顺序是按照指令在程
33、序中出现的前后顺序。指令在程序中出现的前后顺序。每当每当EUEU准备执行一条指令时,它会从准备执行一条指令时,它会从BIUBIU部件的指令队列前部取出指部件的指令队列前部取出指令的代码,然后用几个时钟周期去执行该指令。在执行指令的过程中,令的代码,然后用几个时钟周期去执行该指令。在执行指令的过程中,如果需要访问存储器或者如果需要访问存储器或者I/OI/O端口,那么端口,那么EUEU就会请求就会请求BIUBIU,进入总线周,进入总线周期,完成访问内存或者期,完成访问内存或者I/OI/O端口的操作;如果此时端口的操作;如果此时BIUBIU正好处于空闲状正好处于空闲状态,会立即响应态,会立即响应EU
34、EU的总线请求。如的总线请求。如BIUBIU正将某个指令字节取到指令队正将某个指令字节取到指令队列中,则列中,则BIUBIU将首先完成这个取指令的总线周期,然后再去响应将首先完成这个取指令的总线周期,然后再去响应EUEU发发出的访问总线的请求。出的访问总线的请求。当指令队列已满,且当指令队列已满,且EUEU又没有总线访问请求时,又没有总线访问请求时,BIUBIU便进入空闲状态。便进入空闲状态。在执行转移指令、调用指令和返回指令时,由于待执行指令的顺序发在执行转移指令、调用指令和返回指令时,由于待执行指令的顺序发生了变化,则指令队列中已经装入的字节被自动消除,生了变化,则指令队列中已经装入的字节
35、被自动消除,BIUBIU会接着往会接着往指令队列装入转向后的另一程序段中的指令代码。指令队列装入转向后的另一程序段中的指令代码。第36页4.5 8086/8088外特性外特性引脚信号及其功能引脚信号及其功能l8086/8088CPU8086/8088CPU采用采用4040个引脚的双列直插式封装形式。个引脚的双列直插式封装形式。l为了减少芯片的引脚,为了减少芯片的引脚,8086/8088CPU8086/8088CPU采用了采用了引脚复用技术引脚复用技术,因此部分引脚具有双重功能。这些双功能引脚的功能转换因此部分引脚具有双重功能。这些双功能引脚的功能转换分两种情况:一种是采用了分时复用的地址分两种
36、情况:一种是采用了分时复用的地址/数据和地址数据和地址/状态引脚;另一种是根据不同的工作模式定义不同的引脚状态引脚;另一种是根据不同的工作模式定义不同的引脚功能。功能。第38页4.5.1 8086外特性外特性引脚信号及其功能引脚信号及其功能 1电源、地和时钟信号电源、地和时钟信号2系统复位和准备好信号系统复位和准备好信号3地址、数据和状态信号地址、数据和状态信号 4中断信号中断信号5读、写选通信号读、写选通信号6模式选择信号模式选择信号7最小工作模式下的专用信号最小工作模式下的专用信号8最大工作模式下的专用信号最大工作模式下的专用信号第39页一、电源、地和时钟信号一、电源、地和时钟信号1.1.
37、VCCVCC电源端:电源端:接入的电压为接入的电压为+5V+5V10%10%。2.2.GNDGND接地端:接地端:两条两条GNDGND均应接地。均应接地。3.3.CLKCLK时钟信号:时钟信号:输入,提供输入,提供CPUCPU和总线控制的基本定时脉和总线控制的基本定时脉冲。冲。8086CPU8086CPU要求时钟信号是占空比为要求时钟信号是占空比为3333的非对称性的的非对称性的脉冲信号。脉冲信号。第40页第41页二、系统复位和准备好信号二、系统复位和准备好信号1.1.RESET RESET 复位信号:复位信号:输入,高电平有效,用来停止输入,高电平有效,用来停止CPUCPU的现行的现行操作,
38、完成操作,完成CPUCPU内部的复位过程。该信号必须由低到高,并内部的复位过程。该信号必须由低到高,并且至少要保持且至少要保持4 4个时钟周期的高电平,才能完成复位个时钟周期的高电平,才能完成复位CPUCPU。2.2.READY READY 准备就绪信号:准备就绪信号:输入,高电平有效,用来确认输入,高电平有效,用来确认CPUCPU访访问的存储器或问的存储器或I/OI/O设备是否完成数据传送。该信号是为了设备是否完成数据传送。该信号是为了CPUCPU与低速的存储器或与低速的存储器或I/OI/O设备之间实现速度匹配所设置的。设备之间实现速度匹配所设置的。当当READYREADY为高电平时,表示内
39、存或为高电平时,表示内存或I/OI/O设备已准备就绪,可设备已准备就绪,可以立即进行一次数据传输。以立即进行一次数据传输。3.3.TEST#TEST#测试信号:测试信号:输入,低电平有效。该信号用于协调输入,低电平有效。该信号用于协调8086 CPU8086 CPU与与80878087协处理器的操作。协处理器的操作。第42页表表4.1 复位后内部寄存器状态复位后内部寄存器状态 寄存器名称寄存器名称状状态态FLAGS清除IP0000HCSFFFFHDS0000HSS0000HES0000H指令缓冲队列清除第43页第44页三、地址、数据和状态信号三、地址、数据和状态信号 1.1.ADl5ADl5A
40、D0 AD0 地址数据复用总线:地址数据复用总线:双向,三态,分时复用。在总线周期双向,三态,分时复用。在总线周期的的T1T1状态,输出地址;在总线周期的状态,输出地址;在总线周期的T2T2T4T4状态,作为数据线使用。状态,作为数据线使用。2.2.A19/S6A19/S6A16/S3 A16/S3 地址地址/状态复用线:状态复用线:输出,三态,分时复用。在总线周输出,三态,分时复用。在总线周期的期的T1T1状态,用来输出地址的最高状态,用来输出地址的最高4 4位,在总线周期的其他状态用来输位,在总线周期的其他状态用来输出状态信息。出状态信息。3.3.BHE#/S7 BHE#/S7 总线高字节
41、允许总线高字节允许/状态信号状态信号S7S7:输出,三态,分时复用。在总输出,三态,分时复用。在总线周期的线周期的T1T1状态,有效时表示选择高状态,有效时表示选择高8 8位数据。在总线周期的其他状态位数据。在总线周期的其他状态用来输出状态,用来输出状态,S7S7未定义。未定义。lS7S7未定义。未定义。lS6S6总是为总是为0 0。lS5S5表明中断允许标志的当前设置情况。如果表明中断允许标志的当前设置情况。如果IFIFl l,则,则S5S51 1,表示当前允许可屏蔽中断;如果表示当前允许可屏蔽中断;如果IFIF0 0,则,则S5S50 0,表示当前禁,表示当前禁止一切可屏蔽中断。止一切可屏
42、蔽中断。lS4S4和和S3S3状态的组合指出当前正使用哪个段寄存器。状态的组合指出当前正使用哪个段寄存器。第45页表表4.2 S4、S3代码组合与段寄存器的关系代码组合与段寄存器的关系 S4S4S3S3当前使用的段寄存器当前使用的段寄存器00附加段寄存器ES01堆栈段寄存器SS10代码段寄存器CS或未使用任何段寄存器11数据段寄存器DS第46页第47页四、中断信号四、中断信号lINTR 可屏蔽中断请求信号:可屏蔽中断请求信号:输入、高电平有效。当该信号变为高电输入、高电平有效。当该信号变为高电平时,表示外部设备有可屏蔽中断请求。平时,表示外部设备有可屏蔽中断请求。CPU在每个指令周期的最后在每
43、个指令周期的最后一个一个T状态检测此引脚,一旦测得此引脚为高电平,并且中断允许标状态检测此引脚,一旦测得此引脚为高电平,并且中断允许标志位志位IF=1,则,则CPU在当前指令周期结束后,转入中断响应周期。在当前指令周期结束后,转入中断响应周期。lNMI 非屏蔽中断请求信号:非屏蔽中断请求信号:输入,上升沿有效。该中断请求不能用软输入,上升沿有效。该中断请求不能用软件进行屏蔽,不受中断允许标志件进行屏蔽,不受中断允许标志IF的控制。当该引脚上电平有由低到的控制。当该引脚上电平有由低到高的变化,就会在当前指令结束后引起中断。高的变化,就会在当前指令结束后引起中断。NMI中断通常由电源掉中断通常由电
44、源掉电等紧急情况引起。电等紧急情况引起。l INTA#中断响应信号:中断响应信号:(最小工作模式下的专用信号最小工作模式下的专用信号)输出,低电)输出,低电平有效,在最小模式下,平有效,在最小模式下,CPU响应可屏蔽中断后发给请求中断设备的响应可屏蔽中断后发给请求中断设备的应答信号,是对中断请求信号应答信号,是对中断请求信号INTR的响应。的响应。第48页第49页五、读、写选通信号五、读、写选通信号 1.RD#读信号读信号:输出,三态,低电平有效,表示输出,三态,低电平有效,表示CPU正在正在对存储器或对存储器或I/O端口进行读操作。在读总线周期的端口进行读操作。在读总线周期的T2,T3,TW
45、状态,均保持低电平。状态,均保持低电平。2.WR#写信号写信号(最小工作模式下的专用信号最小工作模式下的专用信号):输出,三输出,三态,低电平有效,表示态,低电平有效,表示CPU正在对存储器或正在对存储器或I/O端口进行端口进行写操作。在写总线周期的写操作。在写总线周期的T2,T3,TW状态,均保持低状态,均保持低电平。电平。第50页第51页六、模式选择信号六、模式选择信号 l8086CPU8086CPU有两种工作模式:有两种工作模式:最小工作模式最小工作模式和和最大工作模式最大工作模式。lMN/MX#MN/MX#模式选择信号模式选择信号:用于选择用于选择CPUCPU工作在最大工作模式还是最小
46、工作模工作在最大工作模式还是最小工作模式。当此引脚接式。当此引脚接+5V(+5V(高电平高电平)时,时,CPUCPU工作于最小工作模式;若接地工作于最小工作模式;若接地(低电低电平平),CPUCPU工作于最大工作模式。工作于最大工作模式。l最小工作模式:最小工作模式:系统中只有系统中只有80868086一个微处理器,系统中的所有一个微处理器,系统中的所有总线控制信总线控制信号都直接由号都直接由80868086产生产生。l最大工作模式:最大工作模式:系统中含有两个或两个以上微处理器,其中一个是主处理系统中含有两个或两个以上微处理器,其中一个是主处理器器80868086,其它为协处理器,其它为协处
47、理器,总线控制信号由芯片总线控制信号由芯片82888288产生产生。l由于在不同工作模式下,引脚由于在不同工作模式下,引脚24243131有着不同的名称和定义,因此称为有着不同的名称和定义,因此称为专专用引脚信号用引脚信号,除了引脚,除了引脚24243131外,其它引脚信号称为外,其它引脚信号称为公共引脚信号公共引脚信号。第52页第53页七、最小工作模式下的专用信号七、最小工作模式下的专用信号 1.1.HOLD HOLD 总线保持请求信号总线保持请求信号:输入,该信号是最小模式系统中除主输入,该信号是最小模式系统中除主CPUCPU以外以外的其他总线控制器(如的其他总线控制器(如DMADMA控制
48、器)申请使用系统总线的请求信号。控制器)申请使用系统总线的请求信号。2.2.HLDA HLDA 总线保持响应信号总线保持响应信号:输出,该信号是对输出,该信号是对HOLDHOLD的响应信号。的响应信号。3.3.WR#WR#写信号写信号。4.4.M/IO#M/IO#存储器存储器/IO/IO访问控制信号访问控制信号:输出。高电平时访存,低电平时访问输出。高电平时访存,低电平时访问IOIO。5.5.DEN#DEN#数据允许信号数据允许信号:输出,作为双向数据总线收发器输出,作为双向数据总线收发器82868286的选通信号。的选通信号。它在每一次存储器访问或它在每一次存储器访问或I/OI/O访问或中断
49、响应周期有效。访问或中断响应周期有效。6.6.DT/R#DT/R#数据发送数据发送/接收控制信号:接收控制信号:输出,三态,使用输出,三态,使用82868286作为数据总线作为数据总线收发器时,收发器时,82868286的数据传送方向由控制。数据发送时的数据传送方向由控制。数据发送时1 1;数据接收时;数据接收时0 0。7.7.ALE ALE 地址锁存允许信号地址锁存允许信号:输出、提供给地址锁存器输出、提供给地址锁存器82828282的控制信号。的控制信号。8.8.INTA#INTA#中断响应信号中断响应信号。第54页第55页八、最大工作模式下的专用信号八、最大工作模式下的专用信号 1.1.
50、S2#S2#,S1#S1#,S0#S0#总线周期状态信号:总线周期状态信号:输出,三态,这三个信号组合输出,三态,这三个信号组合起来指出当前总线周期所进行的操作类型。起来指出当前总线周期所进行的操作类型。2.2.RQ#/GT1#RQ#/GT1#,RQ#/GT0#RQ#/GT0#总线请求信号总线请求允许信号:总线请求信号总线请求允许信号:这两个这两个引脚是双向的,信号为低电平有效。这两个信号是最大模式系统中引脚是双向的,信号为低电平有效。这两个信号是最大模式系统中主处理器主处理器80868086和其他协处理器和其他协处理器(如如80878087,8089)8089)之间交换总线使用权之间交换总线