《第八章中断系统第九章DMA控制器.ppt》由会员分享,可在线阅读,更多相关《第八章中断系统第九章DMA控制器.ppt(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第八章 中断系统8.1中断概念中断概念8.28086、8088的中断系统的中断系统8.18.1 中断概念中断概念中断:是指中断:是指CPUCPU在正常运行程序时,由程序预先安排好的在正常运行程序时,由程序预先安排好的事件,或者由内、外部事件引起事件,或者由内、外部事件引起CPUCPU中断正在运行的程序,中断正在运行的程序,转到为预先安排的事件或内、外部事件服务的程序中去。转到为预先安排的事件或内、外部事件服务的程序中去。这些引起程序中断的事件称为中断源。这些引起程序中断的事件称为中断源。PCPC的中断指令在的中断指令在CPUCPU中预先设定。中预先设定。8.1.1应用中断的好处:应用中断的好处
2、:1.同步操作同步操作2.实现实时处理实现实时处理3.故障处理故障处理8.1.2 中断源中断源 引起中断产生的事件或发出中断请求的来源,称为中引起中断产生的事件或发出中断请求的来源,称为中断源。断源。1.一般的输入输出一般的输入输出2.数据通道中断源数据通道中断源3.实时时钟实时时钟4.故障源故障源5.为调试程序而设置的中断源为调试程序而设置的中断源8.1.3 中断系统的功能中断系统的功能1.实现中断及返回实现中断及返回2.能实现优先排队能实现优先排队3.高级中断源能中断低级的中断处理高级中断源能中断低级的中断处理中断常用术语中断常用术语(1)中断返回)中断返回 当计算机对紧急事件处理完成后,
3、要返回原程序当计算机对紧急事件处理完成后,要返回原程序A,实际上是将从断点处继续执行原程序,这个过程称为中实际上是将从断点处继续执行原程序,这个过程称为中断返回。断返回。(2)中断服务程序)中断服务程序 非寻常事件的处理程序非寻常事件的处理程序B,称为中断服务程序。中断称为中断服务程序。中断服务程序是程序员事先安排好的程序,非寻常事件一般服务程序是程序员事先安排好的程序,非寻常事件一般是指事件发生的时间是无法预知的,但事件的性质及处是指事件发生的时间是无法预知的,但事件的性质及处理方法是已知的。理方法是已知的。8.1 中断的概念中断的概念(3)中断现场和保护现场)中断现场和保护现场 计算机正在
4、运行程序计算机正在运行程序A,收到紧急事件的要求,中断收到紧急事件的要求,中断了当前程序了当前程序A;在中断时刻,程序在中断时刻,程序A运行的当前状态称为运行的当前状态称为中断现场。它应包括状态寄存器的状态,以及中断现场。它应包括状态寄存器的状态,以及CPU内部内部寄存器的当前内容。为了使中断返回后这些信息不会丢寄存器的当前内容。为了使中断返回后这些信息不会丢失,必须加以保护,这称为保护现场。保护的方法有些失,必须加以保护,这称为保护现场。保护的方法有些是靠硬件自动完成的,有些则靠程序来实现。是靠硬件自动完成的,有些则靠程序来实现。(4)断点)断点 计算机正在执行程序计算机正在执行程序A,由于
5、某一个非寻常事件发生,由于某一个非寻常事件发生,暂停暂停A程序的运行,而执行紧急事件处理程序程序的运行,而执行紧急事件处理程序B,程序程序A被中断时的下一条指令的地址称为断点或断点地址。被中断时的下一条指令的地址称为断点或断点地址。8.1 中断的概念中断的概念8.2 CPU响应响应中断中断的条件和过程的条件和过程8.2.1 CPU响应中断的条件响应中断的条件1.设置中断请求触发器设置中断请求触发器2.设置中断屏蔽触发器设置中断屏蔽触发器3.中断是开放的中断是开放的4.CPU在现行指令结束后响应中断在现行指令结束后响应中断8.2 CPU响应响应中断中断的条件和过程的条件和过程8.2.2 CPU对
6、中断的响应对中断的响应1.关中断关中断2.保留断点保留断点3.保护现场保护现场4.给出中断入口,转入相应的中断服务程序给出中断入口,转入相应的中断服务程序5.恢复现场恢复现场6.开中断与返回开中断与返回8.2 CPU响应响应中断中断的条件和过程的条件和过程三态三态缓冲器缓冲器输输入入设设备备地址地址译码器译码器1数据数据RDYDBABIO/MRDCPU&中断请求中断请求触发器触发器数据数据锁存器锁存器+5VQDINT状态信号状态信号数据数据锁存器锁存器三态三态缓冲器缓冲器1&中断方式的输入过程:中断方式的输入过程:1.外设准备好数据,发出选通信号外设准备好数据,发出选通信号2.选通信号将数据锁
7、存,同时产生中断信号选通信号将数据锁存,同时产生中断信号3.若中断屏蔽触发器不屏蔽(即允许中断),则将若中断屏蔽触发器不屏蔽(即允许中断),则将中断信号传送给中断信号传送给CPU4.CPU接收到中断信号,且接收到中断信号,且IF=1,则,则CPU响应中响应中断,发断,发INTA响应信号,清除传来的中断请求信响应信号,清除传来的中断请求信号,并获取外设的中断向量号,并获取外设的中断向量5.CPU执行相应的中断服务子程序,即读取数据执行相应的中断服务子程序,即读取数据8.2 CPU响应响应中断中断的条件和过程的条件和过程8.3 中断优先权及多重中断优先权及多重中断中断8.3.1 中断优先权中断优先
8、权判别和确定各个中断源的优先权可以用软件和硬件两种判别和确定各个中断源的优先权可以用软件和硬件两种方法。方法。1.用软件确定中断优先权用软件确定中断优先权把把8个外设的中断请求触发器组合起来,作为一个端口,个外设的中断请求触发器组合起来,作为一个端口,并赋以设备号,把各个外设的中断请求信号相并赋以设备号,把各个外设的中断请求信号相“或或”后,后,作为作为INTR信号,故任一外设有中断请求,都可向信号,故任一外设有中断请求,都可向CPU送送出出INTR信号。当信号。当CPU响应中断后,把中断寄存器的状态响应中断后,把中断寄存器的状态,作为一个外设读入,作为一个外设读入CPU,逐位检测它们的状态,
9、若有逐位检测它们的状态,若有中断请求就转到相应的服务程序的入口。中断请求就转到相应的服务程序的入口。中断源有许多个,需要用中断控制器来进行优先级管理:中断源有许多个,需要用中断控制器来进行优先级管理:a.当多个中断同时发生时,优先级高的得到响应。当多个中断同时发生时,优先级高的得到响应。b.优先级高的中断可以中断优先级低的中断优先级高的中断可以中断优先级低的中断中中断断优优先级先级除法错误,INTO,INT nNMIINTR单步中断最高最低8.6.2 8086的中断系统的中断系统8.3 中断优先权及多重中断优先权及多重中断中断7.3.1 中断优先权中断优先权查询程序有两种实现方法查询程序有两种
10、实现方法(1)屏蔽法屏蔽法IN AL,20H ;输入中断请求触发器的状态输入中断请求触发器的状态TEST AL,80H ;检查最高位检查最高位JNE PWF ;外设外设A中断服务程序中断服务程序TEST AL,40H ;检查次高位检查次高位JNE DISS ;外设外设B中断服务程序中断服务程序TEST AL,20H ;检查次高位检查次高位JNE MT ;外设外设C中断服务程序中断服务程序8.3 中断优先权及多重中断优先权及多重中断中断8.3.1 中断优先权中断优先权(2)移位法移位法XOR AL,ALIN AL,20H ;输入中断请求触发器的状态输入中断请求触发器的状态RCL AL,1JC P
11、WF ;外设外设A中断服务程序中断服务程序RCL AL,1JC DISS ;外设外设B中断服务程序中断服务程序8.3 中断优先权及多重中断优先权及多重中断中断8.3.1 中断优先权中断优先权2.硬件优先权排队电路硬件优先权排队电路(1)中断优先权编码电路中断优先权编码电路若有若有8个中断源,当任意一个有中断请求时,通过或门,个中断源,当任意一个有中断请求时,通过或门,即可有一个中断请求信号产生,能否送至即可有一个中断请求信号产生,能否送至CPU的中断请的中断请求线,还要受比较器的控制。求线,还要受比较器的控制。(2)雏菊花环雏菊花环(Daisy Chain)式或称为链式优先权排队电式或称为链式
12、优先权排队电路路8.3 中断优先权及多重中断优先权及多重中断中断中断响应中断响应(来自来自CPU)F/F A&F/F B&F/F C&F/F D&中断请求输入中断请求输入1中断请求输入中断请求输入2中断请求输入中断请求输入3中断请求输入中断请求输入4中断输出中断输出1中断输出中断输出2中断输出中断输出3中断输出中断输出4链式优先权排队电路链式优先权排队电路 2)简单硬件方式(菊花链法)简单硬件方式(菊花链法)设备设备1接口接口菊花链逻辑电路设备设备2接口接口设备设备3接口接口菊花链逻辑电路菊花链逻辑电路CPU以及以及总线控制器总线控制器INTAINTR中断请求中断应答8.3 中断优先权及多重中
13、断优先权及多重中断中断8.3.2 多级中断的概念多级中断的概念 多级中断系统是指计算机系统有相当多的中断源,根多级中断系统是指计算机系统有相当多的中断源,根据各中断事件的轻重缓急而分成若干级别,每一中断级据各中断事件的轻重缓急而分成若干级别,每一中断级分配一个优先权。分配一个优先权。根据系统的配置不同,多级中断又可分为一维多级中根据系统的配置不同,多级中断又可分为一维多级中断和二维多级中断。一维多级中断是指每一中断中只有断和二维多级中断。一维多级中断是指每一中断中只有一个中断源,而二维多级中断是指每一级中断中又有多一个中断源,而二维多级中断是指每一级中断中又有多个中断源。个中断源。8.3 中断
14、优先权及多重中断优先权及多重中断中断8.3 中断优先权及多重中断优先权及多重中断中断8.4 8086/8088的中断方式的中断方式1.软中断:软中断:软件中断是软件中断是CPU根据程序中的某条指令或程序对标根据程序中的某条指令或程序对标志寄存器中某个标志的设置而产生的。志寄存器中某个标志的设置而产生的。(1)DIV(除除)或或IDIV(整除整除)指令指令(2)INT指令指令(3)INTO指令指令(4)单步执行单步执行8.4 8086/8088的中断方式的中断方式2.硬中断:硬中断:硬件中断也称为外部中断,硬件中断也称为外部中断,CPU提供了两个外部中提供了两个外部中断输入引脚,断输入引脚,18
15、脚(脚(INTR)可屏蔽中断输入引脚,可屏蔽中断输入引脚,17脚(脚(NMI)非屏蔽中断输入引脚。非屏蔽中断输入引脚。(1)可屏蔽中断可屏蔽中断,出现在出现在INTR线上线上(2)非屏蔽中断非屏蔽中断,出现在出现在NMI线上线上8.4 8086/8088的中断方式的中断方式非屏蔽中断请求非屏蔽中断请求中断逻辑中断逻辑INT n指令指令INT0除法除法错误错误单步单步(TF=1)8259ANMIINTR8086CPU可屏蔽的可屏蔽的中断请求中断请求8086中断分类中断分类8086中断中断外部中断外部中断内部中断内部中断可屏蔽中断请求通过8259A中断控制器产生非屏蔽中断请求包括掉电、存储器满、总
16、线信息奇偶错等软件陷阱软件中断类型0中断除法错误中断类型1中断单步中断(TF=1)INT n指令类型为n的中断指令INT 3指令断点中断指令INT0指令溢出中断指令IRET指令中断返回3.中断向量表中断向量表 中断向量:中断向量:中断处理子程序的入口地址;中断处理子程序的入口地址;中断向量表:中断向量表:在内存的前在内存的前1KB(地址为地址为00000H003FFH)区域存放着区域存放着256个中断向量个中断向量(或或256个中断类型个中断类型),每个中断向量占用,每个中断向量占用4字节空间。字节空间。8.4 8086/8088的中断方式的中断方式3.中断向量表中断向量表o每一种中断类型对应
17、一个中断向量;每一种中断类型对应一个中断向量;o每个中断向量占每个中断向量占4个字节,前两个字节存放中断处理个字节,前两个字节存放中断处理子程序入口地址的偏移量(子程序入口地址的偏移量(IP),),后两个字节存放中后两个字节存放中断处理子程序入口地址的段地址(断处理子程序入口地址的段地址(CS););o256个中断中:个中断中:0-4为专用中断,为专用中断,5-31为系统保留为系统保留(21个),个),32以上共以上共224个为用户自定义中断。个为用户自定义中断。8.4 8086/8088的中断方式的中断方式 80868086中断向量表中断向量表 指出了中断向量类型码与中断向量之间的关系指出了
18、中断向量类型码与中断向量之间的关系类型类型255255类型类型3333类型类型3232类型类型3131类型类型5 5类型类型4 4类型类型3 3类型类型2 2类型类型1 1类型类型0 03FEH 3FEH 3FCH 3FCH 084H084H080H 080H 07EH07EH014H014H010H010H00CH00CH008H008H004H004H000H000H可使用的可使用的中断向量中断向量保留的保留的 中断向量中断向量专用的专用的 中断向量中断向量CSCS基址基址IPIP偏移量偏移量中断服务程序起始地址的计算:中断服务程序起始地址的计算:CSCS基址所在单元基址所在单元 TYPE
19、*4+2TYPE*4+2IPIP偏移量所在单元偏移量所在单元 TYPE*2TYPE*2例:外设的编码类型为例:外设的编码类型为3333,计算该外,计算该外设的中断服务程序入口地址设的中断服务程序入口地址CSCS基址所在单元基址所在单元 33*4+2=134=8633*4+2=134=86H HIPIP偏移量所在单元偏移量所在单元 33*4=132=8433*4=132=84H H8.4 8086/8088的中断方式的中断方式4.中断响应和处理过程中断响应和处理过程(1)类型码乘类型码乘4,作为中断向量表指针;作为中断向量表指针;(2)CPU标志寄存器入栈;标志寄存器入栈;(3)复制追踪标志复制
20、追踪标志T的状态的状态,清除清除I和和T标志标志,屏蔽新的屏蔽新的INTR中断和单步中断;中断和单步中断;(4)保存主程序中的断点保存主程序中的断点,即把主程序断点处的即把主程序断点处的IP和和CS的的值推入堆栈保护值推入堆栈保护,先推入先推入CS的值的值,再推入再推入IP的值;的值;(5)从中断向量表中取中断服务程序的入口地址从中断向量表中取中断服务程序的入口地址,分别送分别送至至CS和和IP中中,先取先取CS的值;的值;(6)按新地址执行中断服务程序。按新地址执行中断服务程序。CPU自动执行自动执行1、关中断、关中断2、发出中断响应信号、发出中断响应信号3、读入中断向量地址、读入中断向量地
21、址4、PC内容压栈内容压栈1、保护现场、保护现场2、设置本优先级、设置本优先级3、开中断、开中断对外部设备的控制程序对外部设备的控制程序主机与外设数据交换主机与外设数据交换1、关中断、关中断2、恢复、恢复CPU现场现场3、开中断、开中断4、返回指令、返回指令CPU响应中断请求响应中断请求中中断断服服务务程程序序5、中断服务过程、中断服务过程8.5 IBM PC/XT的中断方式的中断方式1.IBM PC/XT的中断类型的中断类型2.(1)内部中断即软中断内部中断即软中断3.(2)非非屏蔽中断屏蔽中断NMI4.(3)可屏蔽中断可屏蔽中断INTR8.5 IBM PC/XT的中断方式的中断方式8.5
22、IBM PC/XT的中断方式的中断方式2.IBM PC/XT系统保留的中断系统保留的中断8086CPU最多能处理最多能处理256种不同的中断,其中种不同的中断,其中5个保留个保留为为CPU专用;一部分是由磁盘操作系统专用;一部分是由磁盘操作系统DOS保留保留为为系统使用,系统使用,用户可以使用用户可以使用200个左右中断个左右中断。8.5 IBM PC/XT的中断方式的中断方式第九章第九章 DMA控制器控制器DMA:directmemoryaccess直接存储器访问技术,适合高速的数据交换直接存储器访问技术,适合高速的数据交换DMA控制原理(工作过程)控制原理(工作过程)(1)外设向外设向DM
23、A控制器发出控制器发出DMA请求;请求;(2)DMA控制器向控制器向CPU发出总线请求信号;发出总线请求信号;(3)CPU执行完现行的总线周期后,向执行完现行的总线周期后,向DMA控制器控制器发出响应请求的回答信号;发出响应请求的回答信号;(4)CPU将控制总线,地址总线及数据总线让出,将控制总线,地址总线及数据总线让出,由由DMA控制器进行控制;控制器进行控制;(5)DMA控制器向外部设备发出控制器向外部设备发出DMA请求回答信请求回答信号;号;(6)进行进行DMA传送;传送;(7)数据传送完毕,数据传送完毕,CPU重新控制总线。重新控制总线。1.简答三态门概念及其性能?简答三态门概念及其性能?2.什么是中断和中断向量?什么是中断和中断向量?3.已知已知SS=3000H,SP=10H,AX=5634H,BX=3412H,执行下列指令,执行下列指令PUSHAXPUSHBXPOP AXPOP BX画出进栈、出栈示意图并标明画出进栈、出栈示意图并标明SP变化过程。变化过程。最终最终AX,BX的内容是什么?的内容是什么?