版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章第六章1教学目的教学目的l 了解输入输出系统的基本知识了解输入输出系统的基本知识l 了解系统总线与输入输出设备的连接方式。了解系统总线与输入输出设备的连接方式。l 掌握简单设备接口的设计方法掌握简单设备接口的设计方法l 了解中断的基本概念了解中断的基本概念l 了解中断的处理过程了解中断的处理过程l 熟悉熟悉8088/8086中断系统中断系统第第6章章 输入输入/输出与中断技术输出与中断技术2主机与外部设备之间要想协调工作,需要一个桥梁将外部设备主机与外部设备之间要想协调工作,需要一个桥梁将外部设备的信息进行缓冲、定时和变换,这就是接口。的信息进行缓冲、定时和变换,这就是接口。6.1 I/
2、O6.1 I/O接口概述接口概述36.1.1 I/O6.1.1 I/O接口功能接口功能(1)信号电平转换)信号电平转换 不同规格的电平转换为不同规格的电平转换为TTL或者或者MOS电路的电平。电路的电平。(2)数据格式转换)数据格式转换 串并互转换或数模互转换。串并互转换或数模互转换。(3)速度匹配)速度匹配 通过缓冲或锁存保证通过缓冲或锁存保证CPU与外设或内存传输数据时各部件都能正与外设或内存传输数据时各部件都能正确接收数据。确接收数据。(4)数据传送)数据传送建立数据传输的逻辑关系,即规定好数据传输的过程与时序。建立数据传输的逻辑关系,即规定好数据传输的过程与时序。(5)寻址能力)寻址能
3、力为外设的各个端口编址,使外设能被为外设的各个端口编址,使外设能被CPU访问到。访问到。(6)错误检测功能)错误检测功能可进行数据校验,保证数据传输的正确性。可进行数据校验,保证数据传输的正确性。46.1.2 I/O6.1.2 I/O接口的分类接口的分类按数据传送方式分按数据传送方式分并行接口:一次传送一个字节或字的所有位。并行接口:一次传送一个字节或字的所有位。串行接口:一位一位地传送。串行接口:一位一位地传送。CPUCPU与接口之间通过系统总线传输信息与接口之间通过系统总线传输信息,属于并行传输,传输的信,属于并行传输,传输的信息有接口的息有接口的地址信息、控制信息和数据信息地址信息、控制
4、信息和数据信息。I/OI/O接口与设备之间可以通过串行和并行两种方式交换信息接口与设备之间可以通过串行和并行两种方式交换信息,包括,包括数据信息、控制信息和状态信息。数据信息、控制信息和状态信息。56.2 I/O6.2 I/O端口及其编址方式端口及其编址方式 CPU与外设进行数据传输,接口电路需要设置若干专用寄存与外设进行数据传输,接口电路需要设置若干专用寄存器,缓冲输入输出数据,设定控制方式,保存输入输出状态信息,器,缓冲输入输出数据,设定控制方式,保存输入输出状态信息,这些寄存器常称为端口。这些寄存器常称为端口。CPU通过对端口分配地址识别它们,称通过对端口分配地址识别它们,称为编址。为编
5、址。66.2.1 I/O6.2.1 I/O端口的概念端口的概念 接口中可被接口中可被CPU直接访问的直接访问的称为端口。称为端口。 CPU给每个端口分配一个地址,称为端口地址或端口号。给每个端口分配一个地址,称为端口地址或端口号。 一个接口中的多个端口分配连续地址。一个接口中的多个端口分配连续地址。 思考思考:专用寄存器中保存的是什么数据?这些数据可能是从哪:专用寄存器中保存的是什么数据?这些数据可能是从哪里来的?里来的?7端口传送的信息端口传送的信息,包括包括:状态信息状态信息(外设提供外设提供)、控制信息、控制信息(CPU提供提供)和和数据信息数据信息(CPU或外设提供或外设提供)6.2.
6、1 I/O6.2.1 I/O端口的概念端口的概念l 根据数据传输方向,端口可分为输入端口和输出端口。根据数据传输方向,端口可分为输入端口和输出端口。 输入端口:具有输入端口:具有“通断通断”控制能力控制能力 输出端口:具有锁存能力输出端口:具有锁存能力l 根据端口传输的信息,端口可分为数据端口、状态端口和控制根据端口传输的信息,端口可分为数据端口、状态端口和控制端口端口 输入:输入:数据端口数据端口、状态端口状态端口 输出:输出:数据端口数据端口、控制端口控制端口86.2.2 I/O端口的编址方式 I/O I/O端口编址方式端口编址方式是计算机系统为是计算机系统为I/O端口分配端口号的方端口分
7、配端口号的方式。式。 常见的常见的I/O编址方式有两种:编址方式有两种: 与内存单元统一编址方与内存单元统一编址方式、式、I/O端口端口 独立编址方式独立编址方式9内存地址内存地址(共共1MB)0端口地址端口地址0FFFFFHFFFFHb 独立编址地址空间内存地址内存地址0端口地址端口地址FFFFFHa 统一编址地址空间与内存单元统一编址方式与内存单元统一编址方式l 即存储器映射编址方式,在即存储器映射编址方式,在CPU的内存地址空间中划出一部的内存地址空间中划出一部分作为输入输出系统的端口地址范围,不能再作为内存地址使分作为输入输出系统的端口地址范围,不能再作为内存地址使用。用。l 优点:数
8、据传送指令、测试指令都可以访问优点:数据传送指令、测试指令都可以访问I/O端口,不用端口,不用设置专门的设置专门的I/O指令;不需要专用的指令;不需要专用的I/O端口控制信号。端口控制信号。l 缺点:划出的端口地址范围,不能再作为内存地址使用缺点:划出的端口地址范围,不能再作为内存地址使用 ,所,所以减少了内存地址空间,从指令上难以区分内存还是端口操作。以减少了内存地址空间,从指令上难以区分内存还是端口操作。 10独立编址方式独立编址方式l 又称单独编址方式,给外部设备分配专用的端口地址,提供专又称单独编址方式,给外部设备分配专用的端口地址,提供专用的控制信号,使它们成为一个独立的用的控制信号
9、,使它们成为一个独立的I/O地址空间,与内存编地址空间,与内存编址无关。址无关。l 优点:不占用内存空间;输入输出地址线根数少,优点:不占用内存空间;输入输出地址线根数少,I/O端口译端口译码电路简单。码电路简单。 l 缺点:需要专用的缺点:需要专用的I/O指令、专用控制线指令、专用控制线。11独立编址方式独立编址方式l 8088/8086系统中,系统中,I/O端口地址范围从端口地址范围从0000HFFFFH,共,共64K的地址空间。的地址空间。l 指令:指令:l INl OUTl 总线:总线:l A0A15l IORl IOW12内存地址内存地址(共共1MB)0端口地址端口地址(共共64KB
10、)0FFFFFHFFFFHb 独立编址地址空间内存地址内存地址(共共960KB)0端口地址端口地址(共共64KB)EFFFFHFFFFFHF0000Ha 统一编址地址空间图6-2 两种不同编址方式的地址空间6.3 CPU6.3 CPU与外部设备之间的数据传送方式与外部设备之间的数据传送方式 主机与外设之间通过一定的控制方式进行信息交换,主机与外设之间通过一定的控制方式进行信息交换,常用的控制的方式包括常用的控制的方式包括无条件传送方式、程序查询传无条件传送方式、程序查询传送方式、中断传送方式、直接存储器存取(送方式、中断传送方式、直接存储器存取(DMADMA)方式。)方式。136.3.1 6.
11、3.1 无条件传送方式无条件传送方式p 又称为同步方式,适合简单外设的数据输入输出。又称为同步方式,适合简单外设的数据输入输出。p 常用外设:常用外设:开关开关、继电器、步进电机、继电器、步进电机、发光二极管发光二极管等。等。p 优点:控制程序简单,软、硬件开销都少。优点:控制程序简单,软、硬件开销都少。14输入输入设备设备输出输出设备设备无条件输入接口无条件输入接口15输入接口具有数据的通断能力输入接口具有数据的通断能力无条件输出接口无条件输出接口16输出接口具有数据的锁存能力输出接口具有数据的锁存能力6.3.2 6.3.2 程序查询传送方式程序查询传送方式又称为条件传送方式。又称为条件传送
12、方式。I/O接口中有一个状态端口,接口中有一个状态端口,CPU通过读取状态端口的信息了解通过读取状态端口的信息了解设备目前的状态。设备目前的状态。工作过程:工作过程:检查外设的状态,判断外设是否检查外设的状态,判断外设是否“准备好准备好”。若没有准备好,则继续查询其状态。若没有准备好,则继续查询其状态。外设已准备好,外设已准备好,CPU与外设进行数据传送。与外设进行数据传送。若还有数据待传输,则转若还有数据待传输,则转,否则终止传输。,否则终止传输。17程序查询传送方式流程图程序查询传送方式流程图l 缺点:缺点:l效率低效率低l实时性实时性差差l 可用于简可用于简单外设的单外设的传输控制。传输
13、控制。186.3.3 6.3.3 中断传送方式中断传送方式 当设备处于空闲状态或者外设数据准备好时,接口向当设备处于空闲状态或者外设数据准备好时,接口向CPU发发出中断请求信号,出中断请求信号,CPU收到申请后及时响应接口的中断请求,暂收到申请后及时响应接口的中断请求,暂停执行主程序,转入执行停执行主程序,转入执行I/O操作程序(中断服务子程序),完操作程序(中断服务子程序),完成数据传输之后再返回到主程序继续执行,这种数据传送方式称成数据传输之后再返回到主程序继续执行,这种数据传送方式称为中断方式。为中断方式。19中断传送流程图中断传送流程图l 优点:优点:l实时性好实时性好l处理迅速处理迅
14、速l 缺点:缺点:l不适用于不适用于大量数据大量数据的高速传的高速传输输。执行主程序执行主程序是是否否有中断请求?有中断请求?中断处理,执行数据输入中断处理,执行数据输入/ /输出输出中断响应中断响应中断返回中断返回执行主程序执行主程序输入输入/ /输出指令输出指令执行主程序执行主程序一条指令执行结束一条指令执行结束20程序控制下的输入输出方式程序控制下的输入输出方式 无条件传送方式、程序查询传送方式和中断传送方式无条件传送方式、程序查询传送方式和中断传送方式在数据在数据传送过程中,传送过程中,CPU从内存读出数据,再输出到外部设备,因此,从内存读出数据,再输出到外部设备,因此,这三种方式被统
15、称为程序控制下的输入输出方式这三种方式被统称为程序控制下的输入输出方式(Programmed input and output),简称),简称PIO方式。方式。216.3.4 DMA6.3.4 DMA方式方式l 直接存储器存取(直接存储器存取(Direct Memory Access)方式简称为)方式简称为DMA方式。方式。l 是在内存储器和是在内存储器和I/O设备之间建立数据通路,不经过设备之间建立数据通路,不经过CPU的干的干预,实现内存与外设之间的快速数据传送。预,实现内存与外设之间的快速数据传送。l 实现实现DMA方式需要专门的硬件装置方式需要专门的硬件装置DMA控制器控制器(DMAC
16、),),它负责控制外设与内存之间的数据传输。它负责控制外设与内存之间的数据传输。22DMACDMAC的功能的功能l DMAC接收外设请求信号,并向接收外设请求信号,并向CPU发出总线请求信号。发出总线请求信号。l DMA过程中可实现:过程中可实现:l 向地址总线发送地址信号,能够生成读写控制信号。向地址总线发送地址信号,能够生成读写控制信号。l 控制数据传送的字节数。控制数据传送的字节数。l DMA过程结束时,能向过程结束时,能向CPU发出发出DMA结束信号,并将总线的结束信号,并将总线的控制权交还给控制权交还给CPU。23系统总线系统总线CPUDMAC存储器存储器外设接口外设接口AENIOW
17、MEMWMEMRIORMEMWMEMRIOWIORAENHOLDHLDADRQDACKAENIOWIORMEMWMEMR 外设发出外设发出DMADMA请求请求 DMAC DMAC向向CPUCPU申请总线申请总线 CPU CPU完成当前总线周期后响应,并释放总线控制权完成当前总线周期后响应,并释放总线控制权 DMAC DMAC得到总线控制权,并发出得到总线控制权,并发出DMADMA响应信号响应信号 由由DMACDMAC发出各种控制信号,控制外设与存储器之发出各种控制信号,控制外设与存储器之 间的数据传送间的数据传送 数据传送完后,数据传送完后,DMACDMAC撤销撤销HOLDHOLD信号信号 C
18、PU CPU释放释放HLDAHLDA信号,并重新控制总线信号,并重新控制总线DMADMA控制方式控制方式24DMADMA方式工作流程方式工作流程 外设向外设向DMA控制器发出控制器发出“DMA传送请求传送请求”信号(信号(DRQ);); DMA控制器收到请求后,向控制器收到请求后,向CPU发出发出“总线请求总线请求”信号信号HOLD,表示希望占用总线;表示希望占用总线; CPU将数据总线、地址总线和相应的控制信号线均置为高阻态,将数据总线、地址总线和相应的控制信号线均置为高阻态,向向DMA控制器发出控制器发出“总线响应总线响应”信号(信号(HLDA);); DMA控制器收到控制器收到HLDA信
19、号后,就开始控制总线,并向外设发信号后,就开始控制总线,并向外设发出出DMA响应信号响应信号DACK; DMA控制器送出地址信号和相应的控制信号,实现外设与内存控制器送出地址信号和相应的控制信号,实现外设与内存或内存与内存之间的直接数据传送;或内存与内存之间的直接数据传送; 规定的数据传送完后,规定的数据传送完后,DMA控制器就撤销发往控制器就撤销发往CPU的的HOLD信信号。号。CPU检测到检测到HOLD失效后,紧接着撤销失效后,紧接着撤销HLDA信号,并在信号,并在下一时钟周期重新开始控制总线。下一时钟周期重新开始控制总线。256.4 6.4 简单接口电路的应用简单接口电路的应用 本节将围
20、绕典型的接口芯片分别举例说明简单输入接口和简本节将围绕典型的接口芯片分别举例说明简单输入接口和简单输出接口与系统的连接方式,并分析接口的一般组成。单输出接口与系统的连接方式,并分析接口的一般组成。266.4.1 6.4.1 简单的输入接口电路简单的输入接口电路74LS244:8个三态门。个三态门。两个控制端:两个控制端:1G和和2G,低电平,低电平有效,各控制有效,各控制4个三态门。个三态门。A端为数据输入端,端为数据输入端,Y端为数据输端为数据输出端。出端。当控制端为低电平时,数据从当控制端为低电平时,数据从A端端输入,输入,Y端输出;当控制端为高电端输出;当控制端为高电平时,三态门呈高阻状
21、态,平时,三态门呈高阻状态,A端与端与Y端断开。端断开。27简单的输入接口电路简单的输入接口电路l 分析端口地址分析端口地址l 采用了部分地址译码方采用了部分地址译码方式式l 输入端口的地址应该有输入端口的地址应该有两个,分别为两个,分别为FFC0H与与FFC1H。28简单的输入接口电路简单的输入接口电路l 编写读取开关的程序编写读取开关的程序 MOV DX, 0FFC0H IN AL, DX 29简单的输入接口电路简单的输入接口电路分析开关状态与读入数分析开关状态与读入数据的关系据的关系开关的状态有两种:高开关的状态有两种:高电平和低电平。当开关电平和低电平。当开关闭合时,闭合时,A端为低电
22、平,端为低电平,CPU读入的数据位为读入的数据位为0;当开关断开时,当开关断开时,A端为端为高电平,高电平,CPU读入的数读入的数据位为据位为1。30简单的输入接口电路简单的输入接口电路判断开关的状态判断开关的状态当当8个开关都闭合时,个开关都闭合时,AL=0;当;当8个不全闭合个不全闭合时,时,AL0,通过测试,通过测试AL中各个位的值可以了中各个位的值可以了解各个开关的状态。解各个开关的状态。31简单的输入接口电路简单的输入接口电路MOV DX, 0FFC1H IN AL, DX TEST AL, 0FFH JZ GOONNEXT: MOV AX, BXADD AX, CXGOON: 32
23、简单的输入接口电路简单的输入接口电路 测试测试K3的状态,的状态,K3断开时转到断开时转到Label处执行,处执行,程序段如下:程序段如下: TEST AL, 4JNZ LabelLabel: 33或门电路6.4.2 6.4.2 简单的输出接口电路简单的输出接口电路74LS273,输出接口芯片输出接口芯片有有8位位D锁存器,输入端锁存器,输入端D0D7, 输出端输出端Q0Q7MR清除端,为低电平时,芯片清除端,为低电平时,芯片复位,复位,Q端输出全为端输出全为0;CP触发端,上升沿触发,当触发端,上升沿触发,当CP从低电平到高电平跳变时,从低电平到高电平跳变时,D0D7的数据输出到的数据输出到
24、Q0Q7并并锁存,直到锁存,直到CP端下一个上沿信号端下一个上沿信号出现。出现。34八段八段LED LED 显示器显示器abcdefghcomabcdefghcomabcdefgh图6-13 八段LED 显示器(a)段排列段排列 (b)共阴极共阴极 (c)共阳极共阳极35八段八段LEDLED显示字形代码表显示字形代码表字型共阳极代码共阴极代码字型共阳极代码共阴极代码0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF8EH71H7F8H07H灭FFH00H880H
25、7FH36简单的输出接口电路简单的输出接口电路74LS273作为作为输出接口电路输出接口电路驱动一个共阴驱动一个共阴极极8段段LED显示显示器。请在器。请在LED显示器上循环显示器上循环显示数字显示数字0F 。37简单的输出接口电路简单的输出接口电路分析地址分析地址设计程序设计程序38简单的输出接口电路简单的输出接口电路分析地址分析地址74LS273的端口的端口地址为地址为FE00H39简单的输出接口电路简单的输出接口电路设计程序设计程序数据段数据段字形代码表字形代码表代码段代码段读表读表(代码代码)发送代码发送代码延时延时跳转跳转40程序数据段程序数据段DSEGSEGMENTSEG8DB 3
26、FH,06H,5BH,4FH,66H,6DH,7DH,07H ;显示字形编码表显示字形编码表 DB 6FH,77H,7CH,39H,5EH,79H,71H,00HDSEGENDS41程序代码段程序代码段1 1CSEGSEGMENTASSUMEDS: DSEG , CS:CSEGSTART: MOVAX, DSEGMOVDS, AX ;程序代码段2MOV AH, 4CHINT 21HCSEG ENDSEND START42程序代码段程序代码段2 2 LEA BX, SEG8;取8段码显示字形表基地址 MOV DX, 0FE00H AA1: MOV SI, 0AA2: MOV AL, BX+SI;
27、取显示字形码 OUT DX, ALCALL DELAY;调用延时子程序 INC SI CMP SI,16 JZ AA1 JMP AA243延时子程序延时子程序DELAY PROC NEAR;子程序开始PUSH CX MOV CX,2FFFHSUBS: LOOPSUBSPOPCXRET DELAY ENDP ;子程序结束446.5 6.5 中断技术中断技术 中断是计算机系统中广泛使用的一项重要技术,它不仅用于中断是计算机系统中广泛使用的一项重要技术,它不仅用于数据传输、系统功能调用,还利用中断实现了分时处理、实时处数据传输、系统功能调用,还利用中断实现了分时处理、实时处理、故障处理。理、故障处理
28、。中断的概念中断的概念 中断,是指在程序执行过程中,出现某种紧急事件,中断,是指在程序执行过程中,出现某种紧急事件,CPU暂停暂停执行现行程序,转去执行处理该事件的程序执行现行程序,转去执行处理该事件的程序中断服务程序,中断服务程序,执行完后再返回到被暂停的程序继续执行,这一过程称为中断。执行完后再返回到被暂停的程序继续执行,这一过程称为中断。45中断源中断源引起中断的设备或事件称为引起中断的设备或事件称为中断源中断源计算机的中断源可能是某个硬件部件,也可能是软件。计算机的中断源可能是某个硬件部件,也可能是软件。常见的中断源有:常见的中断源有:外围设备外围设备 CPU存储器存储器控制器控制器
29、总线总线实时钟的定时实时钟的定时程序指令程序指令 硬件故障硬件故障46中断的分类中断的分类l 内部中断包括:由内部中断包括:由CPU本身产生的中断、由控制器产生的中断、本身产生的中断、由控制器产生的中断、由程序员安排的中断指令引起的中断。由程序员安排的中断指令引起的中断。l 外部中断又根据中断事件的紧迫程度将中断源划分为外部中断又根据中断事件的紧迫程度将中断源划分为可屏蔽中可屏蔽中断断和和不可屏蔽中断不可屏蔽中断。 可屏蔽中断是指可以延时处理的事件,例如打印机的输入可屏蔽中断是指可以延时处理的事件,例如打印机的输入输出中断请求。输出中断请求。 不可屏蔽中断是指事件异常紧急,必须马上处理,例如掉
30、不可屏蔽中断是指事件异常紧急,必须马上处理,例如掉电、内存奇偶校验错引起的中断。电、内存奇偶校验错引起的中断。476.6 6.6 中断处理的基本过程中断处理的基本过程中断处理的基本过程包括中断处理的基本过程包括u 中断请求中断请求u 中断判优中断判优u 中断响应中断响应u 中断服务和中断返回。中断服务和中断返回。486.6.16.6.1中断请求中断请求l 内部中断无需请求内部中断无需请求l 外部中断请求由中断源提出。外部中断请求由中断源提出。l CPU的两个中断输入引脚的两个中断输入引脚INTR和和NMI负责接收中断请求信号。负责接收中断请求信号。l INTR为可屏蔽中断请求输入引脚。为可屏蔽
31、中断请求输入引脚。可屏蔽中断请求信号一般为高电平。可屏蔽中断请求信号一般为高电平。CPU收到申请后检查标收到申请后检查标志寄存器中的中断允许标志位志寄存器中的中断允许标志位IF,当,当IF=1时,时,CPU接受中断接受中断请求;当请求;当IF=0时,时,CPU不予响应,该请求被屏蔽。不予响应,该请求被屏蔽。l NMI为不可屏蔽中断请求输入引脚,边沿触发。为不可屏蔽中断请求输入引脚,边沿触发。496.6.26.6.2中断判优中断判优CPU一次只能接受一个中断源的请求。一次只能接受一个中断源的请求。多个中断源同时向多个中断源同时向CPU提出中断请求时,提出中断请求时,CPU必须找出中断优必须找出中
32、断优先级最高的中断源,这一过程称为中断判优。先级最高的中断源,这一过程称为中断判优。中断判优可以采用硬件方法,也可采用软件方法。中断判优可以采用硬件方法,也可采用软件方法。50软件判优软件判优 CPU检测到中断请求后,响应中断进入中断服务程序,首检测到中断请求后,响应中断进入中断服务程序,首先读取中断寄存器的内容,逐位检测它们的状态,检测到某一先读取中断寄存器的内容,逐位检测它们的状态,检测到某一位为位为1,就确定对应的中断源有中断请求,转去执行它的中断,就确定对应的中断源有中断请求,转去执行它的中断服务程序。先检测哪一个,哪一个的优先级就高,后检测哪一服务程序。先检测哪一个,哪一个的优先级就
33、高,后检测哪一个,哪一个优先级就低,检测的顺序就是各中断源的优先级顺个,哪一个优先级就低,检测的顺序就是各中断源的优先级顺序。序。51软件判优的简单电路软件判优的简单电路52软件判优的简单电路软件判优的简单电路查询程序:查询程序: MOV DX, 87FFHIN AL, DX ;读中断请求寄存器内容RCR AL, 1JC IR0 ;IRQ0有请求,转IR0RCR AL,1JC IR1 ;IRQ1有请求,转IR1RCR AL,1JC IR2 ;IRQ2有请求,转IR2软件判优的硬件电路简单,优先权安排灵活,但软件判优所花的软件判优的硬件电路简单,优先权安排灵活,但软件判优所花的时间长,如果中断源
34、很多,中断的实时性就很差。时间长,如果中断源很多,中断的实时性就很差。53硬件判优硬件判优两种常见的方式:两种常见的方式:l 菊花链判优电路菊花链判优电路l 中断控制器判优中断控制器判优 54菊花链判优电路菊花链判优电路基本设计思想:每个中断源都有基本设计思想:每个中断源都有一个中断逻辑电路,所有的中断一个中断逻辑电路,所有的中断逻辑电路连成一条链,形如菊花逻辑电路连成一条链,形如菊花链。排在链前端的中断源优先级链。排在链前端的中断源优先级最高,越靠后的设备优先级越低。最高,越靠后的设备优先级越低。CPU收到中断请求,如果允许中收到中断请求,如果允许中断,断,CPU发出中断应答信号发出中断应答
35、信号INTA,INTA信号首先到达菊花信号首先到达菊花链的前端。链的前端。55菊花链判优电路菊花链判优电路 如果中断源如果中断源1提出了中断请求,提出了中断请求,它就会截获它就会截获INTA信号,封锁它,使信号,封锁它,使它不能向下一个中它不能向下一个中断源传送。下面的断源传送。下面的中断源的中断请求中断源的中断请求不能被响应。不能被响应。56中断控制器判优中断控制器判优 CPU的的INTR和和INTA引脚与中断控制器相连,外设的中断请引脚与中断控制器相连,外设的中断请求信号通过求信号通过IR0IR7进入中断控制器。中断控制器向进入中断控制器。中断控制器向CPU发发INTR请求信号,请求信号,
36、CPU接受中断申请后发出接受中断申请后发出INTA信号后,中断控制器将信号后,中断控制器将中断向量码送出。中断向量码送出。576.6.36.6.3中断响应中断响应 经过中断判优,中断处理就进入中断响应阶段。经过中断判优,中断处理就进入中断响应阶段。CPU在每条在每条指令的最后一个时钟周期检测中断请求信号,若为非屏蔽中断请指令的最后一个时钟周期检测中断请求信号,若为非屏蔽中断请求,则求,则CPU执行完现行指令后,就立即响应中断。执行完现行指令后,就立即响应中断。 如果是可屏蔽中断请求。如果是可屏蔽中断请求。CPU响应中断需要满足响应中断需要满足4个条件:个条件: CPU处于开中断状态,即处于开中
37、断状态,即IF=1; 当前没有发生复位、没有总线请求、没有内部中断、没有不可屏蔽中断;当前没有发生复位、没有总线请求、没有内部中断、没有不可屏蔽中断; 当前执行的指令不是开中断指令当前执行的指令不是开中断指令STI,也不是中断返回指令,也不是中断返回指令IRET。如果刚巧。如果刚巧是,是,CPU将它们执行结束后,再执行一条指令,将它们执行结束后,再执行一条指令,CPU才能响应中断。才能响应中断。 CPU执行完现行指令。执行完现行指令。586.6.36.6.3中断响应中断响应中断响应时,中断响应时,CPU向中断源发出中断响应信号向中断源发出中断响应信号INTA,同时:,同时: 保护硬件现场,即将
38、标志寄存器保护硬件现场,即将标志寄存器FLAGS入栈;入栈; 关中断,即设置关中断,即设置IF=0; 保护断点,把主程序断点的保护断点,把主程序断点的CS 和和IP值压入堆栈;值压入堆栈; 获得中断服务程序的入口地址,分别送入获得中断服务程序的入口地址,分别送入IP和和CS中。中。596.6.46.6.4中断服务中断服务l CPU响应中断以后,获得了中断服务程序的入口地址,转去响应中断以后,获得了中断服务程序的入口地址,转去执行中断服务程序,为设备服务。执行中断服务程序,为设备服务。l 中断服务的过程:中断服务的过程:l保护现场保护现场l开中断开中断l中断服务中断服务l恢复现场恢复现场l返回返
39、回思考:思考:中断服务中的保护现场和中断响应中的保护现场有什么区别?中断服务中的保护现场和中断响应中的保护现场有什么区别?606.6.56.6.5中断返回中断返回l 在中断服务程序的最后一条语句在中断服务程序的最后一条语句IRET的功能就是中断返回的的功能就是中断返回的操作。中断返回操作是中断响应操作的逆过程,操作。中断返回操作是中断响应操作的逆过程,CPU从堆栈中从堆栈中弹出弹出IP、CS和和FLAGS,恢复被中断程序的基本信息,使被中,恢复被中断程序的基本信息,使被中断程序继续运行。断程序继续运行。616.7 8086/80886.7 8086/8088中断系统中断系统 8086/8088
40、CPU的中断系统具有很强的中断处理能力,可以的中断系统具有很强的中断处理能力,可以处理处理256种中断。每种中断对应一个编号,范围种中断。每种中断对应一个编号,范围0255,这个编号,这个编号称为中断源的中断类型码或中断向量码。中断分为两类:内部中断称为中断源的中断类型码或中断向量码。中断分为两类:内部中断和外部中断。外部中断又分为可屏蔽中断和不可屏蔽中断两类。和外部中断。外部中断又分为可屏蔽中断和不可屏蔽中断两类。621. 1. 外部中断外部中断不可屏蔽中断不可屏蔽中断lCPU一定要响应的中断。一定要响应的中断。lNMI是不可屏蔽中断请求信号的输入端。是不可屏蔽中断请求信号的输入端。l优先级
41、高于可屏蔽中断。优先级高于可屏蔽中断。l不可屏蔽中断的编号为不可屏蔽中断的编号为2。lCPU不需获取中断向量码,不发送不需获取中断向量码,不发送INTA,直接查中断向量,直接查中断向量表转去执行中断服务程序。表转去执行中断服务程序。l不可屏蔽中断用于处理紧急事件,如存储器读不可屏蔽中断用于处理紧急事件,如存储器读/写出错、电写出错、电源掉电等。源掉电等。63可屏蔽中断可屏蔽中断lCPU可以延时接受的中断请求为可屏蔽中断。可以延时接受的中断请求为可屏蔽中断。lINTR是可屏蔽中断请求信号的输入端。是可屏蔽中断请求信号的输入端。lCPU收到中断请求信号后,检测中断允许标志位收到中断请求信号后,检测
42、中断允许标志位IF,若,若IF=1,CPU准备响应准备响应INTR请求;若请求;若IF=0时,时,CPU屏蔽屏蔽INTR请求。请求。l中断标志位中断标志位IF可以用指令可以用指令STI和和CLI进行设置。进行设置。l可屏蔽中断的优先级低于不可屏蔽中断。可屏蔽中断的优先级低于不可屏蔽中断。642. 2. 内部中断内部中断内部中断包括:内部中断包括:INT nINT3INTO指令指令除法错中断除法错中断单步中断单步中断65l INT nl CPU执行执行INT n指令,产生中断向量码为指令,产生中断向量码为n的中断。的中断。n的取值范的取值范围围0255。不管是内部中断还是外部中断都可以通过。不管
43、是内部中断还是外部中断都可以通过INT n指指令调用其中断服务程序。令调用其中断服务程序。l INT3l CPU执行执行INT3指令引起的中断,称为断点中断,中断向量码指令引起的中断,称为断点中断,中断向量码为为3。这是个单字节指令,代码为。这是个单字节指令,代码为0CCH。在调试程序时用这条。在调试程序时用这条指令设置断点。指令设置断点。66INTO指令指令CPU执行执行INTO指令时,检测溢出标志位指令时,检测溢出标志位OF,如果,如果OF=1,则产生中断向量码为则产生中断向量码为4的中断。若的中断。若OF=0,INTO指令不指令不起作用。起作用。MOV BL,126 MOV AL,5 A
44、DD AL,BL ;OF=1 INTO ;执行溢出中断服务程序执行溢出中断服务程序 67l除法错中断除法错中断l执行除法指令时,除数为执行除法指令时,除数为0或商数超出了结果寄存器的取或商数超出了结果寄存器的取值范围,产生中断,中断向量码为值范围,产生中断,中断向量码为0。这个中断的处理过程。这个中断的处理过程一般由系统软件负责。一般由系统软件负责。l 单步中断单步中断l也叫陷阱中断,中断向量码为也叫陷阱中断,中断向量码为1。标志寄存器的标志位。标志寄存器的标志位TF=1产生的中断,产生的中断,TF也叫陷阱(也叫陷阱(Trap)标志。如果)标志。如果TF=1,CPU 执行一条指令后产生单步中断。单步中断常用于调试执行一条指令后产生单步中断。单步中断常用于调试程序。程序。 683.3.中断优先级与中断嵌套中断优先级与中断嵌套l 8088/8086系统的中断优先级如下:系统的中断优先级如下:l除法错中断除法错中断INT nINTO不可屏蔽中断不可屏蔽中断可屏蔽中断可屏蔽中断单步中断单步中断l 中断嵌套:中断嵌套:CPU暂时中断正在执行的中断服务程序,转去处理暂时中断正在执行的中断服务程序,转去处理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论