上海工程技术大学微机原理与接口技术yp第2章8086系统结构_第1页
上海工程技术大学微机原理与接口技术yp第2章8086系统结构_第2页
上海工程技术大学微机原理与接口技术yp第2章8086系统结构_第3页
上海工程技术大学微机原理与接口技术yp第2章8086系统结构_第4页
上海工程技术大学微机原理与接口技术yp第2章8086系统结构_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

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

文档简介

1、1第第2章章 8086系统结构系统结构 2n字长字长: 指CPU能同时处理的数据位数,也称数据宽数据宽度度。n主频主频:即CPU的时钟频率。主频越高CPU的运算速度越快。8086是510MHz,80386/486是40100MHz,Pentium 最高达3.06GMHz(变化的)。基本概念基本概念3主主 要要 内内 容容n 8086CPU的内部结构的内部结构n8086CPU的管脚和功能的管脚和功能n8086存储器结构与输入存储器结构与输入/输出结构输出结构n8086的最大的最大/最小模式系统最小模式系统n8086CPU的内部时序的内部时序4一、一、80868086的内部结构的内部结构1. 关于

2、关于8086 2.内部结构内部结构3. BIU的组成的组成4. BIU的功能的功能5. EU的组成的组成6. EU的作用的作用7. BIU和和EU的动作管理的动作管理一、一、80868086的内部结构的内部结构 8086是是Intel 系列的系列的16位位微处理器,时钟频率微处理器,时钟频率为为5MHz(10 MHz和和8 MHz),有),有16条数据线条数据线和和20条地址线条地址线。由于地址总线的位数决定了。由于地址总线的位数决定了CPU可可直接直接寻址寻址的内存单元的的内存单元的范围范围,因此,内存容量为,因此,内存容量为220个单元,即个单元,即1MB。1. 关于关于8086 210B

3、=1024B=1KB220B=210 x210=1024Bx1024B=1KBx1KB=1MB230B=1GBN地址地址 寻址寻址2NB62. 内部编程结构内部编程结构 内部结构内部结构与真正的与真正的物理结构物理结构有别,它是从有别,它是从程序员和使用者的角度程序员和使用者的角度“看到看到”的的CPU的内部的内部结构。或者说,我们讨论结构。或者说,我们讨论8086的内部结构是从的内部结构是从指令的执行这一全过程来考虑的。指令的执行这一全过程来考虑的。8086从功能上分为两部分:从功能上分为两部分: 总线接口部件总线接口部件BIU 执行部件执行部件EUAHALBHBLCHCLDHDLSPBPD

4、ISICSDSSSESIP内部寄存器内部寄存器123456EU控制电路控制电路暂存寄存器暂存寄存器总线总线控制控制电路电路标志寄存器标志寄存器20位位AB16位位DB16位位 DB8位位地址加法器地址加法器通用寄存器通用寄存器ALU指令队列缓冲器指令队列缓冲器8086总线总线执行部件(执行部件(EU)总线接口部件(总线接口部件(BIU)8086CPU的内部结构框图的内部结构框图指针和变址指针和变址寄存器寄存器AXBXCXDX16位位 DB数据数据寄存器寄存器8 u地址加法器地址加法器u专用寄存器组专用寄存器组u指令队列指令队列u总线控制电路总线控制电路 其主要功能是与外部存储器或IO端口读取操

5、作。3. BIU的组成的组成3. BIU的组成的组成q 6字节指令队列缓冲器字节指令队列缓冲器一般情况下,一般情况下,CPU执行完一条指令就可以立即执行下一执行完一条指令就可以立即执行下一条指令,称为条指令,称为流水线技术流水线技术。q 20位地址加法器位地址加法器完成从完成从段基地址段基地址(存放在(存放在CS、DS、ES、SS)与与16位位段段内偏移地址内偏移地址(由指令指定)产生(由指令指定)产生20位的物理地址。位的物理地址。q 4个段地址寄存器(个段地址寄存器(16bit)指令指针控制器指令指针控制器- IP(16bit)用于存放用于存放BIU将要取的下一条将要取的下一条指令指令的的

6、段内偏移地址段内偏移地址。q 总线控制电路总线控制电路用于产生系统总线操作时的相关控制信号。用于产生系统总线操作时的相关控制信号。4. BIU的功能的功能BIU具体任务具体任务为:为:负责负责从存储器的指定单元取出指令,送至指令队列缓从存储器的指定单元取出指令,送至指令队列缓冲器中排队(或直接给冲器中排队(或直接给EU去执行);去执行);负责负责配合配合EU从存储器的指定单元或外设从存储器的指定单元或外设端口端口中取出中取出指令规定的操作数传送给指令规定的操作数传送给EU;负责负责把把EU的操作结果传送到指定的存储器或外设端的操作结果传送到指定的存储器或外设端口中。口中。 总之,总之,BIU的

7、功能的功能是负责完成是负责完成CPU与存储器或与存储器或I/O端口之间的端口之间的数据传输数据传输。11 u通用寄存器组u算术逻辑运算单元(ALU)uEU控制器u标志寄存器FR其主要功能是执行指令。5. EU的组成的组成5. EU的组成的组成q 4个通用数据寄存器(个通用数据寄存器(16或或8bit) 累加器:累加器:AX(16bit),),AL (8bit)q 4个指令和变址寄存器(个指令和变址寄存器(BP、SP、SI、DI,16bit)q ALU (16bit 运算器)运算器)用于用于8位或位或16位位算术和逻辑运算算术和逻辑运算,完成大部分指令的执行。,完成大部分指令的执行。q EU控制

8、电路控制电路从从BIU的指令队列中取出指令的指令队列中取出指令操作码操作码,通过译码电路分析,通过译码电路分析,发出相应的控制命令,控制发出相应的控制命令,控制ALU数据的流向。数据的流向。q 标志寄存器标志寄存器6个个状态标志状态标志反映指令运行后的状态;反映指令运行后的状态;3个个控制标志控制标志可由编程可由编程人员通过专门指令设置。人员通过专门指令设置。13OFDFIFTFSFCFPFZFAF15 14 13 12 11 10 9 8 7 6 5 4 3 D2 D 1 D0Overflow FlagSign Flag符号标志Zero FlagAuxiliary Carry FlagPar

9、ity FlagCarry FlagTrap Flag跟跟 踪踪Interrupt FlagDirection Flag6个状态标志:个状态标志: CF-使最高位产生进使最高位产生进/借位时,为借位时,为1 PF-运行结果的低运行结果的低8位中含位中含1的个数为偶数时,为的个数为偶数时,为1 AF-低低4位(位(D3)向向高高4位(位(D4)位有)位有进进/借位借位时,为时,为1 ZF-当前的运算结果为当前的运算结果为0时,为时,为1 SF-与运算结果的最高位相同,表运算结果的正负与运算结果的最高位相同,表运算结果的正负 OF-运算过程中产生溢出时,为运算过程中产生溢出时,为1 字节运算字节运

10、算结果结果超出超出范围:范围:-128 +127 字运算字运算结果结果超出超出范围:范围:- 32768 +32767 15 产生溢出:产生溢出: 当判断出当判断出次高次高位位往往最高位最高位有有进位,而最高位又进位,而最高位又没没有往前进时,产生溢出。有往前进时,产生溢出。 当判断出当判断出次高次高位位往往最高位最高位无无进位,而最高位往进位,而最高位往前却前却有有进时,产生溢出。进时,产生溢出。仅对带符号数有效仅对带符号数有效160 1 0 1 0 1 0 0 0 0 1 1 1 0 0 10 1 0 0 0 1 0 1 0 1 1 0 1 0 1 01100011111100000CF

11、= 0PF = 1AF = 1ZF = 0SF = 1OF = 1+例(书例例(书例22):):17例21: 0010 0011 0100 0101 + 0011 0010 0001 1001 0101 0101 0101 1110 CF = 0PF = 0AF = 0ZF = 0SF = 0OF = 0183个控制标志:个控制标志:DF - 串操作串操作过程中地址自动递减,为过程中地址自动递减,为1IF - 允许允许CPU响应外部可屏蔽响应外部可屏蔽中断中断,为,为1TF - CPU处于处于单步单步工作方式,为工作方式,为1 每一控制标志针对某一特定的功能,控制标每一控制标志针对某一特定的功

12、能,控制标志一旦设置后,便对后面的操作产生控制作用。志一旦设置后,便对后面的操作产生控制作用。19 从指令队列中取出指令;从指令队列中取出指令; 对指令进行译码,发出相应的传送数对指令进行译码,发出相应的传送数据或运算的控制信号;据或运算的控制信号; 接收由接收由BIU传送来的数据或把数据传送传送来的数据或把数据传送到到BIU; 进行算术或逻辑运算。进行算术或逻辑运算。6. EU的作用的作用总之,总之,EU的功能的功能就是负责指令的执行。就是负责指令的执行。207. BIU和和EU的动作管理的动作管理 每当指令队列中由每当指令队列中由2个空字节个空字节时,时,BIU自动把指令自动把指令取到指令

13、队列中;取到指令队列中; 当指令队列已满,且当指令队列已满,且EU对对BIU没有总线访问请求没有总线访问请求时,时,BIU进入进入空闲状态空闲状态; 当在当在EU执行指令的过程中必须访问存储器或输入执行指令的过程中必须访问存储器或输入输出设备时,则输出设备时,则EU会请求会请求BIU进入进入总线周期总线周期,以完,以完成所需的访问内存或输入成所需的访问内存或输入/输出端口的操作。输出端口的操作。当执行转移、调用、返回指令时,指令队列中的当执行转移、调用、返回指令时,指令队列中的原有内容会被自动清除,原有内容会被自动清除,BIU会接着往指令队列会接着往指令队列中装入另一程序段中的指令。中装入另一

14、程序段中的指令。21EUBIU指令队列6字节指令队列缓冲器字节指令队列缓冲器228086CPU与一般CPU区别n一般CPU工作方式n8086CPU工作方式取指执指取指执指取指执指取指执指取指执指取指执指取指23思考:8086CPU的寄存器结构24u 通用寄存器通用寄存器u 段寄存器段寄存器 u 标志寄存器标志寄存器FR u 指令指针寄存器指令指针寄存器IP 8086CPU的寄存器结构25n段寄存器(段寄存器(4个个, 1616位位)nCS(Code Segment)-代码段寄存器代码段寄存器nDS(Data Segment)-数据段寄存器数据段寄存器nES(Extra Segment)-附加段

15、寄存器附加段寄存器nSS(Stack Segment)-堆栈段寄存器堆栈段寄存器n指令指针寄存器指令指针寄存器(16(16位位) )nIP(Instruction Pointer)n2020位的地址加法器位的地址加法器重点掌握的内容 AHALBHBLCHCLDHDLSPBPDISI通用寄存器通用寄存器指针和变址指针和变址寄存器寄存器AXBXCXDX数据数据寄存器寄存器26u1、 通用寄存器通用寄存器指令执行部件(EU)设有8个通用寄器 AX BX CX DX SP BP SI DIBH BLCH CLDH DLAH ALAXBXCXDXSIDIBPSP27u通用寄存器通用寄存器AX(Accum

16、ulator Register) 累加器一般用来存放参加运算的数据和结果,在累加器一般用来存放参加运算的数据和结果,在乘、除法运算、乘、除法运算、I/O操作、操作、BCD数运算中有不可数运算中有不可替代的作用。替代的作用。BX(Base Register) 基址寄存器除可作数据寄存器外,还可放内存的基址寄存器除可作数据寄存器外,还可放内存的逻辑偏移地址,而逻辑偏移地址,而AX,CX,DX则不能。则不能。28CX(Counter) 将它称作计数寄存器,是因为它既可作数将它称作计数寄存器,是因为它既可作数据寄存器,又可在串指令和移位指令中作计据寄存器,又可在串指令和移位指令中作计数用。数用。DX(

17、Data Register) DX除可作通用数据寄存器外,还在乘、除除可作通用数据寄存器外,还在乘、除法运算、带符号数的扩展指令中有特殊用途。法运算、带符号数的扩展指令中有特殊用途。 29SI(Source Index) 源变址寄存器多用于存放内存的逻辑偏移源变址寄存器多用于存放内存的逻辑偏移地址,隐含的逻辑段地址在地址,隐含的逻辑段地址在DS寄存器中,寄存器中,也可放数据。也可放数据。DI(Destination Index) 目标变址寄存器多用于存放内存的逻辑偏目标变址寄存器多用于存放内存的逻辑偏移地址,隐含的逻辑段地址在移地址,隐含的逻辑段地址在DS寄存器中寄存器中也可放数据。也可放数据

18、。30BP(Base Pointer) 基址指针用于存放内存的逻辑偏移地址,基址指针用于存放内存的逻辑偏移地址,隐含的逻辑段地址在隐含的逻辑段地址在SS寄存器中。寄存器中。SP(Stack Pointer ) 堆栈指针用于存放栈顶的逻辑偏移地址,堆栈指针用于存放栈顶的逻辑偏移地址,隐含的逻辑段地址在隐含的逻辑段地址在SS寄存器中。寄存器中。31u寄存器的特殊用途和隐含性质寄存器的特殊用途和隐含性质在指令中没有明显的标出,而这些寄存器参在指令中没有明显的标出,而这些寄存器参加操作,称之为加操作,称之为“隐含寻址隐含寻址”。 在某类指令中,某些通用寄存器有指定的特殊在某类指令中,某些通用寄存器有指

19、定的特殊用法,编程时需遵循这些规定,将某些特殊数用法,编程时需遵循这些规定,将某些特殊数据放在特定的寄存器中,这样才能正确的执行据放在特定的寄存器中,这样才能正确的执行这些指令。这些指令。u能有效地缩短指令代码的长度。能有效地缩短指令代码的长度。32寄寄存存器器名名 特特殊殊用用途途 隐隐含含性性质质 在在输输入入输输出出指指令令中中作作数数据据寄寄存存器器用用 不不能能隐隐含含 AX, AL 在在乘乘法法指指令令中中存存放放被被乘乘数数或或乘乘积积,在在除除法法指指令令中中存存放放被被除除数数或或商商 隐隐 含含 AH 在在LAHF指指令令中中,作作目目标标寄寄存存器器用用 隐隐 含含 在在

20、十十进进制制运运算算指指令令中中作作累累加加器器用用 隐隐 含含 AL 在在XLAT指指令令中中作作累累加加器器用用 隐隐 含含 在在间间接接寻寻址址中中作作基基址址寄寄存存器器用用 不不能能隐隐含含 BX 在在XLAT指指令令中中作作基基址址寄寄存存器器用用 隐隐 含含 CX 在在串串操操作作指指令令和和LOOP指指令令中中作作计计数数器器用用 隐隐 含含 CL 在在移移位位/循循环环移移位位指指令令中中作作移移位位次次数数计计数数器器用用 不不能能隐隐含含 在在字字乘乘法法/除除法法指指令令中中存存放放乘乘积积高高位位或或被被除除数数高高位位或或余余数数 隐隐 含含 DX 在在间间接接寻寻

21、址址的的输输入入输输出出指指令令中中作作地地址址寄寄存存器器用用 不不能能隐隐含含 在在字字符符串串运运算算指指令令中中作作源源变变址址寄寄存存器器用用 隐隐 含含 SI 在在间间接接寻寻址址中中作作变变址址寄寄存存器器用用 不不能能隐隐含含 在在字字符符串串运运算算指指令令中中作作目目标标变变址址寄寄存存器器用用 隐隐 含含 DI 在在间间接接寻寻址址中中作作变变址址寄寄存存器器用用 不不能能隐隐含含 BP 在在间间接接寻寻址址中中作作基基址址指指针针用用 不不能能隐隐含含 SP 在在堆堆栈栈操操作作中中作作堆堆栈栈指指针针用用 隐隐 含含 332、段寄存器、段寄存器 总线接口部件总线接口部

22、件BIU设有设有4个个16位段寄存器位段寄存器 CS(Code Segment),代码段寄存器中存放),代码段寄存器中存放程序代码段起始地址的高程序代码段起始地址的高16位。位。DS(Data Segment),数据段寄存器中存放),数据段寄存器中存放数据段起始地址的高数据段起始地址的高16位。位。SS(Stack Segment),堆栈段寄存器中存),堆栈段寄存器中存放堆栈段起始地址的高放堆栈段起始地址的高16位。位。ES(Extended Segment),扩展段寄存器中),扩展段寄存器中存放扩展数据段起始地址的高存放扩展数据段起始地址的高16位。位。34CPU内部14个16位寄存器小结小

23、结35二、二、80868086CPUCPU的管脚及功能的管脚及功能1. 8086CPU工作模式的概念工作模式的概念2. 学习学习8086CPU管脚时应注意的问题管脚时应注意的问题3. 8086CPU管脚功能简要说明管脚功能简要说明36最小模式最小模式 系统中只有系统中只有8086一个微处理器一个微处理器,系系统中所有的统中所有的总线控制信号总线控制信号都直接由都直接由8086产生,产生,因此系统中的因此系统中的总线控制逻辑电路总线控制逻辑电路被减到最小。被减到最小。 (MN/MX=1)最大模式最大模式 系统中总是包含两个或多个微处理系统中总是包含两个或多个微处理器,其中一个器,其中一个主处理器

24、主处理器就是就是8086,其它处理器,其它处理器为为协处理器协处理器(如,用于数值运算的(如,用于数值运算的8087,用于用于输入输入/输出大量数据的输出大量数据的8089) (MN/MX=0) 。1. 8086CPU工作模式的概念工作模式的概念37管脚管脚名称及其功能名称及其功能-用英文单词用英文单词/缩写表示,名称基本缩写表示,名称基本反映该信号的作用及含义。反映该信号的作用及含义。 信号流向信号流向-输入输入、输出、双向。、输出、双向。有效电平有效电平-管脚管脚起作用时的逻辑电平(正、负逻辑)。起作用时的逻辑电平(正、负逻辑)。三态能力三态能力-是指是指管脚管脚除了能正常输出或输入高、低

25、电平除了能正常输出或输入高、低电平外,还能输出外,还能输出高阻状态高阻状态。当输出高阻状态时,表示芯片。当输出高阻状态时,表示芯片实际上已经放弃了对该实际上已经放弃了对该管脚管脚的控制,使之的控制,使之“悬空悬空”,所,所连接的设备可以接管对它的控制。连接的设备可以接管对它的控制。管脚管脚分时复用分时复用-称总线为称总线为多多路路总线总线/复用总线复用总线。 2. 学习学习8086CPU管脚时应注意的问题管脚时应注意的问题40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 8086CPUGNDAD14AD13AD12AD11A

26、D10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDRESETREADYTESTINTA (QS1)ALE (QS0)DEN (S0 )DT/ R (S1 )M/ IO (S2)WR (LOCK)HLDA (RQ/GT1)HOLD (RQ/GT0)RDMN/ MXBHE/ S7A19/ S6A18/ S5A17/ S4A16/ S3VCC(+5V)AD158086的管脚图的管脚图123456789101112131415161718192039 Vcc、GND-电源和地电源和地-单一的单一的+5v电源电源(40管管脚脚Vcc);地线(地线(1和和20管脚

27、管脚GND)应接地。应接地。3. 8086CPU管脚功能简要说明管脚功能简要说明 AD15AD0-地址地址(T1)/ 数据复用数据复用- 双向、三态双向、三态 在在CPU响应中断响应中断以及以及系统总线系统总线“保持响应保持响应”时,时,被浮置为高阻状态。被浮置为高阻状态。40 A19/S6A16/S3 -地址地址(T1)/状态状态(T2、T3、Tw、T4)复复用用-输出、三态。输出、三态。S6指示指示8086当前是否与总线相连。当前是否与总线相连。 S6 =0表示当表示当前与总线相连。前与总线相连。S5表明表明中断允许标志中断允许标志当前的设置。当前的设置。 S5 =0表示表示CPU关闭中断

28、;关闭中断; S5 =1表示中断是开放的,允许一切表示中断是开放的,允许一切可屏蔽中断的中断请求。可屏蔽中断的中断请求。41S4、S3合起来指出当前正在使用的段寄存器,合起来指出当前正在使用的段寄存器,具体规定为:具体规定为: S4S3含含 义义00当前正使用当前正使用ES01当前正使用当前正使用SS10当前正使用当前正使用CS或未或未使用任何段寄存器使用任何段寄存器11当前正使用当前正使用DS42 BHE (T1 ) / S7 (T2、T3、Tw、T4) -高八位数高八位数据总线允许据总线允许/状态复用状态复用 - 输出。输出。 S7用来输出状态信息,在当前用来输出状态信息,在当前8086芯

29、片设计芯片设计中未被定义,暂作备用。中未被定义,暂作备用。BHE为低电平时表示高八位数据线上的数据为低电平时表示高八位数据线上的数据有效。有效。读写和响应中断时的区分?读写和响应中断时的区分?43BHEAD0总线使用情况总线使用情况所用的数据总线所用的数据总线0016位数据总线上进行位数据总线上进行字字传送传送AD15AD001高高8位数据总线上进行字节传送位数据总线上进行字节传送AD15AD810低低8位数据总线上进行字节传送位数据总线上进行字节传送AD7AD011无效无效BHE和和A0编码的含义编码的含义BHE和和A0合起来表示当前总线的使用:合起来表示当前总线的使用:44 RD (T2、

30、T3、Tw) -读信号读信号-三态输出,低三态输出,低电平有效电平有效。指出要发命令,将要执行一个对内存或端口的指出要发命令,将要执行一个对内存或端口的读操作。读操作。 WR-写信号写信号-三态输出,低电平有效三态输出,低电平有效。指出要发命令,将要执行一个对内存或端口的指出要发命令,将要执行一个对内存或端口的写操作。写操作。45 M/IO-存储器存储器/输入输出控制信号输入输出控制信号-三态输三态输出。出。M/IO为为1时,表示时,表示CPU当前正在访问存储器;当前正在访问存储器;M/IO为为0时,表示时,表示CPU当前正在访问当前正在访问I/O端口。端口。 一般地,在前一个总线周期的一般地

31、,在前一个总线周期的T4 状态它就成状态它就成为有效电平,然后开始一个新的总线周期,在此为有效电平,然后开始一个新的总线周期,在此周期中一直保持有效电平,直到本周期的周期中一直保持有效电平,直到本周期的T4 状态状态为止。为止。在在DMA方式时,被浮置为高阻状态。方式时,被浮置为高阻状态。46 READY-准备好信号准备好信号-输入,高电平有输入,高电平有效。若效。若CPU在在T3状态检测到它为低电平,则在状态检测到它为低电平,则在T3状态之后插入等待状态状态之后插入等待状态Tw ;当;当READY=1, 则进则进入入T4状态,结束数据传输过程,从而结束该总线状态,结束数据传输过程,从而结束该

32、总线周期。周期。47INTR-可屏蔽中断请求可屏蔽中断请求-输入、电平触发,输入、电平触发,高电平有效。高电平有效。CPU在执行每条指令的最后一个时钟周期在执行每条指令的最后一个时钟周期T4对对INTR管脚进行采样。管脚进行采样。若若IF=1、INTR=1, 则则CPU就在结束当前指令后,就在结束当前指令后,执行相应中断服务程序执行相应中断服务程序48 INTA-中断响应信号中断响应信号-输出、低电平输出、低电平有效。有效。表示表示CPU响应了外设发来的响应了外设发来的INTR信号。该信信号。该信号实际上是位于两个连续总线周期中的两个号实际上是位于两个连续总线周期中的两个负脉冲。负脉冲。第一个

33、负脉冲用于通知外设的接口,它发出第一个负脉冲用于通知外设的接口,它发出的中断请求已得到允许;的中断请求已得到允许;外设接口收到第二个负脉冲后,往数据总线外设接口收到第二个负脉冲后,往数据总线上放中断类型码上放中断类型码/号。号。49NMI-非屏蔽中断信号非屏蔽中断信号-输入、输入、上升沿触发上升沿触发。一旦该信号有效,一旦该信号有效,CPU在现行指令结束后,执行在现行指令结束后,执行对应于对应于中断类型号为中断类型号为2的非屏蔽中断处理程序,的非屏蔽中断处理程序,不受不受IF影响,不能用软件屏蔽影响,不能用软件屏蔽。50 TEST-测试信号测试信号-输入,低电平有效。输入,低电平有效。该信号是

34、与该信号是与WAIT指令结合起来使用的。当指令结合起来使用的。当CPU执行执行WAIT指令时,每隔指令时,每隔5个时钟周期对它进行一个时钟周期对它进行一次测试,若测试到它无效,次测试,若测试到它无效,CPU继续处于等待状继续处于等待状态,直到检测到它为低电平时,等待状态结束,态,直到检测到它为低电平时,等待状态结束,CPU继续往下执行被暂停的指令。继续往下执行被暂停的指令。51 RESET-复位信号复位信号-输入,高电平有效,要输入,高电平有效,要求至少求至少4个时钟周期的高电平。个时钟周期的高电平。CPU接到该信号接到该信号后,停止操作并将标志寄存器后,停止操作并将标志寄存器 、IP、DS、

35、SS、ES清零及指令队列清空,将清零及指令队列清空,将CS设为设为FFFFH;当当RESET变为低电平时,变为低电平时,CPU从从FFFF0H开始开始执行程序执行程序。52 ALE(T1 ) -地址锁存允许信号地址锁存允许信号-输出、高输出、高电平有效。电平有效。在在T1状态,该引腿输出有效电平,以表示当前在状态,该引腿输出有效电平,以表示当前在在数据在数据/地址复用总线上的输出的是地址信息,它地址复用总线上的输出的是地址信息,它用作地址锁存器用作地址锁存器8282的片选信号的片选信号STB,对地址进对地址进行锁存。行锁存。53 DT/R-数据收发信号数据收发信号-三态输出。三态输出。用来控制

36、用来控制8286芯片的数据传送方向。芯片的数据传送方向。DT/R为为1时,进行数据发送,即进行写操时,进行数据发送,即进行写操作;作;DT/R为为0时,进行数据接收,即进行读操时,进行数据接收,即进行读操作。作。54 DEN -数据允许信号数据允许信号-三态输出、低电三态输出、低电平有效。平有效。表示表示CPU当前准备发送或接收一个数据,用作当前准备发送或接收一个数据,用作数据总线收发器数据总线收发器8286的输出允许信号的输出允许信号OE。它在每个存储器和它在每个存储器和I/O访问周期及中断响应周访问周期及中断响应周期为有效电平。期为有效电平。它在它在DMA方式时,被浮置为高阻状态。方式时,

37、被浮置为高阻状态。55 HOLD-总线保持请求信号总线保持请求信号-输入、高输入、高电平有效。电平有效。当系统中当系统中CPU之外的另一个主模块要求占用之外的另一个主模块要求占用总线时,通过它向总线时,通过它向CPU发出高电平请求信号。发出高电平请求信号。 HLDA-总线保持响应信号总线保持响应信号-输出、高输出、高电平有效。电平有效。它有效时,表示它有效时,表示CPU对其它主模块的总线请求对其它主模块的总线请求作出响应,与此同时,所有地址作出响应,与此同时,所有地址/数据总线和数据总线和控制状态线呈现高阻状态,从而让出系统总线。控制状态线呈现高阻状态,从而让出系统总线。56 MN/MX-工作

38、模式选择信号工作模式选择信号-输入。输入。 MN/MX =1,表示,表示CPU工作在最小模式下;工作在最小模式下; MN/MX =0,表示,表示CPU工作在最大模式下。工作在最大模式下。 CLK-主时钟信号主时钟信号-输入。输入。它为它为CPU和总线控制逻辑电路提供定时手段。和总线控制逻辑电路提供定时手段。57三、三、80868086存储器结构与输入存储器结构与输入/ /输出结构输出结构n存储器结构存储器结构n存储器的组成存储器的组成n存储器的分段存储器的分段n存储器的存储器的逻辑地址与物理地址逻辑地址与物理地址n堆栈段的使用堆栈段的使用n输入输入/输出结构输出结构58(1)存储器的组成存储器

39、的组成n存储器结构存储器结构采用分体结构采用分体结构2个个512KB的存储体的存储体偶地址存储体偶地址存储体奇地址存储体奇地址存储体512K8512K8两存储体采用字节交叉编址两存储体采用字节交叉编址59存储体交叉编址方式存储体交叉编址方式奇数地址奇数地址 D15D8偶数地址偶数地址 D7D0512KB=29X210=219地址:地址:A19A1表2.660D7D0奇奇地址存储器地址存储器SELA18A0D7D0偶偶地址存储器地址存储器SELA18A0数据总线数据总线 D7 D0数据总线数据总线 D15 D8BHE地地 址址 总总 线线A19A1A0存储体与总线的连接存储体与总线的连接D7D0

40、SEL片选片选61BHE和和A0组合及对应的控制组合及对应的控制BHE和和A0配合可以访问存储器的控制作用配合可以访问存储器的控制作用BHEA0对应的存取操作对应的存取操作所用的数所用的数据总线据总线00从偶地址开始读从偶地址开始读/写一个写一个字字AD15AD001从奇地址读从奇地址读/写一个写一个字节字节AD15AD810从偶地址读从偶地址读/写一个写一个字节字节AD7AD00110从奇地址读从奇地址读/写一个写一个字字(分两次写)(分两次写)62 在在8086系统中的两个约定:系统中的两个约定:约定一约定一 CPU用数据总线传输用数据总线传输16位数据时,总是位数据时,总是把数据传到以把

41、数据传到以偶地址偶地址开头的两个相邻单元或两开头的两个相邻单元或两个相邻端口中;或者从这样两个单元或两个端个相邻端口中;或者从这样两个单元或两个端口取数。口取数。约定二约定二 数据作为数据作为“字字”在内存或端口存放时,在内存或端口存放时,低位字节放在地址较低的单元或端口,高位字低位字节放在地址较低的单元或端口,高位字节放在地址相邻的较高的单元或端口。节放在地址相邻的较高的单元或端口。 63 也就是说,当也就是说,当CPU往内存或端口传输数据时,往内存或端口传输数据时, 低低8位数据传输到较低的偶地址单元;位数据传输到较低的偶地址单元; 高高8位数据传输到较高的奇地址单元。位数据传输到较高的奇

42、地址单元。 由此可见,偶地址的端口和内存单元由此可见,偶地址的端口和内存单元 总是和总是和数据总线的低数据总线的低8位相联系;而奇地址的端口和内位相联系;而奇地址的端口和内存单元存单元 总是和数据总线的高总是和数据总线的高8位相联系。位相联系。64数数 据据Y数数 据据X偶偶10050H数数 据据Y偶偶奇奇数数 据据X偶偶奇奇低地址图2.58086CPU X Y(a)从偶地址开始读一个字从偶地址开始读一个字奇奇10051H高地址(b)从奇地址开始读一个字节从奇地址开始读一个字节8086CPU8086CPU X数数 据据Y(C)从偶地址开始读一个字节从偶地址开始读一个字节数数 据据X Y数数 据

43、据X偶偶奇奇数数 据据奇奇数数 据据Y X Y数数 据据8086CPU(d)从奇地址开始读一个字从奇地址开始读一个字65 8086CPU有有20条地址线,每个存储单元对应的条地址线,每个存储单元对应的地址是地址是20位的,可位的,可寻址寻址1MB;而而CPU内寄存器的内寄存器的位数是位数是16位的,能寻址的内存空间只能是位的,能寻址的内存空间只能是64KB。 为能对为能对1MB的存储器进行寻址,的存储器进行寻址,8086系统采用系统采用地址分段的方法,即每个逻辑段地址分段的方法,即每个逻辑段最多最多可为可为64KB,段内仍然采用段内仍然采用16位寻址。位寻址。段基址段基址存放在四个段寄存放在四

44、个段寄存器中。存器中。 每个段不一定都是每个段不一定都是64K(可以小于它)。段与可以小于它)。段与段之间可以是连续的,也可以是分开的或重叠的。段之间可以是连续的,也可以是分开的或重叠的。(2)存储器的存储器的分分段段66附加段附加段段首地址的段首地址的最低最低4位总为位总为0段寄存器放相应的段寄存器放相应的段首地址段首地址高高16位位, 即段基址即段基址段寄存器:段寄存器:CS、DS、 SS、ES10000H250A0H7FFAOH8CFA0H1000HCS250AHDS7FFAHSS8CFAHES67逻辑地址:逻辑地址:由段基址和偏移地址两部分组成,由段基址和偏移地址两部分组成,都是无符号

45、的都是无符号的16进制数,写作:进制数,写作:-段基址段基址:偏移地址偏移地址,程序设计程序设计时采用逻辑地址。时采用逻辑地址。 段基址段基址由段寄存器给出;由段寄存器给出;偏移地址偏移地址一般由一般由IP、DI、SI、 BX 、BP、SP等等16位寄存器给位寄存器给出。出。(3)存储器的存储器的逻辑地址与物理地址逻辑地址与物理地址A000H:0800H逻辑地址表示法逻辑地址表示法68 物理地址:物理地址:指指CPU和存储器进行数据交换和存储器进行数据交换时实际使用的地址,即时实际使用的地址,即绝对地址绝对地址(00000HFFFFFH),一个存储单元对应一一个存储单元对应一个个20位地址。位

46、地址。 当当CPU寻址某个存储单元时,形成寻址某个存储单元时,形成20位物位物理地址的计算方法,为:理地址的计算方法,为: 物理地址物理地址段基址段基址X16偏移地址偏移地址 左移左移4位位 段基址段基址10H +偏移地址(偏移地址(EA)69段寄存器值段寄存器值偏偏 移移 量量物物 理理 地址地址16位位4位位16位位20位位+ 存储器物理地址的计算方法示意图存储器物理地址的计算方法示意图70物理地址物理地址019偏移地址偏移地址015段基址段基址3 2 1 0015 存储器物理地址的计算方法示意图存储器物理地址的计算方法示意图71IPCSSI、DI 或或 BXDS 或或 ESSP 或或 B

47、PSS代码段代码段数数 据据 段段堆栈段堆栈段CS、DS、SS和其他寄存器组合和其他寄存器组合指向存储单元的示意图指向存储单元的示意图(CS)=3000(EA )=1070H310703000H:1070H72(4) 堆栈段的使用堆栈段的使用堆栈:堆栈:是在存储器中开辟的一个区域,用来存放是在存储器中开辟的一个区域,用来存放暂暂时保存时保存的数据。的数据。方式:方式:“先进后出先进后出”;“后进先出后进先出”.12000HSP堆栈指针堆栈指针11FFFH11FFEH10000HSS堆栈寄存器堆栈寄存器堆栈段堆栈段首地址首地址64KB分布分布地址增地址增加方向加方向73n输入输入/输出结构输出结

48、构I/O端口单独编址端口单独编址,其地址空间独立于存储器;,其地址空间独立于存储器;I/O端口与存储器端口与存储器统一编址统一编址,与存储器共享一,与存储器共享一个地址空间;用对存储器的访问指令来实现对个地址空间;用对存储器的访问指令来实现对端口的读写。端口的读写。 优点优点是不需要专门的是不需要专门的I/O指令,寻址手段丰富指令,寻址手段丰富灵活。灵活。缺点缺点是是I/O端口占一部分地址空间,程序端口占一部分地址空间,程序不易阅读。不易阅读。在不同的微机系统中,在不同的微机系统中,I/O接口的编址接口的编址有两种形式:有两种形式:I/O组织组织74 每个每个I/O接口芯片内都有一个或几个接口

49、芯片内都有一个或几个端口端口,一个端口往往对应着芯片内部的一个寄存器一个端口往往对应着芯片内部的一个寄存器或一组寄存器。或一组寄存器。微机系统为每一端口分配一个地址微机系统为每一端口分配一个地址-端口号。端口号。 8086允许有允许有65535个个8位的位的I/O端口,两个相端口,两个相邻的邻的8位端口可组成一个位端口可组成一个16位端口。位端口。 独立编址的操作过程为:独立编址的操作过程为:CPU执行执行IN或或OUT指令时,从硬件产生有效的读指令时,从硬件产生有效的读/写控制信号,同写控制信号,同时使时使M/IO为低电平,通过为低电平,通过外部逻辑电路外部逻辑电路的组合,的组合,产生对产生

50、对I/O端口的读或写信号。端口的读或写信号。75思考题ncpu内存空间分配如何?内存空间分配如何? 76IN AL, 21H返回772. 最小工作模式系统最小工作模式系统系统配置:系统配置:是指要想构成一个工作在某一模式下是指要想构成一个工作在某一模式下的系统,除的系统,除8086CPU外所需配置的其它一些外所需配置的其它一些芯片芯片和和这些芯片与这些芯片与CPU间的主要间的主要连接连接关系。关系。四、四、80868086的最大的最大/ /最小模式系统最小模式系统1.系统配置系统配置78最小模式最小模式典型典型配置在硬件连接上的特点:配置在硬件连接上的特点:n 含三片含三片地址锁存器地址锁存器

51、8282/8283n 含两片含两片总线双向数据缓冲器(总线双向数据缓冲器(总线收发总线收发 器器)8286/8287n 含一片含一片时钟发生器时钟发生器8284An MN/MX端接高电平(端接高电平(+5v) 8284ARESETREADYMN / MXALEBHEA1A16AD15AD0DENDT / RM / IOWRRDHOLDHLDAINTRINTA8086STB8282(三片)三片)地址锁存器地址锁存器数据收发器数据收发器8286OET控制总线控制总线数据总线数据总线地址总线地址总线CLK+5VREADYRESETBHE8086CPU最小模式下系统配置最小模式下系统配置x1x2RDY

52、RES(两片)两片)(可选)(可选)80ALEAD0AD1AD2AD3AD6AD7AD5AD4AD8AD9AD15A16A17A18A19BHEDI0DI1DI2DI3DI4DI5DI6DI7OEDO0DO1DO2DO3DO4DO5DO6DO7数据数据STBDI0DI1DI7DO0DO1DO7STBOE8282STBOE8282数据数据80868282锁存器和锁存器和8086的连接的连接 OE为低电平时,为低电平时,DOi有效,否则变为高阻抗。有效,否则变为高阻抗。828281数据数据总线总线 只有当只有当OE为低电平时,才允许数据通过为低电平时,才允许数据通过8286。AD0AD1AD2AD

53、3AD6AD7AD5AD4A0A1A2A3A6A7A5A4OEB0B1B2B3B6B7B5B4T8286DENDT / RA0A1A2A3A6A5A4A7808682868286总线收发器和总线收发器和80868086的连接的连接82提供频率恒定的提供频率恒定的时钟信号时钟信号提供与提供与CLK同步的同步的READY和和RESET信号信号8284A的两个功能:的两个功能:8284A的两个振荡源:的两个振荡源:脉冲发生器脉冲发生器晶体振荡器晶体振荡器83510510510510X1X2EFIF/C8284AREADYRESETRDYRESCLKCLKRESETREADY8086 8284A与与8

54、086的连接的连接控制总线控制总线843. 最大模式系统最大模式系统 最大模式下还需配置外加电路(总线最大模式下还需配置外加电路(总线控制器控制器8288)来对)来对CPU输出的状态信号输出的状态信号(S2、S1、S0) 进行变换和组合,以得到对存储器进行变换和组合,以得到对存储器和和I/O端口的读端口的读/写信号,以及对写信号,以及对8282及及8286的控制信号等。的控制信号等。858288通过译码器输出五组控制信号通过译码器输出五组控制信号v送给送给8282的地址锁存信号的地址锁存信号ALEv送给送给8286的控制信号的控制信号DEN和和DT/R,分别控制分别控制8286 的开启和数据传

55、输方向的开启和数据传输方向v决定决定8288本身工作方式的信号本身工作方式的信号IOBv中断响应信号中断响应信号INTAv读读/写控制信号写控制信号MRDC、MWTC、IORC、IOWCRESETREADYMN / MXBHEA19A16AD15AD0INTR8086CLKREADYRESET8284ACLKOE8282锁存器锁存器(3个)个)STB8286收发器收发器(2个)个)OETRQ/GT1RQ/GT0S0S1S2地址总线地址总线8288总线控制器总线控制器8259A及有关电路及有关电路BHEINTA中断请求中断请求控制总线控制总线数据总线数据总线 8086在最大模式下的典型配置图在最

56、大模式下的典型配置图DT/ RDENALE871. QS1、QS0(Instruction Queue Status)指令队列状态信号输出指令队列状态信号输出n向外提供前一个状态时指令队列的状态,便于外部对8086/8088内部指令队列的动作跟踪n最大系统模式中,总线控制器8288就是利用这些状态信号来产生对存储器和I/O接口的控制信号,表2.82.S2、S1、S0(Bus cycle status)总线总线周期状态周期状态883. LOCK总线封锁信号输出总线封锁信号输出n由指令前缀LOCK产生,LOCK后指令执行完毕,自动撤销n8086/8088的INTA的两个中断响应脉冲之间,LOCK信

57、号有效nLOCK信号有效期间,其他总线部件不能占用总线nDMA期间,高阻态894. RQ/GT1、RQ/GT0:总线请求信号输:总线请求信号输入入/总线请求允许信号输出总线请求允许信号输出n可提供CPU以外的两个处理器使用n双向nRQ/GT0比RQ/GT1优先级高5.总线控制器总线控制器8288的输出信号的输出信号nALE、DEN、DT/R、INTA90五、五、 8086CPU的内部时序的内部时序 1.8086 CPU总线周期的概念总线周期的概念2.最小模式下的最小模式下的8086CPU的读写总线保的读写总线保持总线周期持总线周期91 为使取指令和传送数据协调工作,为使取指令和传送数据协调工作,8086的操作的操作在时钟(在时钟(CLK)的统一控制下进行,其操作是周的统一控制下进行,其操作是周期性的期性的。指令周期:指令周期:执行一条指令所需的时间。一个指令执行一条指令所需的时间。一个指令周期由若干个总线周期组成。周期由若干个总线周期组成。总线周期:总线周期:CPU通过总线与存储器或外设进行一通过总线与存储器或外设进行一次数据传输所需的时间。次数据传输所需的时间。 一个总线周期由一个总线周期由若干若干个时钟周期组成。一个最个时钟周期组成。一个最

温馨提示

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

评论

0/150

提交评论