微机原理与应用第四章课件.ppt

上传人(卖家):晟晟文业 文档编号:3728566 上传时间:2022-10-07 格式:PPT 页数:96 大小:899.96KB
下载 相关 举报
微机原理与应用第四章课件.ppt_第1页
第1页 / 共96页
微机原理与应用第四章课件.ppt_第2页
第2页 / 共96页
微机原理与应用第四章课件.ppt_第3页
第3页 / 共96页
微机原理与应用第四章课件.ppt_第4页
第4页 / 共96页
微机原理与应用第四章课件.ppt_第5页
第5页 / 共96页
点击查看更多>>
资源描述

1、4.1 16位微处理器概述位微处理器概述4.2 8086/8088CPU的结构的结构4.3 8086/8088CPU的引脚信号和工作模式的引脚信号和工作模式4.4 8086/8088的主要操作功能的主要操作功能本章目标本章目标1971年第一块微处理器问世,年第一块微处理器问世,Intel 4040Intel 4040 ROM、RAM、I/O芯片芯片MCS-4Intel 8008ROM、RAM、I/O芯片芯片MCS-81972年年 第一代第一代微处理器微处理器时间时间微处理器微处理器数据数据线线地址线地址线集成度集成度时钟频时钟频率率代表产代表产品品71-73年年第一代第一代Intel40404

2、位位4位位2300管管/片片1MMCS-474-77年年第二代第二代8080/8085MC6800Z808位位16位位1万管万管/片片2-4MIBM PCIBM PC-XT78-84年年第三代第三代8086/80286MC68000Z800016位位20位位/24位位13万管万管/片片6-10MIBM PC-AT时间时间微处理器微处理器数据数据线线地址线地址线集成度集成度时钟频时钟频率率代表产代表产品品85-92年年第四代第四代80386/8048668020/68030NEC V8032位位32位位120万管万管/片片50-100M80486IBM-PC60193-96年年第五代第五代Int

3、el PentiumPentium 二二代代 Pentium Pro.(P6)64位位36位位550万万管管/片片133-300MIntel P6IBM-PC6028088/8086 CPU寄存器组寄存器组算术逻辑单元算术逻辑单元ALU 标志寄存器标志寄存器FR暂存器暂存器执行单元执行单元EU(Execution Unit)总线接口单元总线接口单元BIU(Bus Interface Unit)完成取指令和完成取指令和存取数据操作存取数据操作负责分析指令负责分析指令和执行指令和执行指令内部控制逻辑内部控制逻辑段寄存器(段寄存器(CS、SS、DS、ES)地址加法器地址加法器指令队列指令队列输入输入

4、/输出控制电路输出控制电路指令指针寄存器指令指针寄存器IP地址总线地址总线20位位控制总线控制总线数据总线数据总线16 8088/8086的内部结构图AHBHCHDHALBLCLDLSPBPSIDICSDSSSESIP内部暂存寄存器内部暂存寄存器暂存寄存器暂存寄存器FREU控制系统1 2 3 4 5 6总线控制逻辑总线控制逻辑数据总线数据总线16ALU通用寄存器通用寄存器8088指令队列指令队列8088/8086外部总线外部总线数据总线数据总线地址总线地址总线20位位执行部件执行部件EU总线接口部件总线接口部件BIU16位位控制总线EU控制系统ALUEU控制系统控制系统ALU数据总线数据总线1

5、6地址总线地址总线20位位控制总线AXBXCXDX8086CPU采用并行工作方式取指令2 取操作数BIU存结果取指令3 取操作数 取指令4执行1执行2执行3 EUBUS忙碌忙碌忙碌忙碌忙碌忙碌BIU和和EU是并行工作的是并行工作的,按流水线技术原则管理按流水线技术原则管理4.执行转移、调用和返回指令时,指令队列中的原有内容自动消除执行转移、调用和返回指令时,指令队列中的原有内容自动消除 BIU往指令队列中装入另一程序段中的指令往指令队列中装入另一程序段中的指令8088中一个中一个1.当当8086指令队列中有指令队列中有两个两个空字节时空字节时,BIU自动把指令取到队列中自动把指令取到队列中2.

6、EU从指令队列取指,执行。执行过程中如果要访问存储器或从指令队列取指,执行。执行过程中如果要访问存储器或I/O,而此时,而此时,BIU正在取指,完成取指后,响应正在取指,完成取指后,响应EU的总线请求。的总线请求。3.指令队列已满,指令队列已满,EU又没有总线访问,又没有总线访问,BIU进入空闲状态进入空闲状态动画演示动画演示l8086内部由两部分组成:内部由两部分组成:执行单元(执行单元(EU)总线接口单元(总线接口单元(BIU)AXBXCXDX累加器累加器基地址寄存器基地址寄存器计数器计数器数据寄存器数据寄存器通用寄存器通用寄存器SPBPSIDI堆栈指针寄存器堆栈指针寄存器基地址寄存器基地

7、址寄存器源变址寄存器源变址寄存器目的变址寄存器目的变址寄存器专用寄存器专用寄存器15 0状态标志寄存器状态标志寄存器FR15 0算术逻辑单元算术逻辑单元ALUAH ALBH BLCH CLDH DL8 7EU控制器控制器功能:执行指令 从指令队列中取指令代码 译码 在ALU中完成数据的运算 运算结果 的特征保存在标志寄存器FLAGS中。算术逻辑单元(运算器)8个通用寄存器 1个标志寄存器 EU部分控制电路CSDSSSES代码段寄存器代码段寄存器数据段寄存器数据段寄存器堆栈段寄存器堆栈段寄存器附加段寄存器附加段寄存器段寄存器段寄存器IP指令指针寄存器指令指针寄存器20位的地址加法器位的地址加法器

8、BIU总线控制逻辑总线控制逻辑1 2 3 4 5 66个字节的指令队列个字节的指令队列80884个字节个字节功能:从内存中取指令送入指令预取队列从内存中取指令送入指令预取队列负责与内存或输入负责与内存或输入/输出接口之间的数输出接口之间的数据传送据传送在执行转移程序时,BIU使指令预取队列复位,从指定的新地址取指令,并立即传给执行单元执行。(1)四个段地址寄存器四个段地址寄存器CS 16位代码段寄存器DS 16位数据段寄存器ES 16位附加段寄存器SS 16位堆栈段寄存器(2)IP 16位指令指针寄存器位指令指针寄存器 指向下一条要取出的指令。(3)20位地址加法器位地址加法器16位内部寄存器

9、提供的信息经地址加法器产生20位地址信息。例:指令的物理地址=CS 16+IP(4)六字节的指令队列六字节的指令队列取指令与执行指令并行工作,即在一条指令的执行过程中,可以取出下一条或多条指令,在指令队列中排队。含14个16位寄存器,按功能可分为三类8个通用寄存器4个段寄存器1个标志寄存器1个指令指针寄存器动画演示动画演示 数据寄存器(AX,BX,CX,DX)地址指针寄存器(SP,BP)变址寄存器(SI,DI)8086含4个16位数据寄存器,它们又可分为8个8位寄存器,即:AX AH,ALBX BH,BLCX CH,CLDX DH,DL常用来存放参与运算的操作数或运算结果AX:累加器。多用于存

10、放中间运算结果。所有 I/O指令必须都通过AX与接口传送信息;BX:基址寄存器。在间接寻址中用于存放基地址;CX:计数寄存器。用于在循环或串操作指令中存放循环次数或重复次数;DX:数据寄存器。在32位乘除法运算时,存放高16位数;在间接寻址的I/O指令中存 I/O端口地址。SP:堆栈指针寄存器,其内容为栈顶的偏移地址;BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。作为通用寄存器,二者均可用于存放数据;作为基址寄存器,BX通常用于寻址数据段,与DS搭配使用。;BP则通常用于寻址堆栈段,与SS搭配使用。BX一般与DS或ES搭配使用SI:源变址寄存器DI:目标变址寄存器变址寄存器常

11、用于指令的间接寻址或变址寻址。特别是在串操作指令中,用SI存放源操作数的偏移地址,而用DI存放目标操作数的偏移地址。用于存放逻辑段的段基地址(逻辑段的概念后面将要介绍)CS:代码段寄存器 代码段用于存放指令代码代码段用于存放指令代码 DS:数据段寄存器 ES:附加段寄存器 数据段和附加段用来存放操作数数据段和附加段用来存放操作数 SS:堆栈段寄存器 堆栈段用于存放返回地址,保存寄存器内堆栈段用于存放返回地址,保存寄存器内容,传递参数容,传递参数IP:指令指针寄存器,其内容为下一条 要执行的指令的偏移地址FLAGS:标志寄存器状态标志:存放运算结果的特征控制标志:控制某些特殊操作 6个状态标志位

12、(CF,SF,AF,PF,OF,ZF)3个控制标志位(IF,TF,DF)OF DFIFTF SF ZFAFPFCF15 11 10 9 8 7 6 5 4 3 2 1 0进位标志进位标志奇偶标志奇偶标志半进位标志半进位标志零标志零标志符号标志符号标志中断标志中断标志单步标志单步标志溢出标志溢出标志方向标志方向标志控制标志控制标志状态标志状态标志FR寄存器寄存器表表 8086 CPU 标志位情况标志位情况名 称符 号符号标志SF功能与运算结果的最高位相同,当数据用补码表示时,负数的最高位为1,所以符号标志表示运算执行后的结果是正还是负零标志ZF当前的运算结果为零,当前的运算结果为非零奇偶标志PF

13、运算结果所含的1的个数为偶数进位标志CF当执行一个加法运算使最高位产生进位时,或者执行一个减法运算引起最高位产生借位时,此外,循环指令也影响这一标志辅助进位标志AF加法运算时,如果第3位往第4位有进位;减法运算时,如果第3位往第4位有借位。辅助进位标志一般在BCD码运算中作为是否进行十进制调整的判断依据溢出标志OF运算过程中产生溢出时,所谓溢出,是指当字节运算的结果超出了范围 128+127,或者当字运算的结果超出了范围 32768+32767时称为溢出方向标志DF控制串操作指令用的标志。DF=0,串操作过程中的地址会不断增值;DF=1,串操作过程中的地址会不断减值中断标志IF控制可屏蔽中断的

14、标志。IF=0,CPU不能对可屏蔽中断请求作出响应;IF=1,CPU可以接受可屏蔽中断请求跟踪标志TF CPU按跟踪方式执行指令主要内容:主要内容:存储器编址存储器编址存储器分段和物理地址生成存储器分段和物理地址生成堆栈和栈操作指令堆栈和栈操作指令 8086 8086计算机主存储器是按字节进行组织的,计算机主存储器是按字节进行组织的,两个相邻的字节被称为一个两个相邻的字节被称为一个“字字”。存放的信息若是以字节存放的信息若是以字节ByteByte(8 8位)为单位位)为单位的,将在存储器中按顺序排列存放,每个地址的,将在存储器中按顺序排列存放,每个地址单元存放一个字节,即每个字节占用一个地址;

15、单元存放一个字节,即每个字节占用一个地址;若存放的数据为一个字若存放的数据为一个字WordWord(1616位)时,则位)时,则每一个字占用两个地址相连的存储单元,其中每一个字占用两个地址相连的存储单元,其中低字节(低低字节(低8 8位)存放在低地址中,高字节(高位)存放在低地址中,高字节(高8 8位)存放在高地址中,并以低地址作为该字的位)存放在高地址中,并以低地址作为该字的地址。地址。80868086系统只能提供系统只能提供2020根地址线来区分内存的根地址线来区分内存的不同存储单元,因此不同存储单元,因此80868086系统可以连接的内存系统可以连接的内存最多只能包含最多只能包含2 22

16、020(1M1M)字节的存储单元。)字节的存储单元。存储器以存储器以8 8位为一个存储单元编址,每一个存位为一个存储单元编址,每一个存储单元用唯一的一个地址码来表示。储单元用唯一的一个地址码来表示。一个字的两个单元有各自的地址,处于低地一个字的两个单元有各自的地址,处于低地址的址的字节的地址字节的地址为这个为这个字的地址字的地址在存储器中,任何连续存放的两个字节都可在存储器中,任何连续存放的两个字节都可以称为一个字。将偶地址的字称为以称为一个字。将偶地址的字称为规则字规则字,奇,奇地址的字称为地址的字称为非规则字非规则字。例:字例:字2301的地址为的地址为0000H,为,为规则字;规则字;字

17、字89678967的地址为的地址为0003H,为,为非规则字。非规则字。8086的存储器结构l物理地址物理地址l8086:20根地址线,可寻址220(1MB)个存储单元lCPU送到AB上的20位的地址称为物理物理地址地址 物理地址.60000H 60001H 60002H 60003H 60004H.12HF0H1BH08H存储器的操作完全基存储器的操作完全基于于物理地址物理地址。问题:问题:80868086的内部总线和内的内部总线和内部部寄存器均为寄存器均为1616位位,如何生成如何生成2020位地址位地址?解决:解决:存储器分段存储器分段高地址低地址段基址段基址段基址段基址最大最大64KB

18、段i-1段i段i+11.1M存储空间分成若干个逻辑段,每一段存储空间分成若干个逻辑段,每一段 64K2.段与段之间可以连续排列,部分重叠,断续排段与段之间可以连续排列,部分重叠,断续排列。列。段基地址段基地址和段内段内偏移偏移组成了逻辑地址逻辑地址 段地址段地址 偏移地址偏移地址(偏移量偏移量)格式为:段地址段地址:偏移地址偏移地址 物理地址物理地址=段基地址段基地址16+偏移地址偏移地址60002H00H12H60000H0 0 0 0段基地址(段基地址(16位)位)段首地址段首地址 02HBIU中的地址加法器用来实现逻辑地址到物理中的地址加法器用来实现逻辑地址到物理地址的变换地址的变换80

19、88 可同时访问可同时访问4个段,个段,4个段寄存器指示了每个段寄存器指示了每个段的基地址个段的基地址段基址段基址段内偏移段内偏移物理地址物理地址+16位20位0000逻辑地址和物理地址区别逻辑地址和物理地址区别物理地址:物理地址:20位绝对地址位绝对地址逻辑地址:段基址:段内偏移量逻辑地址:段基址:段内偏移量物理地址物理地址=段基址段基址 16+偏移地址偏移地址段寄存器值 0000 偏移地址 20位物理地址 16位4位15015019020条地址线条地址线 寻址能力寻址能力地址范围地址范围220=1M字节字节 00000FFFFFH19 0物理地址物理地址加法器加法器段基址段基址 偏移地址偏

20、移地址15 015 00000偏移地址偏移地址段首地址段首地址00000H42320H42386H乘以乘以16物理地址物理地址例:例:已知已知IP=66H,CS=4232HCS16=42320H段首址段首址IP=66H偏移地址偏移地址下一条指令下一条指令物理地址物理地址采用段寄存器的优点采用段寄存器的优点1.解决了解决了16位寄存器如何访问大于位寄存器如何访问大于64KB内存空间的问题内存空间的问题2.可以实现程序的重定位可以实现程序的重定位物理地址:物理地址:1MB存储区域中的实际地址(存储区域中的实际地址(20位的地址)位的地址)逻辑地址:程序中出现的地址,由段地址和段内偏移量组成逻辑地址

21、:程序中出现的地址,由段地址和段内偏移量组成(注:段地址和段偏移量都是注:段地址和段偏移量都是16位的二进制数位的二进制数)存储器管理就是将程序中的逻辑地址转换成物理地址的结构存储器管理就是将程序中的逻辑地址转换成物理地址的结构物理地址物理地址=段地址段地址16+偏移量偏移量*同一物理地址可以有不同的段地址和偏移量同一物理地址可以有不同的段地址和偏移量对对8086/8088而言而言内存地址的一般情况内存地址的一般情况1.指令地址:指令地址:CS16+IP2.堆栈操作地址:堆栈操作地址:SS16+SP3.操作数地址:操作数地址:DS(ES)16+偏移地址(其中的偏移地址取决于指令的寻址方式其中的

22、偏移地址取决于指令的寻址方式共共24种种)已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,DS段有一操作数,其偏移地址=0204H,1)画出各段在内存中的分布 2)指出各段首地址 3)该操作数的物理地址=?10550H250A0H2EF00H8FF00HCSSS CSDSES解:解:各段分布及段首址见右图所示。各段分布及段首址见右图所示。操作数的物理地址为:操作数的物理地址为:250AH10H+0204H=252A4H注意:一个程序可以有代码段、数据段、附加段和堆栈段,一个程序可以有代码段、数据段、附加段和堆栈段,它们的段基址分别存放在它们的段基址分别存放在CS、D

23、S、ES和和SS中。段寄存器为中。段寄存器为16位,在计算物理地址时要乘位,在计算物理地址时要乘16,比如,比如DS的内容为的内容为1000H,对,对应物理地址为应物理地址为10000H,相当于在二进制数尾部补了,相当于在二进制数尾部补了4个个0,也,也就是说,就是说,段的起始地址段的起始地址只能从物理地址能够整除只能从物理地址能够整除16的(二进的(二进制数尾部为制数尾部为4个个0)那些地址开始。)那些地址开始。例如,如下第一列的物理地址可以作为例如,如下第一列的物理地址可以作为段首地址段首地址,存入段寄,存入段寄存器时只存前存器时只存前16位二进制数,其他列不可以作为段首地址。位二进制数,

24、其他列不可以作为段首地址。00000H 00001H 00002H 00003H 0000FH 00010H 00011H 00012H 00013H 0001FH 00020H 00021H 00022H 00023H 0002FH 00030H 00031H 00032H 00033H 0003FH 内存中一个按LIFO方式操作的特殊区域每次压栈和退栈均以WORD为单位SS存放堆栈段地址,SP存放段内偏移,SS:SP构成了堆栈指针堆栈用于存放返回地址、过程参数或需要保护的数据常用于响应中断或子程序调用堆栈区是在随机存储的内存堆栈区是在随机存储的内存中开辟一片数据存储区实现中开辟一片数据存储

25、区实现FILO(或或LIFO)的数据存放。的数据存放。这种数据存取方式类似于货这种数据存取方式类似于货物的堆放与取出,故称作堆物的堆放与取出,故称作堆栈。也类似于弹匣中子弹的栈。也类似于弹匣中子弹的存取方式。存取方式。堆栈的堆栈的FILO存取方式是靠存取方式是靠堆栈指针堆栈指针SP的自动变化来的自动变化来实现的。实现的。若已知SS=0200H,SP=0008H,CX=12FAH,操作示意图如图4.2.1所示:0200000812FA2000SS段首地址新栈顶新栈顶FA12原栈顶200620072008+2SSSPCX12FAH图4.2.1 PUSH CX 的 操作过程例例1:入栈指令入栈指令

26、PUSHPUSH CX高地址低地址SP=SP-2SS16+SP=02008HSP操作示意图如图4.2.2所示:0200000612FA2000SS段首地址原栈顶FA12新栈顶新栈顶200620072008+2SSSPCX12FAH图4.2.2 POP CX的操作过程16例例2:出栈指令出栈指令POPPOP CX低地址高地址SS16+SP=02006HSP=SP+2SPSPSSSS压栈前压栈前退栈后退栈后高低低高高12HSSF0HSP压栈后压栈后低高SPSPSPF0H12HSPPUSH AXPOP BXAX=12F0HBX=12F0H状态标志寄存器进栈指令PUSHF 出栈指令POPF 追踪标志追

27、踪标志TF只有通过只有通过PUSHF将整个标志寄存器进栈,然后改变栈顶存将整个标志寄存器进栈,然后改变栈顶存储单元的储单元的D8位,再用位,再用POPF指令出栈。指令出栈。取指令取指令译码译码执行执行每条指令每条指令一系列控制信号一系列控制信号指令周期:执行一条指令所需要的时间指令周期:执行一条指令所需要的时间总线周期:总线周期:CPU从存储器或从存储器或I/O端口存取端口存取 一次所需要的时间(一次所需要的时间(Bus Cycle)访问一次总访问一次总线的时间线的时间分析分析执行每一条指执行每一条指令的时间不同令的时间不同每个总线周期通常包含每个总线周期通常包含4个个T状态状态CLKT1 T

28、2 T3 T4总线周期总线周期8086的时钟频率为的时钟频率为10MHZ,时钟周期(一个,时钟周期(一个T状态)为状态)为100ns基本总线周期基本总线周期存储器读或写存储器读或写输入输出的读或写输入输出的读或写中断响应中断响应最基本的最基本的总线周期总线周期8080/8085 8位位 16位位 64KB 408088/8086 16位位 20位位 1MB 40数据线数据线 地址线地址线 直接寻址直接寻址 引脚数引脚数双功能引脚的功能转换双功能引脚的功能转换分时复用分时复用同一引脚在一个总线周期的同一引脚在一个总线周期的不同时钟周期内其功能不同不同时钟周期内其功能不同根据工作模式定义引脚的功能

29、根据工作模式定义引脚的功能工作模式工作模式最小工作模式:所有的总线控制信号都最小工作模式:所有的总线控制信号都 直接由直接由8088/8086产生产生最大工作模式:最大工作模式:8088/8086要通过总线控制器要通过总线控制器 8288来形成各种总线周期,控来形成各种总线周期,控 制信号由制信号由8288供给供给MN/MX=VCCMN/MX=GND单单CPU系统系统多多CPU系统系统 8086是一个40引脚的器件,为了便于组成不同规模的系统,Intel公司为8086设计了两种工作模式。在不同的工作模式下,引脚信号的含义不同。1.AD15AD0 地址地址/数据复用总线,双向,三态数据复用总线,

30、双向,三态 (8088中中A15A8不复用,输出,三态)不复用,输出,三态)2.A19/S6A16/S3,地址,地址/状态线复用,输出,三态状态线复用,输出,三态S4S3当前段寄存器当前段寄存器0 0使用附加段寄存器使用附加段寄存器0 1使用堆栈段寄存器使用堆栈段寄存器1 0使用代码段寄存器使用代码段寄存器1 1使用数据段寄存器使用数据段寄存器3.BHE/S7(8086),),高高8位数据线允位数据线允 许许/状态信息复状态信息复 用引脚,输出用引脚,输出奇地址奇地址存储器存储器偶地址偶地址存储器存储器A0A19A1D7D0D15D8(34)512K*8512K*8D7D0D7D000005H

31、00004H00003H00002H00001H00000H一个字一个字BHE A0 0 0 字操作字操作 0 1 奇地址高位字节奇地址高位字节 1 0 偶地址低位字节偶地址低位字节BHESELSEL00005H00004H00003H00002H00001H00000H一个字一个字BHE A0 0 0 字操作字操作 0 1 奇地址高位字节奇地址高位字节 1 0 偶地址低位字节偶地址低位字节BHE 0 偶地址低位字节偶地址低位字节A00 0 字操作字操作4.NMI,非屏蔽中断,输入,非屏蔽中断,输入7.CLK,时钟信号,输入,时钟信号,输入8.RESET,复位信号,输入(至少保持,复位信号,输

32、入(至少保持4个时钟周期的高电平)个时钟周期的高电平)CPU立即停止操作,清立即停止操作,清FR,DS,ES,SS、IP及指令队列。及指令队列。同时,置同时,置CS为为FFFFH。当。当RESET变为低电平时,变为低电平时,CPU从从FFFF0H单元开始启动。单元开始启动。牢牢记记6.RD,读信号,输出,三态,低电平有效,读信号,输出,三态,低电平有效5.INTR,可屏蔽中断请求信号,输入,可屏蔽中断请求信号,输入 9.READY,准备好信号,输入,准备好信号,输入=VCC最小工作方式(单最小工作方式(单CPU方式)方式)=GND最大工作方式(多最大工作方式(多CPU方式)方式)MN/MXMN

33、/MX11.MN/MX,最小,最小/最大模式控制引脚,输入最大模式控制引脚,输入12.GND地和地和VCC电源引脚电源引脚10.TEST,测试信号,输入,低电平有效,测试信号,输入,低电平有效1.INTA(QS1),中断响应,输出,三态,低电平有效),中断响应,输出,三态,低电平有效3.DEN(S0),数据允许信号,输出,三态,低电平有效),数据允许信号,输出,三态,低电平有效括号中是最大工作模式下括号中是最大工作模式下的引脚功能的引脚功能常用的地址锁存器有常用的地址锁存器有8282/8283、74LS3732.ALE(QS0),地址锁存允许信号,输出,三态,高电平),地址锁存允许信号,输出,

34、三态,高电平4.DT/R(S1),数据发送),数据发送/接收控制,输出,三态接收控制,输出,三态6.WR(LOCK),写信号,输出,三态,低电平有效),写信号,输出,三态,低电平有效7.HOLD(RQ/GT0),请求占用总线信号,输入,),请求占用总线信号,输入,高电平有效(总线保持请求信号)高电平有效(总线保持请求信号)8.HLDA(RQ/GT1),同意让出总线信号,输出,),同意让出总线信号,输出,高电平有效高电平有效(总线保持响应信号)(总线保持响应信号)5.M/IO(S2),存储器),存储器/IO控制,输出,三态控制,输出,三态8088M/IO SS0(8088),),系统状态信号(与

35、系统状态信号(与IO/M和和DT/R一起反映总一起反映总 线周期的状态,见表)线周期的状态,见表)(BHE/S7)8086你能说出你能说出8088与与8086在引脚的在引脚的功能上有几点不同吗?功能上有几点不同吗?M/IO DT/R SS0 操作操作发中断发中断响应信号响应信号读读I/O端口端口写写I/O端口端口暂停暂停取指令取指令读内存读内存写内存写内存无源状态无源状态1 0 01 0 11 1 01 1 10 0 00 0 10 1 00 1 1收发器收发器8286(二片)(二片)最小工作模式下的典型配置最小工作模式下的典型配置8284A地址锁存器地址锁存器8282(三片)(三片)控制总线

36、控制总线控控制制总总线线+5VSTBOET数据总线数据总线地址总线地址总线BHEREADYRESETCLK MN/MXRESET ALE READY BHE A19A16 AD15AD0 8086 DEN DT/R M/IO WR RD HOLD HLDA INTR INTA74LS373替代替代74LS245替代替代20位位地址总线地址总线数据总线数据总线控制总线控制总线地址总线地址总线数据总线数据总线控制总线控制总线8282/74LS373 具有三态正相输出的锁存器内部包含8个D触发器引脚:DI0DI7 输入DO0DO7 输出STB 锁存信号OE#输出允许功能:STB=1 锁存数据OE#=

37、0 将锁存的数据输出功能类似的还有8283但为反相输出芯片选通输出允许8282AD0AD1AD2AD3AD4AD5AD6AD7AD8AD9AD15A16A17A18A19BHE 数据数据DI0 DO0DI1 DO1DI2 DO2DI3 DO3DI4 DO4DI5 DO5DI6 DO6DI7 DO7DI0 DO0DI1 DO1DI7 DO7ALESTBSTBSTB地址地址808682828282OEOE 8282锁存器与8086的连接8286/74LS245 双向三态驱动器引脚:A0A7和B0B7 双向数据线OE#输出允许T 方向控制功能:OE#=0时,门导通;门导通时:T=0,BA;T=1,A

38、B功能类似的还有8287但为反相输出 输出允许方向选择8286T8088数据总线数据总线AD0AD1AD2AD3AD4AD5AD6AD7A0A1A2A3A4A5A6A7B0B1B2B3B4B5B6B7接地址锁存器接地址锁存器OEOETDENDT/R0 1 18086 最小模式系统组成框图最小模式的系统组成QS1(24)QS0(25)性能性能00无操作无操作01取指令队列中指令操作码的第一字节取指令队列中指令操作码的第一字节10队列空队列空11取队列中的其它字节取队列中的其它字节1.QS1和和QS2,指令队列状态信号,输出,指令队列状态信号,输出(ALE INTA)S2(28)S1(27)S0(

39、26)性能性能000中断响应中断响应001读读I/O端口端口010写写I/O端口端口011暂停暂停100取指取指101读存储器读存储器110写存储器写存储器111无源无源2.总线周期状态信号,输出,三态总线周期状态信号,输出,三态3.LOCK,总线封锁信号,输出,三态,低电平有效,总线封锁信号,输出,三态,低电平有效4.RQ/GT1、RQ/GT0,双向总线请求双向总线请求/允许信号,允许信号,双向,低电平有效双向,低电平有效 状态状态译码器译码器控制控制电路电路命令信号命令信号发生器发生器控制信号控制信号发生器发生器MRDCMWTCAMWTCIORCAIOWCINTAIOWCDT/RDENMC

40、E/PDENALES2S1S0CLKAENCENIOB状态信号控制控制输入输入总线总线命令命令信号信号总线总线控制控制信号信号相当于相当于RD和和M/IO的组合的组合相当于相当于WR和和M/IO的组合的组合超前写超前写信号信号状态信号控制输入CPU的主要操作的主要操作系统的复位和启动操作系统的复位和启动操作总线操作总线操作中断操作中断操作最小工作模式下的总线请求最小工作模式下的总线请求最大工作模式下的读最大工作模式下的读/写操作写操作CLK无作用状态无作用状态浮空浮空三态门三态门输出信号输出信号RESET输入输入8086/8088的启动和复位信号的启动和复位信号内部内部RESETCPU立即停止

41、操作,清立即停止操作,清FR,DS,ES,SS、IP及指令队列。及指令队列。同时,置同时,置CS为为FFFFH。当。当RESET变为低电平时,变为低电平时,CPU从从FFFF0H单元开始启动。单元开始启动。进入内部进入内部RESET后后T1 T2 T3 T4CLKALE 最小工作模式最小工作模式下的总线读周期下的总线读周期M/IOA19A16S6S3BHERDDT/RDENAD15AD0高高=M地址地址地址地址低低=IO输出输出输出输出S6S3数据数据 输入输入如果是如果是8088有哪些不同?有哪些不同?数据数据TwCLKALEM/IOA19A16S6S3RDDT/RDENAD15AD0BHE

42、T1高高=M地址地址地址地址READY低低=IO输出输出输出输出T2S6S3T3输入输入T4T1 T2 T3 T4CLKALEM/IOA19A16S6S3BHEWRDT/RDENAD15AD0数据数据S6S3高高=M地址地址地址地址输出输出读操作和读操作和写操作有写操作有哪些不同?哪些不同?*输出输出低低=IO输出输出按中断产生的方法按中断产生的方法硬件中断:硬件中断:软件中断:软件中断:也称为也称为外部中断外部中断也称为也称为内部中断内部中断1.8086/8088的中断分类的中断分类通过外部的硬通过外部的硬件产生的中断件产生的中断非屏蔽中断非屏蔽中断可屏蔽中断可屏蔽中断CPU根据软件中的某条

43、指令根据软件中的某条指令(INT n)或对标志寄存器的)或对标志寄存器的 设置而产生的,和硬件电路设置而产生的,和硬件电路 无关无关INT n 指令指令中断逻辑中断逻辑INT3指令指令INTO指令指令单步单步中断中断除数为除数为0中断中断非屏蔽中断请求非屏蔽中断请求中中断断控控制制系系统统(8259A)可可屏屏蔽蔽中中断断请请求求软软中中断断硬硬中中断断NMIINTR256种中断种中断除数为除数为0中断中断单步中断单步中断非屏蔽中断非屏蔽中断断点中断断点中断溢出中断溢出中断类型类型 4类型类型 3类型类型 2类型类型 1类型类型 0专用的中断专用的中断(共(共5个)个)保留的中断保留的中断(共

44、(共27个)个)用户定义的中断用户定义的中断 (共(共244个)个)类型类型 50000:0000H0000:0003H0000:0014H0000:03FFHIPCSIPCS中断向量中断向量中断服务子中断服务子程序的入口程序的入口地址。地址。每一个中断类每一个中断类型对应一个中型对应一个中断向量。断向量。例:类型号为例:类型号为17H的中断处理程序存放在的中断处理程序存放在2345:7890H开开 始的内存区域中,问始的内存区域中,问17H中断对应的中断向量放在那中断对应的中断向量放在那 几个单元?这几个单元的内容是多少?几个单元?这几个单元的内容是多少?17H4=5CH 0001 0111

45、 0101 1100 5CH左移左移2位位 17H对应的中断向量放在对应的中断向量放在0000:005CH 开始的开始的4个单元个单元(005CH)=90H(005DH)=78H(005EH)=45H(005FH)=23H23H45H90H005FH005EH005DH005CH0000:0000H78H例:类型号为例:类型号为1CH的中断处理程序存放在的中断处理程序存放在4567:1890H开开 始的内存区域中,问始的内存区域中,问1CH中断对应的中断向量放在那中断对应的中断向量放在那 几个单元?这几个单元的内容是多少?几个单元?这几个单元的内容是多少?硬件中断硬件中断非屏蔽中断非屏蔽中断

46、由由CPU的的 NMI 引脚进入引脚进入 不受中断允许标志不受中断允许标志 IF 的影响的影响 中断类型中断类型2 中断向量放在中断向量放在0段的段的0008H000BH可屏蔽中断可屏蔽中断 由由CPU的的 INTR 引脚进入引脚进入 受中断允许标志受中断允许标志 IF 的影响的影响 有中断响应周期有中断响应周期当前指令当前指令执行完?执行完?除法错除法错INT n,INT 0?NMI?INTR?TF=1?执行下一执行下一条指令条指令0TF和和IFCS,IP堆栈堆栈TF暂存器暂存器(4N:4N+1)IP(4N+2:4N+3)CS读中断矢量读中断矢量中断服务程序中断服务程序执行执行IRET指令指

47、令弹出弹出IP,CS,FR中断返回中断返回IF=1?FR堆栈堆栈内部自动提供矢量码内部自动提供矢量码暂存器暂存器=1?NMI?响应中断响应中断NYYYYNN保护现场保护现场YT1 T2 T3 T4 T1 T1 T1 T1 T2 T3 T4三个空闲状态三个空闲状态LCKALEAD7AD0INTA中断类型中断类型INTA 一系列的入栈指令,用来保护需要保护的内容一系列的入栈指令,用来保护需要保护的内容 开放中断,开放中断,IF=1,允许其它更高级别的中断请求进入,允许其它更高级别的中断请求进入 该中断服务程序要处理的具体内容该中断服务程序要处理的具体内容 一系列弹出堆栈的指令,保护的恢复一系列弹出

48、堆栈的指令,保护的恢复 中断返回指令中断返回指令软件中断的特点:软件中断的特点:由中断指令使由中断指令使CPU进入中断处理子程序进入中断处理子程序 不需要执行中断响应总线周期不需要执行中断响应总线周期 不受中断允许标志不受中断允许标志IF的影响的影响CLKHOLDHLDA所所有有三三态态总总线线8086/8088总线保持请求总线保持请求/保持响应时序图保持响应时序图T4或或T1T1 T2 T3 T4CLKALES2S1S0A19A16S6S3DT/RDENAD15AD0 BHES2S1S0地址地址地址地址输出输出输出输出S6S3数据数据 输入输入读总线周期时序读总线周期时序MRDC或或IORDC8288产生产生S2S1S0=111MRDC或或IORCT1 T2 T3 T4CLKALES2S1S0A19A16S6S3DT/RDENAD15AD0 BHES2S1S0=110地址地址地址地址输出输出输出输出S6S3数据数据 输入输入MWTC或或IOWC8288产生产生S2S1S0=111MWTC或或IOWCAMWC*

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(微机原理与应用第四章课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|