第七章 中断系统_第1页
第七章 中断系统_第2页
第七章 中断系统_第3页
第七章 中断系统_第4页
第七章 中断系统_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机硬件技术基础计算机硬件技术基础第七章第七章 中断系统中断系统7.1 中断概述中断概述7.2 CPU响应中断的条件和过程响应中断的条件和过程7.3 中断优先权及多重中断中断优先权及多重中断7.4 8088的中断方式的中断方式7.5 IBM PC/XT的中断方式的中断方式7.6 中断控制器中断控制器8259A7.1 中断概述中断概述中断:是指中断:是指CPU在正常运行程序时,由程序预先安排好在正常运行程序时,由程序预先安排好的事件,或者由内、外部事件引起的事件,或者由内、外部事件引起CPU中断正在运行的中断正在运行的程序,转到为预先安排的事件或内、外部事件服务的程程序,转到为预先安排的事件或

2、内、外部事件服务的程序中去。这些引起程序中断的事件称为中断源。序中去。这些引起程序中断的事件称为中断源。PC的中的中断指令在断指令在CPU中预先设定。中预先设定。7.1.1应用中断的好处:应用中断的好处:1.同步操作同步操作2.实现实时处理实现实时处理3.故障处理故障处理中断常用术语中断常用术语(1)中断返回)中断返回 当计算机对紧急事件处理完成后,要返回原程序当计算机对紧急事件处理完成后,要返回原程序A,实际上是将从断点处继续执行原程序,这个过程称为中实际上是将从断点处继续执行原程序,这个过程称为中断返回。断返回。 (2)中断服务程序)中断服务程序 非寻常事件的处理程序非寻常事件的处理程序B

3、,称为中断服务程序。中断,称为中断服务程序。中断服务程序是程序员事先安排好的程序,非寻常事件一般服务程序是程序员事先安排好的程序,非寻常事件一般是指事件发生的时间是无法预知的,但事件的性质及处是指事件发生的时间是无法预知的,但事件的性质及处理方法是已知的。理方法是已知的。7.6.1 中断的概念中断的概念(3)中断现场和保护现场)中断现场和保护现场 计算机正在运行程序计算机正在运行程序A,收到紧急事件的要求,中断,收到紧急事件的要求,中断了当前程序了当前程序A;在中断时刻,程序;在中断时刻,程序A运行的当前状态称为运行的当前状态称为中断现场。它应包括状态寄存器的状态,以及中断现场。它应包括状态寄

4、存器的状态,以及CPU内部内部寄存器的当前内容。为了使中断返回后这些信息不会丢寄存器的当前内容。为了使中断返回后这些信息不会丢失,必须加以保护,这称为保护现场。保护的方法有些失,必须加以保护,这称为保护现场。保护的方法有些是靠硬件自动完成的,有些则靠程序来实现。是靠硬件自动完成的,有些则靠程序来实现。(4)断点)断点 计算机正在执行程序计算机正在执行程序A,由于某一个非寻常事件发生,由于某一个非寻常事件发生,暂停暂停A程序的运行,而执行紧急事件处理程序程序的运行,而执行紧急事件处理程序B,程序,程序A被中断时的下一条指令的地址称为断点或断点地址。被中断时的下一条指令的地址称为断点或断点地址。7

5、.6.1 中断的概念中断的概念7.1 中断概述中断概述7.1.2 中断源中断源 引起中断产生的事件或发出中断请求的来源,称为中引起中断产生的事件或发出中断请求的来源,称为中断源。断源。1.一般的输入输出一般的输入输出2.数据通道中断源数据通道中断源3.实时时钟实时时钟4.故障源故障源5.为调试程序而设置的中断源为调试程序而设置的中断源7.1 中断概述中断概述7.1.3 中断系统的功能中断系统的功能1.实现中断及返回实现中断及返回2.能实现优先排队能实现优先排队3.高级中断源能中断低级的中断处理高级中断源能中断低级的中断处理7.2 CPU响应中断的条件和过程响应中断的条件和过程7.2.1 CPU

6、响应中断的条件响应中断的条件1.设置中断请求触发器设置中断请求触发器2.设置中断屏蔽触发器设置中断屏蔽触发器3.中断是开放的中断是开放的4.CPU在现行指令结束后响应中断在现行指令结束后响应中断7.2 CPU响应中断的条件和过程响应中断的条件和过程7.2.2 CPU对中断的响应对中断的响应1.关中断关中断2.保留断点保留断点3.保护现场保护现场4.给出中断入口,转入相应的中断服务程序给出中断入口,转入相应的中断服务程序5.恢复现场恢复现场6.开中断与返回开中断与返回7.2 CPU响应中断的条件和过程响应中断的条件和过程三态三态缓冲器缓冲器输输入入设设备备地址地址译码器译码器1数据数据RDYDB

7、ABIO/MRDCPU&中断请求中断请求触发器触发器数据数据锁存器锁存器+5VQDINT状态信号状态信号数据数据锁存器锁存器三态三态缓冲器缓冲器1&中断方式的输入过程:中断方式的输入过程:1. 外设准备好数据,发出选通信号外设准备好数据,发出选通信号2. 选通信号将数据锁存,同时产生中断信号选通信号将数据锁存,同时产生中断信号3. 若中断屏蔽触发器不屏蔽(即允许中断),则将若中断屏蔽触发器不屏蔽(即允许中断),则将中断信号传送给中断信号传送给CPU4. CPU接收到中断信号,且接收到中断信号,且IF=1,则,则CPU响应中响应中断,发断,发INTA响应信号,清除传来的中断请求信

8、响应信号,清除传来的中断请求信号,并获取外设的中断向量号,并获取外设的中断向量5. CPU执行相应的中断服务子程序,即读取数据执行相应的中断服务子程序,即读取数据7.2 CPU响应中断的条件和过程响应中断的条件和过程7.3 中断优先权及多重中断中断优先权及多重中断7.3.1 中断优先权中断优先权判别和确定各个中断源的优先权可以用软件和硬件两种判别和确定各个中断源的优先权可以用软件和硬件两种方法。方法。1.用软件确定中断优先权用软件确定中断优先权把把8个外设的中断请求触发器组合起来,作为一个端口,个外设的中断请求触发器组合起来,作为一个端口,并赋以设备号,把各个外设的中断请求信号相并赋以设备号,

9、把各个外设的中断请求信号相“或或”后,后,作为作为INTR信号,故任一外设有中断请求,都可向信号,故任一外设有中断请求,都可向CPU送出送出INTR信号。当信号。当CPU响应中断后,把中断寄存器的响应中断后,把中断寄存器的状态,作为一个外设读入状态,作为一个外设读入CPU,逐位检测它们的状态,逐位检测它们的状态,若有中断请求就转到相应的服务程序的入口。若有中断请求就转到相应的服务程序的入口。中断源有许多个,需要用中断控制器来进行优先级管理:中断源有许多个,需要用中断控制器来进行优先级管理: a.当多个中断同时发生时,优先级高的得到响应。当多个中断同时发生时,优先级高的得到响应。 b.优先级高的

10、中断可以中断优先级低的中断优先级高的中断可以中断优先级低的中断中中 断断优优 先级先级除法错误,INTO,INT nNMIINTR单步中断最高最低7.6.2 8086的中断系统的中断系统7.3 中断优先权及多重中断中断优先权及多重中断7.3.1 中断优先权中断优先权查询程序有两种实现方法查询程序有两种实现方法(1)屏蔽法屏蔽法IN AL,20H ;输入中断请求触发器的状态输入中断请求触发器的状态TEST AL,80H ;检查最高位检查最高位JNE PWF ;外设外设A中断服务程序中断服务程序TEST AL,40H ;检查次高位检查次高位JNE DISS ;外设外设B中断服务程序中断服务程序TE

11、ST AL,20H ;检查次高位检查次高位JNE MT ;外设外设C中断服务程序中断服务程序7.3 中断优先权及多重中断中断优先权及多重中断7.3.1 中断优先权中断优先权(2)移位法移位法XOR AL,ALIN AL,20H ;输入中断请求触发器的状态输入中断请求触发器的状态RCL AL, 1JC PWF ;外设外设A中断服务程序中断服务程序RCL AL, 1JC DISS ;外设外设B中断服务程序中断服务程序7.3 中断优先权及多重中断中断优先权及多重中断7.3.1 中断优先权中断优先权2. 硬件优先权排队电路硬件优先权排队电路(1)中断优先权编码电路中断优先权编码电路若有若有8个中断源,

12、当任意一个有中断请求时,通过或门,个中断源,当任意一个有中断请求时,通过或门,即可有一个中断请求信号产生,能否送至即可有一个中断请求信号产生,能否送至CPU的中断请的中断请求线,还要受比较器的控制。求线,还要受比较器的控制。(2)雏菊花环雏菊花环(Daisy Chain)式或称为链式优先权排队电式或称为链式优先权排队电路路7.3 中断优先权及多重中断中断优先权及多重中断中断响应中断响应(来自来自CPU)F/F A&F/F B&F/F C&F/F D&中断请求输入中断请求输入1中断请求输入中断请求输入2中断请求输入中断请求输入3中断请求输入中断请求输入4中断输出中

13、断输出1中断输出中断输出2中断输出中断输出3中断输出中断输出4链式优先权排队电路链式优先权排队电路 2)简单硬件方式(菊花链法)简单硬件方式(菊花链法)设备设备1接口接口菊花链逻辑电路设备设备2接口接口设备设备3接口接口菊花链逻辑电路菊花链逻辑电路CPU以及以及总线控制器总线控制器INTAINTR中断请求中断应答7.3 中断优先权及多重中断中断优先权及多重中断7.3.2 多级中断的概念多级中断的概念 多级中断系统是指计算机系统有相当多的中断源,根多级中断系统是指计算机系统有相当多的中断源,根据各中断事件的轻重缓急而分成若干级别,每一中断级据各中断事件的轻重缓急而分成若干级别,每一中断级分配一个

14、优先权。分配一个优先权。 根据系统的配置不同,多级中断又可分为一维多级中根据系统的配置不同,多级中断又可分为一维多级中断和二维多级中断。一维多级中断是指每一中断中只有断和二维多级中断。一维多级中断是指每一中断中只有一个中断源,而二维多级中断是指每一级中断中又有多一个中断源,而二维多级中断是指每一级中断中又有多个中断源。个中断源。7.3 中断优先权及多重中断中断优先权及多重中断7.3 中断优先权及多重中断中断优先权及多重中断7.4 8086/8088的中断方式的中断方式1.软中断:软中断: 软件中断是软件中断是CPU根据程序中的某条指令或程序对标根据程序中的某条指令或程序对标志寄存器中某个标志的

15、设置而产生的。志寄存器中某个标志的设置而产生的。(1)DIV(除除)或或IDIV(整除整除)指令指令(2)INT指令指令(3)INTO指令指令(4)单步执行单步执行7.4 8086/8088的中断方式的中断方式2.硬中断:硬中断: 硬件中断也称为外部中断,硬件中断也称为外部中断,CPU提供了两个外部中提供了两个外部中断输入引脚,断输入引脚,18脚(脚(INTR)可屏蔽中断输入引脚,)可屏蔽中断输入引脚,17脚(脚(NMI)非屏蔽中断输入引脚。)非屏蔽中断输入引脚。(1)可屏蔽中断可屏蔽中断,出现在出现在INTR线上线上(2)非屏蔽中断非屏蔽中断,出现在出现在NMI线上线上7.4 8086/80

16、88的中断方式的中断方式非屏蔽中断请求非屏蔽中断请求中断逻辑中断逻辑INT n指令指令INT0除法除法错误错误单步单步(TF=1)8259ANMIINTR8086CPU可屏蔽的可屏蔽的中断请求中断请求8086中断分类中断分类8086中断中断外部中断外部中断内部中断内部中断可屏蔽中断请求通过8259A中断控制器产生非屏蔽中断请求包括掉电、存储器满、总线信息奇偶错等软件陷阱软件中断类型0中断除法错误中断类型1中断单步中断(TF=1)INT n指令类型为n的中断指令INT 3指令断点中断指令INT0指令溢出中断指令IRET指令中断返回3.中断向量表中断向量表 中断向量:中断向量:中断处理子程序的入口

17、地址;中断处理子程序的入口地址;中断向量表:中断向量表:在内存的前在内存的前1KB(地址为地址为00000H003FFH) 区域存放着区域存放着256个中断向量个中断向量(或或256个中断类型个中断类型) ,每个中断向量占用,每个中断向量占用4字节空间。字节空间。7.4 8086/8088的中断方式的中断方式3.中断向量表中断向量表o每一种中断类型对应一个中断向量;每一种中断类型对应一个中断向量;o每个中断向量占每个中断向量占4个字节,前两个字节存放中断处个字节,前两个字节存放中断处理子程序入口地址的偏移量(理子程序入口地址的偏移量(IP),后两个字节存放),后两个字节存放中断处理子程序入口地

18、址的段地址(中断处理子程序入口地址的段地址(CS););o256个中断中:个中断中:0-4为专用中断,为专用中断,5-31为系统保留为系统保留(21个),个),32以上共以上共224个为用户自定义中断。个为用户自定义中断。7.4 8086/8088的中断方式的中断方式 80868086中断向量表中断向量表 指出了中断向量类型码与中断向量之间的关系指出了中断向量类型码与中断向量之间的关系类型类型255255类型类型3333类型类型3232类型类型3131类型类型5 5类型类型4 4类型类型3 3类型类型2 2类型类型1 1类型类型0 03FEH 3FEH 3FCH 3FCH 084H084H08

19、0H 080H 07EH07EH014H014H010H010H00CH00CH008H008H004H004H000H000H可使用的可使用的中断向量中断向量保留的保留的 中断向量中断向量专用的专用的 中断向量中断向量CSCS基址基址IPIP偏移量偏移量中断服务程序起始地址的计算:中断服务程序起始地址的计算:CSCS基址所在单元基址所在单元 TYPE TYPE* *4+24+2IPIP偏移量所在单元偏移量所在单元 TYPE TYPE* *2 2例:外设的编码类型为例:外设的编码类型为3333,计算该外,计算该外设的中断服务程序入口地址设的中断服务程序入口地址CSCS基址所在单元基址所在单元

20、33 33* *4+2=134=86H4+2=134=86HIPIP偏移量所在单元偏移量所在单元 33 33* *4=132=84H4=132=84H7.4 8086/8088的中断方式的中断方式4. 中断响应和处理过程中断响应和处理过程(1)类型码乘类型码乘4,作为中断向量表指针;作为中断向量表指针;(2)CPU标志寄存器入栈;标志寄存器入栈;(3)复制追踪标志复制追踪标志T的状态的状态,清除清除I和和T标志标志,屏蔽新的屏蔽新的INTR中断和单步中断;中断和单步中断;(4)保存主程序中的断点保存主程序中的断点,即把主程序断点处的即把主程序断点处的IP和和CS的的值推入堆栈保护值推入堆栈保护

21、,先推入先推入CS的值的值,再推入再推入IP的值;的值;(5)从中断向量表中取中断服务程序的入口地址从中断向量表中取中断服务程序的入口地址,分别送分别送至至CS和和IP中中,先取先取CS的值;的值;(6)按新地址执行中断服务程序。按新地址执行中断服务程序。 CPU自动执行自动执行1、关中断、关中断2、发出中断响应信号、发出中断响应信号3、读入中断向量地址、读入中断向量地址4、PC内容压栈内容压栈1、保护现场、保护现场2、设置本优先级、设置本优先级3、开中断、开中断对外部设备的控制程序对外部设备的控制程序主机与外设数据交换主机与外设数据交换1、关中断、关中断2、恢复、恢复CPU现场现场3、开中断

22、、开中断4、返回指令、返回指令CPU响应中断请求响应中断请求中中断断服服务务程程序序5、中断服务过程、中断服务过程7.5 IBM PC/XT的中断方式的中断方式1. IBM PC/XT的中断类型的中断类型(1)内部中断即软中断内部中断即软中断(2)非屏蔽中断非屏蔽中断NMI(3)可屏蔽中断可屏蔽中断INTR7.5 IBM PC/XT的中断方式的中断方式7.5 IBM PC/XT的中断方式的中断方式2. IBM PC/XT系统保留的中断系统保留的中断8086CPU最多能处理最多能处理256种不同的中断,其中种不同的中断,其中5个保留个保留为为CPU专用;一部分是由磁盘操作系统专用;一部分是由磁盘

23、操作系统DOS保留保留为为系统使用,系统使用,用户可以使用用户可以使用200个左右中断个左右中断。7.5 IBM PC/XT的中断方式的中断方式7.6 中断控制器中断控制器8259A7.6.1 8259A的内部结构的内部结构 1.数据总线缓冲器数据总线缓冲器 2.中断请求寄存器中断请求寄存器(IRR) 3.优先权电路优先权电路 4.中断服务寄存器中断服务寄存器(ISR) 5.中断屏蔽寄存器中断屏蔽寄存器(IMR) 6.控制逻辑控制逻辑 7.读读/写逻辑写逻辑 8.级联缓冲级联缓冲/比较器比较器7.6 中断控制器中断控制器8259A7.6 中断控制器中断控制器8259A1.数据总线缓冲器数据总线

24、缓冲器 数据总线缓冲器是三态,双向,数据总线缓冲器是三态,双向,8位的缓冲器,位的缓冲器,D7D0用于和用于和CPU的数据总线连接。的数据总线连接。2.中断请求寄存器(中断请求寄存器(IRR) 中断请求寄存器用来寄存所有中断请求寄存器用来寄存所有IR输入线输入的中断请输入线输入的中断请求信号,即保存正在请求服务的中断级。求信号,即保存正在请求服务的中断级。 7.6 中断控制器中断控制器8259A3.优先权电路优先权电路 优先权电路的主要作用是确定中断请求寄存器优先权电路的主要作用是确定中断请求寄存器IRR中中各位的优先等级,并确定能否向各位的优先等级,并确定能否向CPU申请中断。申请中断。4.

25、中断服务寄存器中断服务寄存器(ISR) 中断服务寄存器中断服务寄存器ISR的主要作用是保存当前被的主要作用是保存当前被CPU服服务的中断级,也就是记录正在被处理的中断请求。务的中断级,也就是记录正在被处理的中断请求。5.中断屏蔽寄存器中断屏蔽寄存器(IMR) 中断屏蔽寄存器中断屏蔽寄存器IMR的主要作用是对各中断源的中断的主要作用是对各中断源的中断请求信号(请求信号(IROIR7)实现开关控制。)实现开关控制。7.6 中断控制器中断控制器8259A6.控制逻辑控制逻辑 控制逻辑内部包括内部控制电路,中断控制电路,初始控制逻辑内部包括内部控制电路,中断控制电路,初始化命令寄存器组和操作命令寄存器

26、组,它根据化命令寄存器组和操作命令寄存器组,它根据CPU对对8259A编程设定的工作方式产生编程设定的工作方式产生8259A内部控制信号,内部控制信号,并根据中断请求寄存器并根据中断请求寄存器IRR和优先权电路的判别结果,在和优先权电路的判别结果,在适当时候向适当时候向CPU发生中断请求信号,并接收发生中断请求信号,并接收CPU发来的发来的中断响应信号中断响应信号INTA,控制提供中断类型号。,控制提供中断类型号。7.6 中断控制器中断控制器8259A7.读写逻辑读写逻辑 接收接收CPU来的控制信号,包括端口控制信号,数据方来的控制信号,包括端口控制信号,数据方向控制信号,控制将向控制信号,控

27、制将CPU送来的初始化命令送来的初始化命令ICW和操作和操作命令命令OCW存入存入8259A内部相应的寄存器,用以规定内部相应的寄存器,用以规定8259A的工作方式。的工作方式。8.级连缓冲级连缓冲/比较器比较器 一片一片8259A最多构成最多构成8级中断(级中断(IROIR7),要想扩),要想扩展中断源,必须多片连在一起,叫级连方式。展中断源,必须多片连在一起,叫级连方式。 级连缓冲级连缓冲/比较器的功能有两个:比较器的功能有两个:提供级连控制提供级连控制提供缓冲控制提供缓冲控制 初始化编程是指系统在上电或复位后对可编程器件进初始化编程是指系统在上电或复位后对可编程器件进行控制字设定的一段程

28、序。行控制字设定的一段程序。1.初始化命令字初始化命令字ICW1、 ICW2、 ICW3、 ICW4ICW1的主要功能:确定级联方式的主要功能:确定级联方式,触发方式。触发方式。ICW2的主要功能:确定中断向量的主要功能:确定中断向量,中断类型码。中断类型码。ICW3的主要功能:确定主片的主要功能:确定主片/从片的级联状态从片的级联状态,即确定主即确定主片的连接位和从片的编码。片的连接位和从片的编码。ICW4的主要功能:选择的主要功能:选择CPU系统系统,确定中断结束方式确定中断结束方式,规规定是主片还是从片定是主片还是从片,选择是否采用缓冲方式选择是否采用缓冲方式7.6.4 8259A的编程

29、的编程7.6.4 8259A的编程的编程写写ICW1写写ICW2写写ICW3写写ICW4初始化结束初始化结束级联级联要要ICW4NNYY8259A的的ICW写入顺序写入顺序2.操作命令字操作命令字OCW1、 OCW2、 OCW3OCW1的主要功能:保存中断屏蔽字。的主要功能:保存中断屏蔽字。OCW2的主要功能:控制的主要功能:控制8259A的中断循环优先级方式的中断循环优先级方式及发送命令中断结束方式。及发送命令中断结束方式。OCW3的主要功能:设定查询方式和特殊屏蔽方式。的主要功能:设定查询方式和特殊屏蔽方式。7.6.4 8259A的编程的编程例例7-1. 8259A单片应用。在某单片应用。

30、在某8088系统中扩展一片中系统中扩展一片中断控制器断控制器8259A,其端口地址由,其端口地址由74LS138译码器译码译码器译码选择,假设选择,假设8CH和和8DH.中断源的中断请求线连到中断源的中断请求线连到IR7输输入线上,边沿触发方式,入线上,边沿触发方式,IR7的中断类型码为的中断类型码为77H,其,其他条件保持他条件保持8259A的复位设置状态。要求:写出的复位设置状态。要求:写出8259A的初始化程序,中断类型码为的初始化程序,中断类型码为77H的中断向量设置程序。的中断向量设置程序。解:解:(1)8259A的初始化程序的初始化程序初始化程序包括写入初始化程序包括写入ICW1 、ICW2和和 ICW4(由于单片由于单片使用,不需写入使用,不需写入ICW3),并且必须按规定的顺序写入。并且必须按规定的顺序写入。1)ICW1命令字:单片,边沿触发,需要命

温馨提示

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

评论

0/150

提交评论