8中断系统.ppt_第1页
8中断系统.ppt_第2页
8中断系统.ppt_第3页
8中断系统.ppt_第4页
8中断系统.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、微机原理,第8章 中断,本章主要教学内容 1、中断概述 2、8086的中断方式 3、IMB PC/XT的中断结构(自学),微机原理,中断的概念,所谓中断是指CPU在执行当前程序的过程中,遇到了某种随机事件或特殊请况,暂停当前程序的执行,转而执行对随机事件或特殊请况进行处理的程序,处理完毕,CPU再返回暂停处继续执行原程序的过程。,微机原理,微机原理,中断与子程序的区别,从程序的执行过程来看,中断过程的程序转移与子程序调用相似,被中断的程序称为主程序,被调用的程序称为中断处理程序或中断服务程序。 子程序调用是由主程序安排在特定的位置上的,而中断发生在随机的时刻,可以在主程序的的任意位置进行程序的

2、切换。 子程序通常是完成主程序要求的功能,而中断处理程序的功能一般与被打断的主程序没有直接关联。,微机原理,中断与子程序的区别,中断的随机性并不意味着中断只是被动地等待外界的随机事态。事实上,有两种使用中断的情况, 一种是与主程序的安排无关,完全是由外界随机地提出中断请求; 另一种则是有意利用中断技术来调用外围设备。因此,所谓的随机性是相对于具体发生时刻而言的。即从宏观上来看,产生中断的原因可能是由主程序有意安排的,但提出中断请求的具体时刻不确定,所以在微观上来看中断是随机的。,微机原理,中断源,中断源是指引起中断的原因或能够发生中断请求的设备。 这里所说的原因,可以理解为是软件方面造成中断的

3、原因;设备当然是指引起中断的硬件。 可见,要说中断源就应把软件和硬件两个方面都考虑进去。计算机中中断处理的复杂性就体现在中断源的多样性上。,微机原理,中断的作用,故障处理 当计算机系统出现硬件故障或程序故障时,都必须通过中断进行处理。硬件故障如发生掉电,校验出错、运算出错等;程序故障如非法指令、溢出、地址越界等。,微机原理,中断的作用,利用中断进行实时处理 所谓实时处理,是指在某个事件或现象出现的实际时间内及时地进行处理,而不是积压起来再进行批量处理。例如,某计算机过程控制系统中,当压力过大,温度过高时,必须及时地将检测的参数输入到计算机中,并以与数据产生的接收同样快的速度及时进行处理。在实际

4、工作中,利用中断技术进行实时控制的例子是很多的。,微机原理,中断的作用,实现主机与外设的并行工作 利用中断技术使主机与外设实现一定程度的并行工作从而提高CPU的工作效率。如键盘管理和采用中断方式管理打印机的输出等。 用中断方式进行人机对话 某些程序的执行需要操作人员由键盘、鼠标等输入设备提供信息以进行控制。这些信息何时发出取决于键盘、鼠标等的随机按下,因此,可以利用中断方式将信息提供给主机以实现人机对话。,微机原理,禁止中断,当产生中断请求后,由于特殊情况的要求,CPU不能停止现行程序的执行,称为禁止中断。 一般在CPU内部设有一个“中断允许标志位”IF,如果IF=1,则CPU允许中断,称为开

5、中断状态(允许中断);如果IF=0,则CPU不允许中断,称为关中断状态(禁止中断)。 在8086CPU中,通过执行STI和CLI指令进行开中断和关中断的操作。 可以将中断分为两类:一类是受IF控制的中断,称为可屏蔽中断,另一类是不受IF控制的中断,称为非屏蔽中断。,微机原理,中断屏蔽,当产生中断请求后,用程序方式有选择地封锁部分中断,而允许其余部分中断仍得到响应,称为中断屏蔽。 实现的方法是为每个中断源设置一个中断屏蔽触发器来屏蔽该中断源的中断请求。,微机原理,中断优先权,当多个中断源同时向CPU发出中断请求时,CPU就要根据各中断源的中断性质和处理的轻重缓急,把各个中断源排队,先响应紧迫程度

6、高的请求,这种按轻重缓急给各中断源所设定的优先级别就叫中断优先权或中断优先级。 设定中断优先权一般的原则是:由故障引起的中断优先于由I/O操作需要引起的中断,非屏蔽中断优先于可屏蔽中断,高速事件的中断优先于低速事件的中断,输入信息所需的中断优先于输出信息所需的中断。,微机原理,中断嵌套,在中断优先权已定的情况下,CPU总是首先响应优先权最高的中断请求,而且当CPU正在响应某一中断源的请求,执行为其服务的中断处理程序时,如果有优先权更高的中断源发出请求,则CPU就中止正在执行的程序而转入为新的中断源服务;等新的服务程序执行完毕,再返回到被中止的处理程序,直至处理结束返回主程序。这种中断套中断的过

7、程称为中断嵌套,也称为多重中断。,微机原理,优先权判定方法,当系统中有多个设备用中断方式和CPU进行数据传输时,就存在一个对设备优先权级别的处理问题,在微机中可以使用硬件和软件两种方法来解决。 (1)软件判优方法 软件判优就是用查询法按一定顺序检查各设备是否有中断请求,因此也称为查询法。软件判优是在CPU决定响应中断之后进行的,也需要简单的硬件支持。 (2)硬件判优方法 在微机系统中有多种硬件判优电路,如串行排队链法、中断优先权编码电路等,微机原理,8086的中断类型,8086具有一个简单而灵活的中断系统,它可以处理多达256种不同类型的中断,中断类型由类型号0255指定,中断源可来自CPU内

8、部,也可来自外部。,微机原理,内部中断,内部中断就是通过软件调用的中断,它们都是不可屏蔽型的,其中包括单步中断、除法出错中断、溢出中断和用户自定义中断等。 除法出错中断:在执行除法指令时,若发现除数为0或商超出寄存器所能表示的范围,就立即产生一个除法出错中断,它的中断类型为0。 单步中断:CPU每执行完一条指令都检测状态寄存器中的TF标志位,若TF=1,CPU自动产生一个中断类型为1的中断,使程序单步执行,单步中断广泛应用于程序的调试中。,微机原理,内部中断,溢出中断:当CPU进行算术运算时,如果发生溢出,则将状态寄存器中的OF标志位置“1”。如果在算术运算后加一条溢出中断指令INTO,则该指

9、令测试OF标志,若OF=1,立即产生一个类型4的中断。,微机原理,内部中断,用户自定义软件中断。用户可以用INT n这样的指令形式来产生软件中断, n为由用户确定的一个字节的中断类型码,其取值范围为0255,因此,INT指令中可以指定任何的类型,故可以方便地用来调试为外设编好的中断服务程序。,微机原理,内部中断,INT常用的应用方式是用于系统功能调用。如操作系统PC DOS中,将一些常用的输入输出、文件操作、存储管理等系统功能编程若干个子程序,称为基本I/O系统模块,采用软中断INT指令进行调用。 在这种方式中,断点保护,转向中断处理程序等,均以中断处理方式进行。但一般需要由主程序通过寄存器提

10、供调用参数,对应的返回结果也可能保存在一些寄存器和标志位中,所以在这种方式中,不能在主程序的任意位置随机地插入INT指令,实际上它被当作普通子程序调用了。,微机原理,外部中断,8086有两条外部中断请求信号线,即可屏蔽中断请求信号线INTR和不可屏蔽中断请求信号线NMI。 INTR通常来自可编程中断控制器8259的INT信号,CPU根据状态寄存器中的中断允许位来决定是否响应INTR,IF=1可以响应,IF=0则不能响应。,微机原理,外部中断,不可屏蔽中断NMI采用边沿方式触发(INTR是电平方式触发的),用于通知CPU系统发生了紧急的事件,如电源掉电、存储器读写错或总线奇偶位错等。 NMI信号

11、是不能禁止的,它的优先级比任何一个INTR的优先级别都高。 NMI不受IF标志的限制,当CPU接到NMI请求后,就自动启动NMI的中断服务程序。规定NMI的中断类型号为2,微机原理,各类中断源的优先级别,内部中断(除法出错、INTn、INTO) NMI INTR 单步执行,微机原理,中断向量,PC机以中断向量的形式管理中断。 主存从00000H003FFH的1KB空间,专门保留作为中断服务用,这块内存称为中断向量表,又称为中断指针表或中断处理(服务)程序入口地址表。 表中内容分为256项,对应于0255的中断类型码。每一项占用4个字节,用来存放相应类型的中断服务程序入口地址,其中,高两个字节存

12、放中断处理程序入口的段基址,其内容将送入CS中;低两个字节存放段内偏移量,其内容将送入IP中。,微机原理,中断向量,CPU得到中断类型码N后,将它乘以4得到首址,访问存储器,从中断向量表中连续读取4个字节的入口地址信息,按8086的地址形成方法产生20位的入口地址,从而可以转入对应的中断处理程序。 对应中断号N,它的中断处理程序的入口地址存在4N处,其中4N处是中断服务程序入口地址的偏移量,4N+2处存放的是段地址。不同的中断源对应不同的类型号,将类型号乘以4,就形成了中断向量地址,据此可取出中断服务程序入口地址。,微机原理,中断向量,8086的中断向量地址等于中断服务程序入口地址吗? 中断向

13、量表中的中断向量可分为专用中断(0005H)、标准设备中断(080FH)、软中断(101AH)和其它可用中断(1BHFFH)四大类。,微机原理,3、中断类型号的获取(分两种情况) 对于系统专用中断,系统将自动提供04中断类型号,保证系统自动转到处理程序。 对于可屏蔽中断INTR,外接口电路产生中断类型号。目前8259A产生。 NMI中断类型号为2。,微机原理,例:设某中断源的类型码为4AH,试画出求中断服务处理程序的示意图。 解: 中断向量表指针为4*n=4*4AH=128H,即:0000:0128H。 通过中断向量表,中断服务程序的入口地址为0F000H:1806H。,微机原理,中断过程,1

14、中断请求 中断源发出中断请求的原因各不相同,它们通过各自的路径送往CPU。 其中内部中断通过内部逻辑电路提出,而各种外部中断请求信号通过中断控制器汇集到可屏蔽中断请求线INTR,或直接汇集到非屏蔽中断请求线NMI。 2中断判优 中断判优可以解决有多个中断请求时,CPU首先响应中断优先权最高的中断请求。,微机原理,中断过程,3中断响应 在具备下列条件后,CPU才能响应中断,进入位于原程序与中断处理程序之间的中断响应周期,简称INTA周期。 (1)中断源有中断请求(有多个中断请求时,CPU已经判优结束)。 (2)若为可屏蔽中断请求,且IF标志位的状态为1。 (3)CPU执行完当前指令,且没有优先权

15、更高的DMA请求。,微机原理,中断响应过程,除INTR以外的其它中断请求均为非屏蔽中断,它们的中断类型码是固定的。所以CPU响应其中断时能够得到其类型码。 CPU对INTR的响应过程就是执行两个连续的中断响应总线周期,第一个中断响应总线周期,CPU将地址总线的数据总线置高阻,送出第一个中断响应信号,第二个中断响应总线周期,CPU送出第二个,该信号通知外部中断系统把中断源的中断类型码放到数据总线上。CPU在撤消信号之前取走该中断类型码。,微机原理,中断处理过程,将类型码乘4,作为中断向量表的指针。 把CPU的标志寄存器入栈,保护各个标志位。 复制TF,清除IF和TF,屏蔽新的INTR和单步中断。清除标志位IF即关中断的目的如何? 保存主程序断点,即CS和IP。 从中断向量表中,取出中断服务程序的入口地址,分别送CS和IP。 执行中断服务程序。,微机原理,中断处理程序的结构,(1)保存现场。一般通过一系列的压栈指令将CPU各寄存器的值保护在堆栈中,避免在中断处理过程中寄存器的值丢失。 (2)开中断。一般情况下,应该用开中断指令设置中断允许标志IF=1,以允许更高级的中断请求得到响应,实现中断的嵌套。

温馨提示

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

最新文档

评论

0/150

提交评论