微机原理及应用CH9 中断技术及中断控制器_第1页
微机原理及应用CH9 中断技术及中断控制器_第2页
微机原理及应用CH9 中断技术及中断控制器_第3页
微机原理及应用CH9 中断技术及中断控制器_第4页
微机原理及应用CH9 中断技术及中断控制器_第5页
已阅读5页,还剩111页未读 继续免费阅读

下载本文档

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

文档简介

1、微机原理及应用第第9 9章章 中断技术与中断控制器中断技术与中断控制器 n9.1 中断技术概述中断技术概述 n9.2 8086/8088中断系统中断系统 n9.3 可编程中断控制器可编程中断控制器82C59An9.4 高档微机中断系统高档微机中断系统 微机原理及应用9.1 中断技术概述中断技术概述在程序运行中,系统出现了某种紧急事件在程序运行中,系统出现了某种紧急事件( (如如: :同步操作、实时处理、故障处理等同步操作、实时处理、故障处理等) ),CPCPU U必须中止现必须中止现行程序,转去处理此紧急事件行程序,转去处理此紧急事件( (执行中断服务程序执行中断服务程序) ),并在处理完毕后

2、再返回被打断的程序的过程。并在处理完毕后再返回被打断的程序的过程。9.1.1 什么是中什么是中断断( (概念概念) )微机原理及应用一个完整的中断过程包括:一个完整的中断过程包括:“中断请求中断请求”:是指中断源:是指中断源( (引起中断的事件或设备引起中断的事件或设备) )向向CPUCPU发出的请求中断的要求;发出的请求中断的要求;“中断判优中断判优”:当有多个中断源发出中断请求时,:当有多个中断源发出中断请求时,需要通过适当的办法需要通过适当的办法( (软件的;硬件的;软、硬件软件的;硬件的;软、硬件结合的结合的) )决定究竟先处理哪个中断请求;决定究竟先处理哪个中断请求;“中断响应中断响

3、应”:是指:是指CPUCPU中止现行程序转至中断服务中止现行程序转至中断服务程序的过程;程序的过程;“中断处理中断处理”:是指:是指CPUCPU执行中断服务程序,完成中执行中断服务程序,完成中断请求所要求的操作;断请求所要求的操作;“中断返回中断返回”:执行完中断服务程序后,返回到原:执行完中断服务程序后,返回到原先被中断的程序。先被中断的程序。 CPU CPU响应中断的条件响应中断的条件1.1.设置中断请求触发器设置中断请求触发器每一个中断源,要能发出中断请求信号,并且这每一个中断源,要能发出中断请求信号,并且这个信号能保持着,直至个信号能保持着,直至CPUCPU响应这个中断后,才可清除响应

4、这个中断后,才可清除中断请求。故要求每一个中断源有一个中断请求触发中断请求。故要求每一个中断源有一个中断请求触发器器A A,如下图所示。,如下图所示。2.设置中断屏蔽触发器因为在实际系统中,往往有多个中断源。为了增加控制的灵活性,在每一个外设的接口电路中,增加一个中断屏蔽触发器,只有当此触发器为“1”时,外设的中断请求才能被送出至CPU,如下图所示。可把8个外设的中断屏蔽触发器组成一个端口,用输出指令来控制它们的状态。 3.中断是开放的在CPU内部有一个中断允许触发器。只有当其为“1”时(即中断开放时),CPU才能响应中断;若其为“0”(即中断是关闭的),即使INTR线上有中断请求,CPU也不

5、响应。而这个触发器的状态可由STI和CLI指令来改变。当CPU复位时,中断允许触发器为“0”,即关中断,所以必须要用STI指令来开中断。当中断响应后,CPU就自动关中断,所以必须在中断服务程序中用STI指令来开中断。 4.现行指令执行结束 CPU在现行指令结束后响应中断,即运行到最后一个机器周期的最后一个T状态时,CPU才采样INTR线。若发现有中断请求,则把内部的中断锁存器置“1”,然后下一个机器周期(总线周期)不进入取指周期,而进入中断周期。其响应的流程如右图所示。为了支持多任务和虚拟存储器等功能,为了支持多任务和虚拟存储器等功能,80386及及以上以上CPU 把外部中断称为把外部中断称为

6、“中断中断”(interrupt),把内部中断称为把内部中断称为“异常异常”(exception) 。与。与8086一样,它也最多处理一样,它也最多处理256种中断和异常。种中断和异常。根据引起异常的程序是否可被恢复和恢复点的不根据引起异常的程序是否可被恢复和恢复点的不同,又把异常分为三类:同,又把异常分为三类: 故障故障(fault) 陷阱陷阱(trap) 中止中止(abort) 把对应的异常处理程序分别称为把对应的异常处理程序分别称为故障处理程序、故障处理程序、陷阱处理程序和中止处理程序。陷阱处理程序和中止处理程序。故障故障是在引起异常的指令之前,把异常通知给系统的是在引起异常的指令之前,

7、把异常通知给系统的一种异常。故障的特点是可以排除的。一种异常。故障的特点是可以排除的。 例如,在执行一条指令时,如果发现它要访问的段不在内存例如,在执行一条指令时,如果发现它要访问的段不在内存中,那么停止该指令的执行,并产生一个段不存在异常,对应中,那么停止该指令的执行,并产生一个段不存在异常,对应的故障处理程序可通过从外存加载该段到内存的方法来排除故的故障处理程序可通过从外存加载该段到内存的方法来排除故障。之后,原引起异常的指令就可以继续执行,就不再产生异障。之后,原引起异常的指令就可以继续执行,就不再产生异常。常。陷阱陷阱是在引起异常的指指令执行之后触发的一种异常。是在引起异常的指指令执行

8、之后触发的一种异常。在转入异常处理程序时,引起陷阱的指令已完成。陷在转入异常处理程序时,引起陷阱的指令已完成。陷阱处理程序执行完,返回到引起陷阱令的下一条指令。阱处理程序执行完,返回到引起陷阱令的下一条指令。软中断指令软中断指令INT n INT n 是陷阱的例子。是陷阱的例子。中止中止是在系统出现严重的不可恢复的事件时触发的一是在系统出现严重的不可恢复的事件时触发的一种异常。产生中止后,正执行的程序不能恢复执行,种异常。产生中止后,正执行的程序不能恢复执行,系统要重新启动才能恢复正常运行状态。系统要重新启动才能恢复正常运行状态。微机原理及应用9.1.2 9.1.2 中断源及其优先级中断源及其

9、优先级中断源中断源:发出中断请求的外部设备或内部原因。发出中断请求的外部设备或内部原因。通常中断源有以下几种:通常中断源有以下几种: (1) (1) 一般的输入输出设备。如键盘、行打印机等。一般的输入输出设备。如键盘、行打印机等。(2) (2) 数据通道中断源。如磁盘、磁带等。数据通道中断源。如磁盘、磁带等。(3) (3) 实时时钟。实时时钟。(4) (4) 故障源。故障源。微机原理及应用中断优先级中断优先级:按照任务的轻重缓急给中断源排队。按照任务的轻重缓急给中断源排队。 排队方法有:排队方法有:软件查询法软件查询法( (需要少量硬件需要少量硬件) ) 简单排队电路:如菊花链式简单排队电路:

10、如菊花链式 ( (daisy chain)daisy chain)优先级电路优先级电路硬件排队电路硬件排队电路 可编程中断控制器可编程中断控制器( (如如82C59A)82C59A)微机原理及应用(1)(1)软件查询法软件查询法把各个外设的中断请求信号把各个外设的中断请求信号“相或相或”,产生一个总,产生一个总的的INTINTR R信号。信号。当当CPUCPU响应中断后,进入中断处理程序,在中断处理响应中断后,进入中断处理程序,在中断处理程序的开始部分安排一段查询程序,对中断源逐个查程序的开始部分安排一段查询程序,对中断源逐个查询。询。优点:优点:询问的次序即是优先权的次序。最先询问询问的次序

11、即是优先权的次序。最先询问的,优先权的级别最高。的,优先权的级别最高。 省硬件。不需要有判断与确定优先权的硬省硬件。不需要有判断与确定优先权的硬件排队电路。件排队电路。缺点:中断响应慢,即由询问转至相应的服务程序缺点:中断响应慢,即由询问转至相应的服务程序入口的时间长,尤其是在中断源较多的情况下。入口的时间长,尤其是在中断源较多的情况下。用软件查询技术确定中断优先权的流程如下图所示。用软件查询技术确定中断优先权的流程如下图所示。查询程序有两种方式:查询程序有两种方式: A.A.屏蔽法屏蔽法ININALAL, ,20H20H ; ;输入中断请求触发器的状态输入中断请求触发器的状态TESTTEST

12、 ALAL, ,80H 80H ; ;检查最高位检查最高位( (电源故障电源故障) )是否有请求是否有请求JNEJNEPWF PWF ; ;有,则转至电源故障处理程序有,则转至电源故障处理程序TESTTEST ALAL, ,40H 40H ; ;否,检查磁盘是否有请求否,检查磁盘是否有请求JNEJNEDISS DISS ; ;有,转至磁盘服务程序有,转至磁盘服务程序TESTTEST ALAL, ,20H 20H ; ;否,检查磁带是否有请求否,检查磁带是否有请求JNEJNEMT MT ; ;有,转至磁带服务程序有,转至磁带服务程序 B.B.移位法移位法XORXOR ALAL,ALALININ

13、ALAL,20H20HRCLRCL ALAL,1 1JCJC PWFPWFRCLRCL ALAL,1 1JCJC DISSDISS (2)(2)用硬件编码器和比较器的优先权排队电路用硬件编码器和比较器的优先权排队电路 若有若有8 8个中断源,当任一个有中断请求时,通过个中断源,当任一个有中断请求时,通过“或或”门,即可有一个中断请求信号产生,但它能否送至门,即可有一个中断请求信号产生,但它能否送至CPUCPU的中断请求线,还要受比较器的控制的中断请求线,还要受比较器的控制( (若优先权失效信若优先权失效信号为低电平,则与门号为低电平,则与门2 2关闭关闭) )。 8 8条中断输入线的任一条,经

14、过编码器可以产生三位条中断输入线的任一条,经过编码器可以产生三位二进制优先权编码二进制优先权编码A2A1A0A2A1A0,优先权最高的线的编码为,优先权最高的线的编码为111111,优先权最低的线的编码为,优先权最低的线的编码为000000。而且若有多个输入。而且若有多个输入线同时输入,则编码器只输出优先权最高的编码。线同时输入,则编码器只输出优先权最高的编码。 正在进行中断处理的外设的优先权编码,通过正在进行中断处理的外设的优先权编码,通过CPUCPU的的数据总线,送至优先权寄存器,然后输出编码数据总线,送至优先权寄存器,然后输出编码B2B1B0B2B1B0至至比较器,以上过程是由软件实现的

15、。比较器,以上过程是由软件实现的。 比较器比较编码比较器比较编码A2A1A0A2A1A0与与B2B1B0B2B1B0的大小,若的大小,若ABAB,则则“A AB”B”端输出低电平,封锁与门端输出低电平,封锁与门1 1,就不向,就不向CPUCPU发发出新的中断申请出新的中断申请( (即当即当CPUCPU正在处理中断时,当有同级正在处理中断时,当有同级或低级的中断源申请中断时,优先权排队线路就屏蔽或低级的中断源申请中断时,优先权排队线路就屏蔽它们的请求它们的请求) );只有当;只有当A AB B时,比较器输出端才为高时,比较器输出端才为高电平,打开与门电平,打开与门1 1,将中断请求信号送至,将中

16、断请求信号送至CPUCPU的的INTRINTR输输入端,入端,CPUCPU就中断正在进行的中断处理程序,转去响就中断正在进行的中断处理程序,转去响应更高级的中断。应更高级的中断。若若CPUCPU不在进行中断处理时不在进行中断处理时( (即在执行主程序即在执行主程序) ),则优先权失效信号为高电平,当有任一中断源请求中则优先权失效信号为高电平,当有任一中断源请求中断时,都能通过与门断时,都能通过与门2 2,发出,发出INTRINTR信号。这样的优先信号。这样的优先权电路,如何能做到转入优先权最高的外设的服务程权电路,如何能做到转入优先权最高的外设的服务程序的入口呢序的入口呢? ?当外设的个数当外

17、设的个数8 8时,则它们公用一个产时,则它们公用一个产生中断矢量的电路,它有三位由比较器的编码生中断矢量的电路,它有三位由比较器的编码A2A1A0A2A1A0供给,就能做到不同的编码转入不同的入口地址。供给,就能做到不同的编码转入不同的入口地址。微机原理及应用(3)(3)菊花链优先级排队电路菊花链优先级排队电路 当多个输入有中断请求,当多个输入有中断请求,则由中断输入信号的则由中断输入信号的“或或”电路产生电路产生INTRINTR信号,送至信号,送至CPUCPU。当。当CPUCPU在现行指令执在现行指令执行完后,响应中断,发出行完后,响应中断,发出中断响应信号。但中断响应信号。但CPUCPU转

18、向转向哪一个中断服务程序的入哪一个中断服务程序的入口呢口呢? ?这要由图所示的链式这要由图所示的链式优先权排队电路确定。优先权排队电路确定。微机原理及应用9 9.1.3 中断请求与中断屏蔽中断请求与中断屏蔽 1. 中断请求中断请求 中断源向中断源向CPU发出的请求中断的信号叫中断请发出的请求中断的信号叫中断请求。求。CPU在执行完每条指令后,自动检测中断请求在执行完每条指令后,自动检测中断请求输入线,以确定是否有外部发来的中断请求信号。输入线,以确定是否有外部发来的中断请求信号。 2. 2. 中断屏蔽中断屏蔽 内部屏蔽:内部屏蔽: CPUCPU不响应中断不响应中断( (关中断关中断) )中断屏

19、蔽:中断屏蔽: 外部屏蔽:中断请求信号不能送到外部屏蔽:中断请求信号不能送到CPUCPU可屏蔽中断:受可屏蔽中断:受IFIF控制控制( (IFIF为为“1”“1”时中断允许,时中断允许,IFIF为为“0”0”时中断屏蔽时中断屏蔽) )非屏蔽中断:不受非屏蔽中断:不受IFIF控制控制( (无论无论IFIF为为“1”“1”或为或为“0”0”都都允许中断允许中断, ,但可设计外部屏蔽电路进行屏蔽但可设计外部屏蔽电路进行屏蔽) )指内部屏蔽指内部屏蔽微机原理及应用9.1.4 9.1.4 中断服务程序中断服务程序 中断服务程序中断服务程序:为完成中断源所期望的功能而编写的程为完成中断源所期望的功能而编写

20、的程序。序。中断服务程序的主要内容中断服务程序的主要内容:在中断服务程序中,主要是在中断服务程序中,主要是进行输入进行输入/ /输出操作或发出一系列控制信号,这些具输出操作或发出一系列控制信号,这些具体操作构成了中断服务程序的主体。另外还有一些附体操作构成了中断服务程序的主体。另外还有一些附加操作,因此:加操作,因此:中断服务程序的主要内容有:中断服务程序的主要内容有: 保护现场保护现场 开中断开中断 具体中断处理具体中断处理 关中断关中断 恢复现场恢复现场 开中断、中断返回开中断、中断返回 微机原理及应用中断嵌套中断嵌套当当CPUCPU正在执行优先级较低的中断服务程序时,正在执行优先级较低的

21、中断服务程序时,允许响应比它优先级高的中断请求,而将正在处允许响应比它优先级高的中断请求,而将正在处理的中断暂时挂起,这就是理的中断暂时挂起,这就是中断嵌套中断嵌套。此时,此时,CPUCPU首先为级别高的中断服务,待优先级首先为级别高的中断服务,待优先级高的中断服务结束后,再返回到刚才被中断的较高的中断服务结束后,再返回到刚才被中断的较低的那一级,继续为它进行中断服务。低的那一级,继续为它进行中断服务。中断嵌套示意图中断嵌套示意图STIIRETSTIIRET.微机原理及应用9.1.5 9.1.5 中断隐操作和中断向量中断隐操作和中断向量 中断隐操作中断隐操作: : CPU CPU响应中断时,由

22、内部硬件执行的一系列处理过程。响应中断时,由内部硬件执行的一系列处理过程。隐操作把隐操作把CPU引向中断服务程序引向中断服务程序n中断类型、中断向量、中断向量表:中断类型、中断向量、中断向量表:中断类型:中断源的编号中断类型:中断源的编号中断向量:中断服务程序的入口地址中断向量:中断服务程序的入口地址中断向量表:内存中存放中断向量的区域中断向量表:内存中存放中断向量的区域第第1条可执行指令的条可执行指令的第第1个字节的地址个字节的地址微机原理及应用9.1.6 9.1.6 中断响应过程中断响应过程 对于可屏蔽中断,当对于可屏蔽中断,当CPUCPU检测到有中断请求时,如检测到有中断请求时,如果满足

23、响应条件就要予以响应。具体过程如下:果满足响应条件就要予以响应。具体过程如下: 关中断、保护断点关中断、保护断点 保护现场保护现场 开中断开中断 具体中断处理具体中断处理 关中断关中断 恢复现场恢复现场 开中断、中断返回开中断、中断返回 属于隐操作属于隐操作属于中断服务程序属于中断服务程序可选择可选择可选择可选择主主 体体微机原理及应用9.2 8086/80889.2 8086/8088中断系统中断系统 中断系统:实现中断的软件和硬件的总和。中断系统:实现中断的软件和硬件的总和。9.2.1 9.2.1 中断系统的基本功能中断系统的基本功能 要求能判断中断源的优先级,并按优先权的高要求能判断中断

24、源的优先级,并按优先权的高低决定中断响应的顺序。低决定中断响应的顺序。要求中断系统能实现中断和返回。要求中断系统能实现中断和返回。要求中断系统能实现中断嵌套,即高优先级中要求中断系统能实现中断嵌套,即高优先级中断源的中断请求能中断低优先级中断源的中断断源的中断请求能中断低优先级中断源的中断服务。服务。 微机原理及应用 非屏蔽中断非屏蔽中断( (NMINMI) )( (2 2号号) )外部中断外部中断( (硬件中断硬件中断) ) 可屏蔽中断可屏蔽中断(INTR)(INTR) 除法出错除法出错(0(0号号) ) 内部硬件中断内部硬件中断 单步跟踪单步跟踪(1(1号号) ) 断点中断断点中断(3(3

25、号号) )内部中断内部中断 溢出中断溢出中断(4(4号号) ) 内部软件中断:内部软件中断: INT nINT n8086/8088的中断源分类:的中断源分类: 微机原理及应用1. 8086/80881. 8086/8088的中断系统结构的中断系统结构 8086/80888086/8088的中断系统结构如图所示。的中断系统结构如图所示。 非屏蔽中断请求中断逻辑INTn指令INTO指令除法出错单步中断8086/8088CPU可屏蔽中断请求8259ANMIINTR微机原理及应用 2. 2. 中断类型码与中断向量表中断类型码与中断向量表 中断类型码中断类型码:8086/80888086/8088为每

26、个中断源指定的一个编为每个中断源指定的一个编号。号。中断向量中断向量:中断服务程序的入口地址。:中断服务程序的入口地址。中断向量表中断向量表:把系统中所有的中断向量按中断类型:把系统中所有的中断向量按中断类型码从小到大的顺序放到存储器的某一个区域所形成码从小到大的顺序放到存储器的某一个区域所形成的一个表。的一个表。每个中断向量占用每个中断向量占用4 4个存储单元,个存储单元,8086/80888086/8088CPUCPU的中的中断系统最多能处理断系统最多能处理256256个中断源。个中断源。8086/80888086/8088CPUCPU以存以存储器的储器的0000000000H H003F

27、FH003FFH共共10241024个单元作为中断向量个单元作为中断向量存储表。存储表。微机原理及应用中断向量在中断向量表的存放次序中断向量在中断向量表的存放次序: :是按中断类型号顺序存放,共占是按中断类型号顺序存放,共占4 4个单元。每个个单元。每个中断向量存放的首地址中断向量存放的首地址= =中断类型号中断类型号4 4。CPUCPU响应中断时,需把中断类型号响应中断时,需把中断类型号N N乘以乘以4 4,得到,得到中断向量的对应地址中断向量的对应地址4 4N(N(该中断向量所占该中断向量所占4 4个字节单个字节单元的第一个字节单元的地址元的第一个字节单元的地址) )。中断向量的装入:中断

28、向量的装入: 两个低字节单元两个低字节单元的内容装入的内容装入IPIP寄存器:寄存器:IP= (4NIP= (4N,4N+1)4N+1) 两个高字节单元两个高字节单元的内容装入的内容装入CSCS寄存器:寄存器:CS = (4N+2CS = (4N+2,4N+3)4N+3)微机原理及应用 外部外部( (NMINMI、INTRINTR) ):由接口提供:由接口提供中断类型号中断类型号 N N的来源的来源 硬件中断:由内部硬件提供硬件中断:由内部硬件提供 内部内部 软件中断:由中断指令提供软件中断:由中断指令提供微机原理及应用例例1 1:若中断类型号为:若中断类型号为3 3,则由中断类型号取得中断服

29、,则由中断类型号取得中断服务入口地址的过程如下图所示:务入口地址的过程如下图所示:00000H00001H0000CH(0000:000CH)1EA00H(1E00:0A00H)FFFFFH低地址低地址内存内存高地址高地址 1E00 0 H+ 0A0 0 H 1EA0 0 H中断类型号中断类型号3 34 4000000CHCH.00(IP00(IPL L) )0A(IP0A(IPH H) )00(CS00(CSL L) )1E(CS1E(CSH H) ).中断服务程序中断服务程序微机原理及应用例例2.2.中断类型号为中断类型号为2020H H,中断服务程序的入口地址存中断服务程序的入口地址存放

30、在放在0000:00800000:0080H H开始的开始的4 4个单元中。若:个单元中。若: (0080(0080H)=10H H)=10H (0081H)=20H(0081H)=20H (0082H)=30H(0082H)=30H (0083H)=40H(0083H)=40H则:中断服务程序的入口地则:中断服务程序的入口地址为址为微机原理及应用地 址 类 型 码 中 断 名 称 地 址 类 型 码 中 断 名 称 0 3 0 除 法 出 错 6 0 6 3 1 8 常 驻 B A S IC 入 口 4 7 1 单 步 6 4 6 7 1 9 引 导 程 序 入 口 8 B 2 不 可 屏

31、蔽 6 8 6 B 1 A 时 间 调 用 C F 3 断 点 6 C 6 F 1 B 键 盘 C T R -B R E A K 控 制 1 0 1 3 4 溢 出 7 0 7 3 1 C 定 时 器 报 时 1 4 1 7 5 打 印 屏 蔽 7 4 7 7 1 D 显 示 器 参 数 表 1 8 1 B 6 保 留 7 8 7 B 1 E 软 盘 参 数 表 1 C 1 F 7 保 留 7 C 7 F 1 F 字 符 点 阵 结 构 参 数 2 0 2 3 8 定 时 器 8 0 8 3 2 0 程 序 结 束 , 返 回 D O S 2 4 2 7 9 键 盘 8 4 8 7 2 1 系

32、 统 功 能 调 用 2 8 2 B A 保 留 8 8 8 B 2 2 结 束 地 址 2 C 2 F B 通 信 口 2 8 C 8 F 2 3 C T R L -B R E A K 退 出 地 址 3 0 3 3 C 通 信 口 1 9 0 9 3 2 4 标 准 错 误 出 口 地 址 3 4 3 7 D 硬 盘 9 4 9 7 2 5 绝 对 磁 盘 读 3 8 3 B E 软 盘 9 8 9 B 2 6 绝 对 磁 盘 写 3 C 3 F F 打 印 机 9 C 9 F 2 7 程 序 结 束 , 驻 留 内 存 4 0 4 3 1 0 视 频 显 示 I/O 调 用 A 0 F

33、F 2 8 3 F 为 D O S 保 留 4 4 4 7 11 装 置 检 查 调 用 1 0 0 1 7 F 4 0 5 F 保 留 4 8 4 B 1 2 存 储 器 容 量 检 查 调 用 1 8 0 1 9 F 6 0 6 7 为 用 户 软 中 断 4 C 4 F 1 3 软 盘 /硬 盘 /I/O 调 用 1 A 0 1 F F 6 8 7 F 不 用 5 0 5 3 1 4 通 信 I/O 调 用 2 0 0 2 1 7 8 0 8 5 B A S IC 使 用 5 4 5 7 1 5 盒 式 磁 带 I/O 调 用 2 1 8 2 C 3 8 6 F 0 B A S IC 解

34、 释 程 序 5 8 5 B 1 6 键 盘 I/O 调 用 3 C 4 3 F F F 1 F F 未 用 5 C 5 F 1 7 打 印 机 I/O 调 用 表表9.1 IBM PC/XT机机的硬中断向量表的硬中断向量表微机原理及应用3. 3. 外部中断外部中断 图图9.2 9.2 IBM PC/XTIBM PC/XT的硬件中断控制逻辑的硬件中断控制逻辑 NMI外部外部屏蔽电路屏蔽电路协协处处理理器器运运算算错错RAM奇奇偶偶校校验验错错I/O校校验验错错微机原理及应用非屏蔽中断非屏蔽中断NMI NMI 当当CPUCPU的的NMINMI引脚上来一个高电平时,引脚上来一个高电平时,CPUCP

35、U自动产生类自动产生类型码为型码为2 2的中断,并由此转入相应的服务程序。由于的中断,并由此转入相应的服务程序。由于NMINMI引脚上的请求不能被引脚上的请求不能被CPUCPU屏蔽,故常用于紧急情屏蔽,故常用于紧急情况的故障处理。况的故障处理。微机原理及应用可屏蔽中断可屏蔽中断INTR INTR 当当8086/80888086/8088的的INTRINTR引脚上有一个正跳变信号时,引脚上有一个正跳变信号时,便产生硬件可屏蔽中断请求,这种中断请求可以便产生硬件可屏蔽中断请求,这种中断请求可以用指令进行屏蔽或允许。当用指令进行屏蔽或允许。当INTRINTR的请求被允许时,的请求被允许时,如果现行指

36、令执行完,其它中断响应条件也满足,如果现行指令执行完,其它中断响应条件也满足,CPUCPU就会从就会从 引脚发出中断响应信号。这时,引脚发出中断响应信号。这时,中断源要向中断源要向CPUCPU提供中断类型码,提供中断类型码,CPUCPU得到类型码得到类型码后自动从中断向量表中取得相应的中断向量,从后自动从中断向量表中取得相应的中断向量,从而转去执行中断服务程序。而转去执行中断服务程序。INTA微机原理及应用图图9.3 8086/80889.3 8086/8088可屏蔽中断的响应过程可屏蔽中断的响应过程 旧 ( P S W )旧 ( C S )旧 ( I P )新 ( I P )新 ( C S

37、)I R E T 指 令 使 I P C S和 P S W 弹 出 堆 栈当 前 的 P S W 、 C S和 I P 压 入 堆 栈P S WC SI PC P U 和 总 线控 制 逻 辑94871 0中 断 子 程 序按 中 断 的 程 序返 回 被 中 断 的 程 序开 中 断中 断 子 程 序 执 行堆 栈中 断 向 量内 存65( 4 * N ) 作 为 I P( 4 * N + 2 ) 作 为 C S清 除 I F 和 T F当 前 指 令 执 行 完后 C P U 进 行 中 断 应答21接 口 发 中 断 请 求 信 号S T I接 口3中 断 类 型 号 N 送 C P U

38、数据总线控制总线 地址总线微机原理及应用 4. 4. 内部中断内部中断 内部中断都是非屏蔽型的内部中断都是非屏蔽型的 除法出错中断是类型除法出错中断是类型0 0 单步中断为类型单步中断为类型1 1 断点中断是类型断点中断是类型3 3 溢出中断是类型溢出中断是类型4 4 指令中断指令中断INT nINT n(1)DIV(1)DIV或或IDIVIDIV指令指令在执行除法指令时,若发现除数为在执行除法指令时,若发现除数为0 0或商超或商超过了寄存器所能表达的范围,则立即产生一个类型过了寄存器所能表达的范围,则立即产生一个类型为为0 0的内部中断。的内部中断。 (2)INT(2)INT指令指令如前所述

39、,在如前所述,在80868086的指令系统中有一条中断的指令系统中有一条中断指令指令即即INT nINT n指令。这种指令的执行引起中断,指令。这种指令的执行引起中断,而且中断的类型可由指令中的而且中断的类型可由指令中的n n加以指定。加以指定。(3)INTO(3)INTO指令指令若上一条指令执行的结果使溢出标志位若上一条指令执行的结果使溢出标志位OFOF置置1 1,则紧接着执行则紧接着执行INTOINTO指令时,将引起类型为指令时,将引起类型为4 4的内部的内部中断,中断,CPUCPU将转入溢出错误处理。将转入溢出错误处理。若若OF=0OF=0时,则时,则INTOINTO指令执行空操作,即指

40、令执行空操作,即INTOINTO指令不起作用。指令不起作用。INTOINTO指令通常安排在算术运算指令之后,以指令通常安排在算术运算指令之后,以便在发生溢出时能及时处理。便在发生溢出时能及时处理。主程序主程序中断服务程序中断服务程序 OVERFLOW: PUSH AX PUSH BX PUSH CX PUSH DXADD AX , BX; 若若OF=1溢出处理溢出处理 INTO (包括输出某些提示信息)(包括输出某些提示信息)POP DXPOP CXPOP BXPOP AX IRET . (4)(4)单步执行单步执行 若标志位若标志位T=1T=1,则,则CPUCPU在每一条指令执行完以在每一条

41、指令执行完以后,引起一个类型为后,引起一个类型为1 1的中断,这可以做到单步执行,的中断,这可以做到单步执行,是一种强有力的调试手段。是一种强有力的调试手段。 (5)(5)断点中断断点中断( (类型类型3)3) 与单步中断类似,断点中断也是一种调试程与单步中断类似,断点中断也是一种调试程序的手段,并且常常和单步中断结合使用。序的手段,并且常常和单步中断结合使用。 对一个大的程序,不可能对整个程序全部用对一个大的程序,不可能对整个程序全部用单步方式来调试,而只能先将程序中的某一错误确定单步方式来调试,而只能先将程序中的某一错误确定在程序中的一小段中,再对这一小段程序用单步方式在程序中的一小段中,

42、再对这一小段程序用单步方式跟踪调试。跟踪调试。 断点中断就是用来达到这个目的的。断点中断就是用来达到这个目的的。断点的设置断点的设置ADD AL, BLJMP 201HINC ALCMP AL, 0FFHJL 200H不转移不转移转移转移断点断点1FCH,1FDH1FEH,1FFH200H201H,202H203H,204H内部中断的特点是:内部中断的特点是:(1)(1)中断类型码由中断类型码由CPUCPU内部自动提供内部自动提供( (含从含从INT nINT n指令指令中自动提取中自动提取) ),不需要执行中断响应总线周期,不需要执行中断响应总线周期( (INTAINTA总线周期总线周期)

43、)去读取中断类型码。去读取中断类型码。(2)(2)除单步中断外,所有内部中断都不可以用软件除单步中断外,所有内部中断都不可以用软件的方法来禁止的方法来禁止( (屏蔽屏蔽) )。单步中断可以通过软。单步中断可以通过软件件将将TFTF标志置标志置1 1或清或清0 0来予以允许或禁止。来予以允许或禁止。(3)(3)在所有在所有INT nINT n形式的指令中,只有断点中断指令形式的指令中,只有断点中断指令INT 3INT 3是一条单字节长的指令,其他中断指令都是一条单字节长的指令,其他中断指令都是两字节指令。是两字节指令。( (4 4) )除单步中断外,所有内部中断的优先级都比外除单步中断外,所有内

44、部中断的优先级都比外部中断高。部中断高。微机原理及应用8086/80888086/8088中断的优先权中断的优先权优先权按从高到低的顺序排列为:优先权按从高到低的顺序排列为:除法出错中断除法出错中断INT nINT n溢出中断溢出中断NMIINTRNMIINTR断点中断断点中断单步。单步。微机原理及应用9.3 9.3 可编程中断控制器可编程中断控制器8282C59AC59A 9.3.1 829.3.1 82C59AC59A的主要特性的主要特性 8282C59AC59A内部结构和外部引脚与内部结构和外部引脚与82598259A A完全兼容。完全兼容。 单一正单一正5 5V V电源,全静态工作电源

45、,全静态工作( (无需外加时钟无需外加时钟) )。 该芯片集中断源识别、判优、提供中断类型号于一该芯片集中断源识别、判优、提供中断类型号于一体。体。 每片每片8282C59AC59A能管理能管理8 8级中断。级中断。 每片每片8282C59AC59A可送出可送出8 8个个8 8位的中断类型号位的中断类型号( (自动中断自动中断向量转移功能向量转移功能) )。 能用软件能用软件屏蔽屏蔽中断请求输入,通过编程可选择多种中断请求输入,通过编程可选择多种不同的工作方式,以适应各种系统的要求。不同的工作方式,以适应各种系统的要求。1)1) 通过通过8282C59AC59A级联,在不增加外部电路的情况下,

46、最级联,在不增加外部电路的情况下,最多可用多可用9 9片片8282C59AC59A级连管理级连管理6464级中断。级中断。 属于中断源的外部屏蔽属于中断源的外部屏蔽微机原理及应用9.3.2 829.3.2 82C59AC59A的内部结构的内部结构 IR0IR7:中断请中断请求寄存求寄存器器IRR优优先先权权电电路路中断服中断服务寄存务寄存器器ISR中断屏蔽寄存器中断屏蔽寄存器 IMR控控 制制 逻逻 辑辑数据总线数据总线缓冲器缓冲器读读 / 写逻写逻辑辑级连缓级连缓冲冲 / 比较比较器器INTAINTRDBRDWRA0CSCAS0CAS1CAS2SP / EN内部总线微机原理及应用 1. 1.

47、 数据总线缓冲器数据总线缓冲器 : : 8 8位双向三态缓冲器。位双向三态缓冲器。 CPU CPU向向8282C59AC59A写入的命令字写入的命令字传送的信息传送的信息: CPU: CPU从从8282C59AC59A读取的状态字读取的状态字 82 82C59AC59A向向CPUCPU提供的中断类型码提供的中断类型码2 2读读/ /写逻辑写逻辑 :内部地址译码和操作控制。:内部地址译码和操作控制。 接收来自接收来自CPUCPU的读的读/ /写命令,完成规定的操作。写命令,完成规定的操作。操作过程由操作过程由 、A A0 0、 和和 输入信号共同控输入信号共同控制。制。CSWRRD微机原理及应用

48、3.3.级联缓冲级联缓冲/ /比较器比较器: : 用于用于8282C59AC59A的级联和缓冲方式的级联和缓冲方式级连方式:传送从级连方式:传送从8282C59AC59A的编号。的编号。 第第1 1个中断响应期间,识别个中断响应期间,识别IDID标志;标志; 第第2 2个中断响应期间,该从片向个中断响应期间,该从片向CPUCPU提供中断提供中断类型码。类型码。缓冲方式:输出局部数据总线允许信号。缓冲方式:输出局部数据总线允许信号。微机原理及应用4.4.中断请求寄存器中断请求寄存器( (IRR)IRR):连接中断源。:连接中断源。 接收并寄存中断请求信号。接收并寄存中断请求信号。( (有请求时,

49、有请求时,IRRIRR中相应位中相应位置置“1”)“1”)。5.5.中断屏蔽寄存器中断屏蔽寄存器( (IMR)IMR):屏蔽中断源。:屏蔽中断源。 82 82C59AC59A的的8 8级中断请求独立地加以禁止或允许。级中断请求独立地加以禁止或允许。( (当某当某位被置位被置“1”“1”时,与之对应的中断请求被屏蔽时,与之对应的中断请求被屏蔽) )。6.6.优先级分析器优先级分析器( (PR)PR):判断优先级。:判断优先级。 检查中断服务寄存器检查中断服务寄存器( (ISR)ISR)的状态,判别有无优先权的状态,判别有无优先权更高的中断正在接受服务,若无,则把中断请求寄存器更高的中断正在接受服

50、务,若无,则把中断请求寄存器( (IRR)IRR)中优先权最高的中断请求送入中断服务寄存器。中优先权最高的中断请求送入中断服务寄存器。微机原理及应用8.8.控制逻辑:按设置的工作方式控制控制逻辑:按设置的工作方式控制82C59AC59A的工作。的工作。 有中断请求有中断请求 IRR相应位置相应位置“1” 若中断未屏若中断未屏蔽蔽 送送PR判优判优 送送ISR( (相应位置相应位置“1”) ) 向向CPU发出发出INT信号信号 若满足响应条件若满足响应条件 CPU 发回发回INTA信号信号 82 82C59A向向CPU传送中断类型传送中断类型码码 中断响应完成中断响应完成 ISR相应位清相应位清

51、“0”7.7.中断服务寄存器中断服务寄存器( (ISR)ISR):寄存正在被响应的中断。:寄存正在被响应的中断。 正在被服务的所有中断级,包括尚未服务完而正在被服务的所有中断级,包括尚未服务完而中途被更高级的中断打断了的中断级,他们在中途被更高级的中断打断了的中断级,他们在ISRISR中中的对应位被置的对应位被置“1”1”,响应完后立即清,响应完后立即清“0”0”。微机原理及应用9.3.3 829.3.3 82C59AC59A引脚功能引脚功能 8282C59AC59A的外部引脚的外部引脚 引脚可分为三个部分:引脚可分为三个部分: 与与CPUCPU的接口引线的接口引线 与外设的接口引线与外设的接

52、口引线 用于级联的接口引线用于级联的接口引线 C SW RR DD7D6D5D4D3D2D1D0C A S0C A S1G N DVC CA0I N T AI R7I R6I R5I R4I R3I R2I R1I R0I N TS P / E NC A S28 2 C 5 9 A123457891 01 11 21 461 32 82 72 62 52 42 22 12 01 91 81 71 52 31 6微机原理及应用 1. 82 1. 82C59AC59A与与CPUCPU的接口引脚的接口引脚 D D7 7D D0 0:数据线,双向,三态:数据线,双向,三态 。 传送的信息:控制字、状态

53、字、中断类型码。传送的信息:控制字、状态字、中断类型码。 A A0 0:地址线,输入。:地址线,输入。偶地址端口:偶地址端口: 3 3个控制字,个控制字,3 3个状态字个状态字 寻址寻址8282C59AC59A内部的端口:内部的端口: 奇地址端口:奇地址端口: 4 4个控制字个控制字, 1, 1个状态字个状态字 :写信号,输出,低高电平有效。:写信号,输出,低高电平有效。 :读信号,输出,低高电平有效。:读信号,输出,低高电平有效。 :片选信号,输出,低高电平有效。:片选信号,输出,低高电平有效。 INTINT:中断请求信号,输出,高电平有效。中断请求信号,输出,高电平有效。 用于由用于由82

54、82C59AC59A向向CPUCPU发出中断请求,连接发出中断请求,连接CPUCPU的可屏蔽中断请求输入端的可屏蔽中断请求输入端INTRINTR。 :中断响应信号,输出,低电平有效。:中断响应信号,输出,低电平有效。 用于接收用于接收CPUCPU送回的中断响应负脉冲。连接送回的中断响应负脉冲。连接CPUCPU控制总线的控制总线的 。 WRRDCSINTAOCW1,ICW2,ICW3,ICW4ICW1, OCW2, OCW3IRR, ISR,中断查询字中断查询字INTAIMR微机原理及应用CS RD WR A0 D4 D3 读写操作读写操作 0 1 0 0 1 写写ICW1 0 1 0 1 写写

55、ICW2、 ICW3 、ICW4、OCW1 0 1 0 0 0 0 写写OCW2 0 1 0 0 0 1 写写OCW3 0 0 1 0 读读IRR/ISR/中断查询字中断查询字 0 0 1 1 读读IMR82598259的读写功能的读写功能微机原理及应用2. 822. 82C59AC59A与外设的接口引线与外设的接口引线 IR0IR0IR7IR7:中断请求,输入,高电平或上升沿有效。中断请求,输入,高电平或上升沿有效。 用于接收从外设来的中断请求信号。每个引脚分用于接收从外设来的中断请求信号。每个引脚分别连接一个中断源的中断请求输出端或连接一个别连接一个中断源的中断请求输出端或连接一个8282

56、C59AC59A从片的从片的INTINT端端( (级联方式时级联方式时) )。微机原理及应用 3. 82 3. 82C59AC59A级联时的接口引线级联时的接口引线 CASCAS2 2CASCAS0 0:级连引脚,双向。:级连引脚,双向。用来构成用来构成8282C59AC59A的主从式级联控制结构,传送从片标志。的主从式级联控制结构,传送从片标志。 :从片编程:从片编程/ /缓冲器允许信号,双向,低电平缓冲器允许信号,双向,低电平有效。有效。 主片主片SP=“1”SP=“1” 非缓冲方式时:输入非缓冲方式时:输入, ,SPSP信号信号 从片从片SP=“0”SP=“0”功能功能 =“0”=“0”

57、允许允许 缓冲方式时:输出缓冲方式时:输出, ,缓冲器允许信号缓冲器允许信号 =“1”=“1”禁止禁止ENSP/ENEN微机原理及应用9.3.4 829.3.4 82C59AC59A的控制字的控制字 8282C59AC59A共有共有7 7个控制字个控制字 4 4个初始化命令字个初始化命令字ICWs-Initialization ICWs-Initialization Command WordsCommand Words( (ICW1-ICW4)ICW1-ICW4):系统初启时设定。系统初启时设定。 3 3个操作命令字个操作命令字OCWs-Operation Command OCWs-Opera

58、tion Command WordsWords( (OCW1-OCW3)OCW1-OCW3):系统运行时,由应用程序系统运行时,由应用程序设定设定( (实现对中断处理的动态管理和控制实现对中断处理的动态管理和控制) )。n8282C59AC59A共有共有4 4个状态字个状态字 IRRInterrupt Request RegisterIRRInterrupt Request Register PR-Priority ResolverPR-Priority Resolver ISR-In-Service RegisterISR-In-Service Register IMR-Interrupt

59、Mask RegisterIMR-Interrupt Mask Register7个寄存器的寻址问题个寄存器的寻址问题:n规定规定:A0 0111ICW1:用偶地址写入,且用偶地址写入,且D4=1ICW2ICW3ICW4紧接着紧接着ICW1,用奇地址写入,用奇地址写入100OCW1:用奇地址写入,但不紧跟用奇地址写入,但不紧跟ICW1OCW2OCW3用偶地址写入,但用偶地址写入,但D4=0即:即:01 0 0 0 1D4D3ICW1OCW2OCW300采 用 了 专 门 的采 用 了 专 门 的“标识位标识位“,以,以节省输入地址的节省输入地址的引脚数引脚数( (仅用了仅用了A A0 0) )

60、微机原理及应用1. 1. 初始化命令字初始化命令字 初始化命令字通常是系统开机时,由初始化程序初始化命令字通常是系统开机时,由初始化程序填写的,而且在整个系统工作过程中保持不变。填写的,而且在整个系统工作过程中保持不变。 初始化命令字有四个初始化命令字有四个ICW1ICW1、ICW2ICW2、ICW3ICW3、ICW4ICW4。写入顺序为写入顺序为ICW1ICW1、ICW2ICW2、ICW3ICW3、ICW4ICW4其中:是否写入其中:是否写入ICW3ICW3和和ICW4ICW4,由由ICW1ICW1决定。决定。微机原理及应用nICWICW1 1的格式和含义的格式和含义 ICWICW1 1:芯

温馨提示

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

评论

0/150

提交评论