微机原理与接口技术-第6章-输入输出与中断技术_第1页
微机原理与接口技术-第6章-输入输出与中断技术_第2页
微机原理与接口技术-第6章-输入输出与中断技术_第3页
微机原理与接口技术-第6章-输入输出与中断技术_第4页
微机原理与接口技术-第6章-输入输出与中断技术_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

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

文档简介

1、侯彦利第第6 6章章 输入输入/ /输出与中断技术输出与中断技术吉林大学工学部计算机硬件基础课程吉林大学工学部计算机硬件基础课程微机原理与接口技术微机原理与接口技术1第第6 6章章 输入输入/ /输出与中断技术输出与中断技术侯彦利侯彦利23本章教学目的本章教学目的n了解输入输出系统的基本知识了解输入输出系统的基本知识n了解系统总线与输入输出设备的连接方式。了解系统总线与输入输出设备的连接方式。n掌握简单设备接口的设计方法掌握简单设备接口的设计方法n了解中断的基本概念了解中断的基本概念n了解中断的处理过程了解中断的处理过程n熟悉熟悉8088/8086中断系统中断系统46.1 I/O 接口概述接口

2、概述通常把处理器和主存储器之外的部分称为输入输出系通常把处理器和主存储器之外的部分称为输入输出系统。统。包括输入输出设备、输入输出接口和输入输出软包括输入输出设备、输入输出接口和输入输出软件;件;56.1.1 I/O接口的功能接口的功能(1)信号电平转换)信号电平转换不同规格的电平转换为不同规格的电平转换为TTL或者或者MOS电路的电平电路的电平(2)数据格式转换)数据格式转换串并转换或数模转换串并转换或数模转换(3)速度匹配)速度匹配通过缓冲或锁存保证通过缓冲或锁存保证CPU与外设传输数据时各部件都能正确与外设传输数据时各部件都能正确接收数据。接收数据。6(4)数据传送)数据传送建立数据传输

3、的逻辑关系,即规定好数据传输的过程与时序。建立数据传输的逻辑关系,即规定好数据传输的过程与时序。(5)寻址能力)寻址能力为外设的各个端口编址,使外设能被为外设的各个端口编址,使外设能被cpu访问到。访问到。(6)错误检测功能)错误检测功能可进行数据校验,保证数据传输的正确性。可进行数据校验,保证数据传输的正确性。7n高速的微处理器与低速的外设能够协调的工作,需要有一个高速的微处理器与低速的外设能够协调的工作,需要有一个具有数据缓冲和锁存能力、数据格式转换能力、提供外设状具有数据缓冲和锁存能力、数据格式转换能力、提供外设状态和定时控制能力的连接电路,我们把它叫做输入输出接口。态和定时控制能力的连

4、接电路,我们把它叫做输入输出接口。86.1.2 I/O接口的分类接口的分类CPU与接口之间通过系统总线传输信息,属于并行传输,传输与接口之间通过系统总线传输信息,属于并行传输,传输的信息有接口的地址信息、控制信息和数据信息。的信息有接口的地址信息、控制信息和数据信息。接口与设备之间可以通过串行和并行两种方式交换信息,包括接口与设备之间可以通过串行和并行两种方式交换信息,包括数据信息、控制信息和状态信息。数据信息、控制信息和状态信息。9按接口与设备之间的数据传送方式,接口分为:按接口与设备之间的数据传送方式,接口分为:并行接口:一次传送一个字节或字的所有位。并行接口:一次传送一个字节或字的所有位

5、。串行接口:一位一位地传送。串行接口:一位一位地传送。106.2 I/O端口及其编址方式端口及其编址方式CPU与外设进行数据传输,接口电路需要设置若干专用寄存器,与外设进行数据传输,接口电路需要设置若干专用寄存器,缓冲输入输出数据,设定控制方式,保存输入输出状态信息,缓冲输入输出数据,设定控制方式,保存输入输出状态信息,这些寄存器常称为端口。这些寄存器常称为端口。接口中可被接口中可被CPU直接访问的直接访问的称为端口。称为端口。端口可分为:端口可分为:n数据端口:数据端口:CPU与外设交换数据信息;与外设交换数据信息;n状态端口:保存外设当前的状态信息;状态端口:保存外设当前的状态信息;n控制

6、端口:控制端口:CPU向外设发出的控制信息;向外设发出的控制信息;11CPU通过对端口分配地址识别它们,称为编址。通过对端口分配地址识别它们,称为编址。CPU给每个端口分配一个地址,称为端口地址或端口号。给每个端口分配一个地址,称为端口地址或端口号。一个接口中的多个端口分配连续地址。一个接口中的多个端口分配连续地址。思考:专用寄存器中保存的是什么数据?这些数据可能是从思考:专用寄存器中保存的是什么数据?这些数据可能是从哪里来的?哪里来的?12根据传输方向,端口可分为输入端口和输出端口。根据传输方向,端口可分为输入端口和输出端口。输入端口:具有输入端口:具有“通断通断”控制能力控制能力输出端口:

7、具有锁存能力输出端口:具有锁存能力13D0D774LS244+5VK0K1K2K3K4K5K6K7DO0DO7I0I1I2I3I4I5I6I7E1E21IORA2A3A4A5A6A7A8A9A15A10A11A12A13A14系系统统总总线线信信号号1&三态门作输入接口三态门作输入接口1474LS273 作输出端口作输出端口系系统统总总线线信信号号D0D0D7D7A0A1A2A3A4A5A6A7IOW&111CP+ 5VQ0Q1Q6Q7A8A9A10A11A12A13A14A15+ 5V74LS27374LS273156.2.2 I/O6.2.2 I/O端口的编址方式端口的编址方式I/O端口编

8、址方式是计算机系统为端口编址方式是计算机系统为I/O端口分配端口号的方式。端口分配端口号的方式。常见的常见的I/O编址方式有两种:编址方式有两种:q与内存单元统一编址方式与内存单元统一编址方式q独立编址方式独立编址方式16与内存单元统一编址方式:与内存单元统一编址方式:w将存储器的存储单元与外设的端口统一编址,即一个端口与将存储器的存储单元与外设的端口统一编址,即一个端口与一个存储器单元等同看待;通常为一个外设的各个端口分配一个存储器单元等同看待;通常为一个外设的各个端口分配连续的地址。连续的地址。n优点:数据传送指令、测试指令都可以访问优点:数据传送指令、测试指令都可以访问I/OI/O端口,

9、不用设端口,不用设置专门的置专门的I/OI/O指令;不需要专用的指令;不需要专用的I/OI/O端口控制信号。端口控制信号。n缺点:划出的端口地址范围,不能再作为内存地址使用缺点:划出的端口地址范围,不能再作为内存地址使用 ,所,所以减少了内存地址空间。以减少了内存地址空间。 17独立编址方式:独立编址方式:n又称单独编址方式,给外部设备分配专用的端口地址,又称单独编址方式,给外部设备分配专用的端口地址,提供专用的控制信号,使它们成为一个独立的提供专用的控制信号,使它们成为一个独立的I/O地址空地址空间,与内存编址无关。间,与内存编址无关。n优点:不占用内存空间;输入输出地址线根数少,优点:不占

10、用内存空间;输入输出地址线根数少,I/O端端口译码电路简单。口译码电路简单。 n缺点:需要专用的缺点:需要专用的I/O指令、专用控制线。指令、专用控制线。188088/8086CPU采用了采用了I/O端口独立编址方式,它使用端口独立编址方式,它使用地址信号线地址信号线A0A15,最多能够管理,最多能够管理64K个端口,地个端口,地址范围址范围0000HFFFFH,有专用的控制信号,有专用的控制信号IOR和和IOW或或IO/M、WR、RD;8位的端口地址用于访问系统主板上的设备;位的端口地址用于访问系统主板上的设备;16位的端位的端口地址用于访问串行口或并行口以及视频和磁盘驱口地址用于访问串行口

11、或并行口以及视频和磁盘驱动系统。动系统。1920 D0 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 1 1 IOR +5V 10K K21专用指令:专用指令:qINqOUT内存地址内存地址(共共1MB)0端口地址端口地址(共共64KB)0FFFFFHFFFFHb 独立编址地址空间独立编址地址空间内存地址内存地址(共共960KB)0端口地址端口地址(共共64KB)EFFFFHFFFFFHF0000Ha 统一编址地址空间统一编址地址空间图图6-2 两种不同编址方式的地址空间两种不同编址方式的地址空间22I/O端口地址的译码端口地址的译

12、码nI/O端口的地址译码与内存地址译码原理一样,可以用基端口的地址译码与内存地址译码原理一样,可以用基本逻辑门电路搭建,也可以使用专用的译码器译码。本逻辑门电路搭建,也可以使用专用的译码器译码。23D0D7D0D7Q011111111Q1Q2Q3Q4Q5Q6Q7CP74LS27374065108a bc d efg+ 5V10KKCIOW174LS1381A0IORA1A2A3A4A5A6A7A8A9A10A11A12A13A14A151&CG2AG2BBAY0Y1系系统统总总线线D0DPG1A15A14A13A12 A11A10A9A8 A7A6A5A4 A3A2A1A00 0 0 0 0

13、0 0 0 1 1 1 1 0 X X X74LS24424256.3 CPU与外部设备之间的数据传送方式与外部设备之间的数据传送方式主机与外设之间通过一定的控制方式进行信息交换,常用的主机与外设之间通过一定的控制方式进行信息交换,常用的控制的方式包括无条件传送方式、程序查询传送方式、中控制的方式包括无条件传送方式、程序查询传送方式、中断传送方式、直接存储器存取(断传送方式、直接存储器存取(DMADMA)方式。)方式。266.3.1 无条件传送方式无条件传送方式又称为同步方式,适合简单外设的数据输入输出。又称为同步方式,适合简单外设的数据输入输出。常用外设:开关、继电器、步进电机、发光二极管等

14、。常用外设:开关、继电器、步进电机、发光二极管等。优点:控制程序简单,软、硬件开销都少。优点:控制程序简单,软、硬件开销都少。27无条件输入接口无条件输入接口28无条件输出接口无条件输出接口296.3.2 程序查询传送方式程序查询传送方式又称为条件传送方式。又称为条件传送方式。I/O接口中有一个状态端口,接口中有一个状态端口,CPU通过读取状态端口的通过读取状态端口的信息了解设备目前的状态。信息了解设备目前的状态。工作过程:工作过程:q检查外设的状态,判断外设是否检查外设的状态,判断外设是否“准备好准备好”。q若没有准备好,则继续查询其状态。若没有准备好,则继续查询其状态。q外设已准备好,外设

15、已准备好,CPU与外设进行数据传送。与外设进行数据传送。q若还有数据待传输,则转若还有数据待传输,则转,否则终止传输。,否则终止传输。30程序查询传送方式流程图程序查询传送方式流程图n缺点:缺点:q效率低效率低q实时性差实时性差316.3.3 中断传送方式中断传送方式n当设备处于空闲状态或者外设数据准备好时,接口向当设备处于空闲状态或者外设数据准备好时,接口向CPU发发出中断请求信号,出中断请求信号,CPU收到申请后及时响应接口的中断请求,收到申请后及时响应接口的中断请求,暂停执行主程序,转入执行暂停执行主程序,转入执行I/O操作程序(中断服务子程序),操作程序(中断服务子程序),完成数据传输

16、之后再返回到主程序继续执行,这种数据传送完成数据传输之后再返回到主程序继续执行,这种数据传送方式称为中断方式。方式称为中断方式。32中断传送流程图中断传送流程图n优点:优点:q实时性好实时性好q处理迅速处理迅速n缺点:缺点:q不适用于不适用于大量数据大量数据的高速传输的高速传输执行主程序执行主程序是是否否有中断请求?有中断请求?中断处理,执行数据输入中断处理,执行数据输入/ /输出输出中断响应中断响应中断返回中断返回执行主程序执行主程序输入输入/ /输出指令输出指令执行主程序执行主程序一条指令执行结束一条指令执行结束33程序控制下的输入输出方式程序控制下的输入输出方式n无条件传送方式、程序查询

17、传送方式和中断传送方式在数据无条件传送方式、程序查询传送方式和中断传送方式在数据传送过程中,传送过程中,CPU从内存读出数据,再输出到外部设备,因从内存读出数据,再输出到外部设备,因此,这三种方式被统称为程序控制下的输入输出方式此,这三种方式被统称为程序控制下的输入输出方式(Programmed input and output),简称),简称PIO方式。方式。346.3.4 DMA方式方式n直接存储器存取(直接存储器存取(Direct Memory Access)方式简称为)方式简称为DMA方式。方式。n是在内存储器和是在内存储器和I/O设备之间建立数据通路,不经过设备之间建立数据通路,不经

18、过CPU的干的干预,实现内存与外设之间的快速数据传送。预,实现内存与外设之间的快速数据传送。n实现实现DMA方式需要专门的硬件装置方式需要专门的硬件装置DMA控制器(控制器(DMAC),),它负责控制外设与内存之间的数据传输。(它负责控制外设与内存之间的数据传输。(8237A-5、8237-2)35DMAC的功能的功能nDMAC接收外设请求信号,并向接收外设请求信号,并向CPU发出总线请求信号。发出总线请求信号。nDMA过程中可实现:过程中可实现:q向地址总线发送地址信号,能够生成读写控制信号。向地址总线发送地址信号,能够生成读写控制信号。q控制数据传送的字节数。控制数据传送的字节数。nDMA

19、过程结束时,能向过程结束时,能向CPU发出发出DMA结束信号,并将总线结束信号,并将总线的控制权交还给的控制权交还给CPU。36DMAC的工作流程的工作流程 外设向外设向DMA控制器发出控制器发出“DMA传送请求传送请求”信号(信号(DRQ);); DMA控制器收到请求后,向控制器收到请求后,向CPU发出发出“总线请求总线请求”信号信号HOLD,表示希望占用总线;表示希望占用总线; CPU将数据总线、地址总线和相应的控制信号线均置为高阻态,将数据总线、地址总线和相应的控制信号线均置为高阻态,向向DMA控制器发出控制器发出“总线响应总线响应”信号(信号(HLDA)。)。 DMA控制器收到控制器收

20、到HLDA信号后,就开始控制总线,并向外设发出信号后,就开始控制总线,并向外设发出DMA响应信号响应信号DACK; DMA控制器送出地址信号和相应的控制信号,实现外设与内存或控制器送出地址信号和相应的控制信号,实现外设与内存或内存与内存之间的直接数据传送;内存与内存之间的直接数据传送; 规定的数据传送完后,规定的数据传送完后,DMA控制器就撤销发往控制器就撤销发往CPU的的HOLD信号。信号。CPU检测到检测到HOLD失效后,紧接着撤销失效后,紧接着撤销HLDA信号,并在下一时钟信号,并在下一时钟周期重新开始控制总线。周期重新开始控制总线。37386.4 简单接口电路的应用简单接口电路的应用接

21、口电路结构包括:接口电路结构包括:(1 1)和系统总线的连接部分;)和系统总线的连接部分;(2 2)和外设的连接部分;)和外设的连接部分;(3 3)信号转换电路;)信号转换电路;(4 4)上述三部分的控制逻辑。)上述三部分的控制逻辑。391. 简单的输入接口电路简单的输入接口电路40n74LS244:n8个三态门个三态门n两个控制端:两个控制端:1G和和2G,低电平有效,各控制,低电平有效,各控制4个三态门个三态门nA端为数据输入端,端为数据输入端,Y端为数据输出端。端为数据输出端。n当控制端为低电平时,数据从当控制端为低电平时,数据从A端输入,端输入,Y端输出;当控端输出;当控制端为高电平时

22、,三态门呈高阻状态,制端为高电平时,三态门呈高阻状态,A端与端与Y端断开。端断开。41端口地址分别为端口地址分别为FFC0H与与FFC1H。读取开关的程序读取开关的程序:MOV DX, 0FFC0HIN AL, DX42【例题【例题6-1】分析电路,说明输入端口的地址范围,编写程序判分析电路,说明输入端口的地址范围,编写程序判断断8个开关的状态,如果个开关的状态,如果8个开关都闭合执行个开关都闭合执行GOON程序段,否则执行程序段,否则执行NEXT程序段。程序段。4344MOV DX, 0FFC1H IN AL, DX TEST AL, 0FFH JZ GOONNEXT: MOV AX, BX

23、ADD AX, CXGOON: 45测试测试K3的状态,的状态,K3断开时转到断开时转到Label处执行,程序段如处执行,程序段如下:下: TEST AL, 4JNZ Label Label: 466.4.2 简单的输出接口电路简单的输出接口电路n74LS273、74LS374n8位位D锁存器,输入端锁存器,输入端D0D7, 输出端输出端Q0Q7nMR清除端,为低电平时,芯片复位,清除端,为低电平时,芯片复位,Q端输出全为端输出全为0;nCP触发端,上升沿触发,当触发端,上升沿触发,当CP从低电平到高电平跳变时,从低电平到高电平跳变时,D0D7的数据输出到的数据输出到Q0Q7并锁存。并锁存。4

24、774LS273 作输出端口作输出端口系系统统总总线线信信号号D0D0D7D7A0A1A2A3A4A5A6A7IOW&111CP+ 5VQ0Q1Q6Q7A8A9A10A11A12A13A14A15+ 5V74LS27374LS27348八段八段LED 显示器显示器abcdefghcomabcdefghcomabcdefgh图6-13 八段LED 显示器(a)段排列 (b)共阴极 (c)共阳极49八段八段LED显示字形代码表显示字形代码表字型共阳极代码共阴极代码字型共阳极代码共阴极代码0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H

25、499H66HDA1H5EH592H6DHE86H79H682H7DHF8EH71H7F8H07H灭FFH00H880H7FH50【例题【例题6-2】74LS273作为输出接口电路驱动一个共阴极作为输出接口电路驱动一个共阴极8段段LED显示器。请在显示器。请在LED显示器上循环显示数字显示器上循环显示数字0F 。51GG2AG2BCBA74LS138 IOWA1A3A4A5A6A7A2A8A10A11A12A13A14A9A15&1O0 O1 O2 O3 O4 O5 O6 O7 D0 |D7 D0 D7 CPA01Y074LS273abcdefgh 52n74LS273的端口地址为的端口地址为

26、FE00H53程序数据段程序数据段DSEGSEGMENTSEG8 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 6FH,77H,7CH,39H,5EH,79H,71H,00HDSEGENDS54程序代码段程序代码段CSEGSEGMENTASSUME CS:CSEG ,DS: DSEG START:MOV AX, DSEGMOV DS, AXLEA BX, SEG8;取取8段码显示字形表基地址段码显示字形表基地址MOV DX, 0FE00H AA1: MOV SI, 0AA2: MOV AL, BX+SI;取显示字形码取显示字形码OUT DX, AL55CALL D

27、ELAY;调用延时子程序调用延时子程序INC SICMP SI, 16JZ AA1JMP AA2MOV AH, 4CHINT 21HCSEG ENDSEND START56延时子程序延时子程序DELAY PROC NEAR;子程序开始子程序开始PUSH CX MOV CX,2FFFHSUBS:LOOPSUBSPOPCXRET DELAYENDP;子程序结束子程序结束576.5 中断技术中断技术58中断的概念中断的概念n中断,是指在程序执行过程中,出现某种紧急事中断,是指在程序执行过程中,出现某种紧急事件,件,CPU暂停执行现行程序,转去执行处理该事暂停执行现行程序,转去执行处理该事件的程序件的

28、程序中断服务程序,执行完后再返回到中断服务程序,执行完后再返回到被暂停的程序继续执行,这一过程称为中断。被暂停的程序继续执行,这一过程称为中断。59中断源中断源n引起中断的设备或事件称为中断源,计算机的引起中断的设备或事件称为中断源,计算机的中断源可能是某个硬件部件,也可能是软件。中断源可能是某个硬件部件,也可能是软件。n常见的中断源有:常见的中断源有:外围设备、外围设备、CPU、存储器、控制器、总线、实时钟的、存储器、控制器、总线、实时钟的定时中断、程序指令、硬件故障;定时中断、程序指令、硬件故障;60中断的分类:内部中断和外部中断中断的分类:内部中断和外部中断n内部中断包括:由内部中断包括

29、:由CPU本身产生的中断、由控制器本身产生的中断、由控制器产生的中断、由程序员安排的中断指令引起的中断。产生的中断、由程序员安排的中断指令引起的中断。n外部中断又根据中断事件的紧迫程度将中断源划分外部中断又根据中断事件的紧迫程度将中断源划分为可屏蔽中断和不可屏蔽中断。为可屏蔽中断和不可屏蔽中断。q可屏蔽中断是指可以延时处理的事件,例如打印机的可屏蔽中断是指可以延时处理的事件,例如打印机的输入输出中断请求。输入输出中断请求。 q不可屏蔽中断是指事件异常紧急,必须马上处理,例不可屏蔽中断是指事件异常紧急,必须马上处理,例如掉电、内存奇偶校验错引起的中断。如掉电、内存奇偶校验错引起的中断。616.6

30、 中断处理的基本过程中断处理的基本过程中断处理的基本过程包括中断请求、中断判优、中断处理的基本过程包括中断请求、中断判优、中断响应、中断服务和中断返回。中断响应、中断服务和中断返回。626.6.1 中断请求中断请求n内部中断无需请求内部中断无需请求n外部中断请求由中断源提出。外部中断请求由中断源提出。qCPU的两个中断输入引脚的两个中断输入引脚INTR和和NMI负责接收中负责接收中断请求信号。断请求信号。qINTR可屏蔽中断请求输入引脚。可屏蔽中断请求输入引脚。n可屏蔽中断请求信号一般为高电平。受中断允许标志位可屏蔽中断请求信号一般为高电平。受中断允许标志位IF的影响,当的影响,当IF=1时,

31、时,CPU接受中断请求;当接受中断请求;当IF=0时,时,CPU不予响应,该请求被屏蔽。不予响应,该请求被屏蔽。qNMI不可屏蔽中断请求输入引脚,上升沿触发。不可屏蔽中断请求输入引脚,上升沿触发。63646.6.2 中断判优中断判优nCPU一次只能接受一个中断源的请求。一次只能接受一个中断源的请求。n多个中断源同时向多个中断源同时向CPU提出中断请求时,提出中断请求时,CPU必须必须找出中断优先级最高的中断源,这一过程称为中断找出中断优先级最高的中断源,这一过程称为中断判优。判优。n中断判优可以采用硬件方法,也可采用软件方法。中断判优可以采用硬件方法,也可采用软件方法。65软件判优软件判优CP

32、U检测到中断请求后,响应中断进入中断服务程序,检测到中断请求后,响应中断进入中断服务程序,首先读取中断寄存器的内容,逐位检测它们的状态,首先读取中断寄存器的内容,逐位检测它们的状态,检测到某一位为检测到某一位为1,就确定对应的中断源有中断请求,就确定对应的中断源有中断请求,转去执行它的中断服务程序。先检测哪一个,哪一转去执行它的中断服务程序。先检测哪一个,哪一个的优先级就高,后检测哪一个,哪一个优先级就个的优先级就高,后检测哪一个,哪一个优先级就低,检测的顺序就是各中断源的优先级顺序。低,检测的顺序就是各中断源的优先级顺序。66软件判优的简单电路软件判优的简单电路67查询程序:查询程序: MO

33、V DX, 87FFHIN AL, DX ;读中断请求寄存器内容读中断请求寄存器内容RCR AL, 1JC IR0 ;IRQ0有请求,转有请求,转IR0RCR AL,1JC IR1 ;IRQ1有请求,转有请求,转IR1RCR AL,1JC IR2 ;IRQ2有请求,转有请求,转IR2软件判优的硬件电路简单,优先权安排灵活,但软件判优所花软件判优的硬件电路简单,优先权安排灵活,但软件判优所花的时间长,如果中断源很多,中断的实时性就很差。的时间长,如果中断源很多,中断的实时性就很差。68硬件判优硬件判优n两种常见的方式:菊花链判优电路和中断控制器两种常见的方式:菊花链判优电路和中断控制器判优。判优

34、。691. 菊花链判优电路菊花链判优电路n基本设计思想:每个中断源都有一个中断逻辑电路,基本设计思想:每个中断源都有一个中断逻辑电路,所有的中断逻辑电路连成一条链,形如菊花。排在所有的中断逻辑电路连成一条链,形如菊花。排在链前端的中断源优先级最高,越靠后的设备优先级链前端的中断源优先级最高,越靠后的设备优先级越低。越低。CPU收到中断请求,如果允许中断,收到中断请求,如果允许中断,CPU发发出中断应答信号出中断应答信号INTA,INTA信号首先到达菊花链的信号首先到达菊花链的前端。前端。70INTA 71n如果中断源如果中断源1提出了中断请求,它就会截获提出了中断请求,它就会截获INTA信信号

35、,封锁它,使它不能向下一个中断源传送,下号,封锁它,使它不能向下一个中断源传送,下面中断源的中断请求不能被响应。面中断源的中断请求不能被响应。72中断控制器判优中断控制器判优nCPU根据中断向量码确定中断源。根据中断向量码确定中断源。n中断控制器中,有一个中断优先级判别器判断中断优先级,中断控制器中,有一个中断优先级判别器判断中断优先级,将优先级最高的中断源的中断向量码提供给将优先级最高的中断源的中断向量码提供给CPU。736.6.3 中断响应中断响应中断响应时,中断响应时,CPU向中断源发出中断应答信号向中断源发出中断应答信号INTA,同时:同时: 保护硬件现场,即将标志寄存器保护硬件现场,

36、即将标志寄存器FLAGS入栈;入栈; 关中断,即设置关中断,即设置IF=0; 保护断点,把主程序断点的保护断点,把主程序断点的CS 和和IP值压入堆栈;值压入堆栈; 获得中断服务程序的入口地址,分别送入获得中断服务程序的入口地址,分别送入IP和和CS中。中。746.6.4 中断服务中断服务n中断服务的过程:中断服务的过程:q保护现场保护现场q开中断开中断q中断服务中断服务q恢复现场恢复现场q返回返回756.6.5 中断返回中断返回n中断返回操作是中断响应操作的逆过程,中断返回操作是中断响应操作的逆过程,CPU从堆从堆栈中弹出栈中弹出IP、CS和和FLAGS,恢复被中断程序的基本,恢复被中断程序

37、的基本信息,使被中断程序继续运行。信息,使被中断程序继续运行。n在中断服务程序的最后一条语句在中断服务程序的最后一条语句IRET的功能就是中的功能就是中断返回的操作。断返回的操作。766.7 8086/8088中断系统中断系统8086/8088CPU的中断系统可以处理的中断系统可以处理256种中断。每种中种中断。每种中断对应一个编号,范围断对应一个编号,范围0255,这个编号称为中断源的中,这个编号称为中断源的中断类型码或中断向量码。断类型码或中断向量码。77中断分为两类:内部中断和外部中断。外部中断又分中断分为两类:内部中断和外部中断。外部中断又分为可屏蔽中断和不可屏蔽中断两类。为可屏蔽中断

38、和不可屏蔽中断两类。781. 外部中断外部中断n不可屏蔽中断不可屏蔽中断q编号为编号为2qNMI是不可屏蔽中断请求信号的输入端。是不可屏蔽中断请求信号的输入端。q优先级最高。优先级最高。qCPU不需获取中断向量码,不发送不需获取中断向量码,不发送INTA,直接查中断,直接查中断向量表获得中断服务程序的入口地址。向量表获得中断服务程序的入口地址。q不可屏蔽中断用于处理紧急事件,如存储器读不可屏蔽中断用于处理紧急事件,如存储器读/写出错、写出错、电源掉电等。电源掉电等。79n可屏蔽中断可屏蔽中断qINTR是可屏蔽中断请求信号的输入端。是可屏蔽中断请求信号的输入端。qCPU收到中断请求信号后,检测中

39、断允许标志位收到中断请求信号后,检测中断允许标志位IF,若若IF=1,CPU准备响应准备响应INTR请求;若请求;若IF=0时,时,CPU屏蔽屏蔽INTR请求。请求。q中断标志位中断标志位IF可以用指令可以用指令STI和和CLI进行设置。进行设置。q可屏蔽中断的优先级低于不可屏蔽中断。可屏蔽中断的优先级低于不可屏蔽中断。802. 内部中断内部中断n内部中断包括:内部中断包括:qINT nqINT3qINTO指令指令q除法错中断除法错中断q单步中断。单步中断。81INT nqCPU执行执行INT n指令,产生中断向量码为指令,产生中断向量码为n的中断。的中断。n的的取值范围取值范围0255。不管

40、是内部中断还是外部中断都可以。不管是内部中断还是外部中断都可以通过通过INT n指令调用其中断服务程序。指令调用其中断服务程序。INT3qCPU执行执行INT3指令引起的中断,称为断点中断,中断向指令引起的中断,称为断点中断,中断向量码为量码为3。这是个单字节指令,代码为。这是个单字节指令,代码为0CCH。在调试程。在调试程序时用这条指令设置断点。序时用这条指令设置断点。82INTO指令指令 4号号qCPU执行执行INTO指令时,检测溢出标志位指令时,检测溢出标志位OF,如果,如果OF=1,则产生中断向量码为,则产生中断向量码为4的中断。若的中断。若OF=0,INTO指令不起作用。指令不起作用

41、。MOV BL,126 MOV AL,5 ADD AL,BL ;OF=1 INTO ;执行溢出中断服务程序执行溢出中断服务程序 83除法错中断除法错中断 0号号q执行除法指令时,除数为执行除法指令时,除数为0或商数超出了结果寄存器或商数超出了结果寄存器的取值范围,产生中断,中断向量码为的取值范围,产生中断,中断向量码为0。这个中断。这个中断的处理过程一般由系统软件负责。的处理过程一般由系统软件负责。单步中断单步中断 1号号q也叫陷阱中断,中断向量码为也叫陷阱中断,中断向量码为1。标志寄存器的标志。标志寄存器的标志位位TF=1产生的中断,产生的中断,TF也叫陷阱(也叫陷阱(Trap)标志。如)标

42、志。如果果TF=1,CPU 执行一条指令后产生单步中断。单步执行一条指令后产生单步中断。单步中断常用于调试程序。中断常用于调试程序。 843.中断优先级与中断嵌套中断优先级与中断嵌套n8088/8086系统的中断优先级如下:系统的中断优先级如下:q不可屏蔽中断不可屏蔽中断除法错中断除法错中断INT nINTO可屏蔽中断可屏蔽中断单单步中断步中断n中断可以嵌套中断可以嵌套8088/8086中断的处理流程中断的处理流程nCPU在每条指令的最后一个时钟周期检测中断请求在每条指令的最后一个时钟周期检测中断请求信号:信号:(1). 若有非屏蔽中断请求,则若有非屏蔽中断请求,则CPU执行完现行指令后执行完

43、现行指令后,就立即响应中断。,就立即响应中断。2号。号。8586(2). 如果有可屏蔽中断请求,如果有可屏蔽中断请求,CPU响应中断需要满足响应中断需要满足4个条件:个条件: CPU处于开中断状态,即处于开中断状态,即IF=1; 当前没有发生复位、没有总线请求、没有内部中断、没有当前没有发生复位、没有总线请求、没有内部中断、没有不可屏蔽中断;不可屏蔽中断; 当前执行的指令不是开中断指令当前执行的指令不是开中断指令STI,也不是中断返回指令,也不是中断返回指令IRET。如果刚巧是,。如果刚巧是,CPU将它们执行结束后,再执行一条将它们执行结束后,再执行一条指令,指令,CPU才能响应中断。才能响应中断。 CPU执行完现行指令。执行完现行指令。(3). 进入中断响应阶段,进入中断响应阶段,CPU向中断源发出中断应答信号向中断源发出中断应答信号INTA,同时:同时: 保护硬件现场,即将标志寄存器保护硬件现场,即将标志寄存器FLAGS入栈;入栈; 关中断,即设置关中断,即设置IF=0; 保护断点,把主程序断点的保护断点,把主程序断点的CS 和和IP值压入堆栈;值压入堆栈; 通过中断向量码查中断向量表,获得中断服务程序的入口通过中断向量码查中断向量表,获得中断服务程序的入口地址,分别送入地址,分别送入IP和和CS中。中

温馨提示

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

评论

0/150

提交评论