欢迎来到天天文库
浏览记录
ID:48755278
大小:3.18 MB
页数:121页
时间:2020-01-21
《第7章_中断控制接口.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第七章中断控制接口第一节中断概述一、概念所谓中断,就是当CPU正常运行程序时,由于内部或外部的随机事件,引起CPU暂时中止正在运行的程序,转而去执行请求中断的外设(或内部事件)的中断服务程序,中断服务结束后再返回被中止的程序。这一过程称为中断。二、中断的用处主机可以与外设同步并行操作;实时处理;故障处理中断概念1.中断源能够引起程序中断的事件都称为中断源。有些中断是已知的,例如指令中断源,这类中断源是以指令的形式给出的,例如INT20H,这条指令如同其它的汇编指令一样,是出现在程序中的,所以这个中断源什么时候发
2、生是预先知道的;有些中断源是随机的,也就是说,提出中断请求的时刻是未知的,例如硬件中断,中断源是通过中断控制接口电路输入至CPU的,中断源具体的发生时刻与外部硬件电路有关。2.中断优先级当系统中有多个中断源同时到来时,就需要将中断源排个队,优先级高的中断服务程序先执行,执行完优先级别高的中断服务程序,再执行优先级别低的中断服务程序。完成中断优先级的排列可以是软件查询方式,也可以利用硬件电路实现。软件查询方式的硬件电路简单,但是需要利用程序来控制优先级的执行顺序,对于简单的小型微机系统可以用此方法。硬件电路实现优
3、先级排列,不必利用程序控制。3.中断嵌套所谓中断嵌套是指高优先级别的中断打断当前低优先级的中断服务程序的执行。4.中断类型号中断类型号是指每个中断源的编号。每个中断源都有唯一的编号,每一个编号都对应各自的中断服务子程序。当响应中断时,必须首先获得中断类型号,有了中断类型号,才能找到对应的中断服务子程序。中断处理过程1、中断请求外设需要CPU服务时,首先要发出中断请求。发出中断请求的外设就是中断源。广义地说,能引起CPU程序产生中断的随机事件都称为中断源。不仅外部可以产生中断,CPU的内部也可以产生中断。这些中断
4、源的共同特点是都需要CPU对其进行适当的处理。而处理的步骤(程序)是预先已设定好的。2、中断判优当系统具有若干个中断源时,若某一时刻有两个及以上的中断源同时发出中断请求,因为CPU往往只有一条中断请求线(INTR),而CPU任一时刻只能响应并处理一个中断,这就要求CPU判别优先级最高的中断源并响应之。中断判优就是要解决请求中断的事件优先级的顺序问题。中断判优的方法有软件判优和硬件判优两种。软件判优电路简单,判优速度慢;硬件判优电路复杂,判优速度快。用软件方法确定中断优先权申请中断CPU响应中断后,在中断服务程序
5、中用软件判断中断源。XORAL,ALMOVDX,340HINAL,DXRCRAL,1JCSERV0RCRAL,1JCSERV1……;读中断寄存器状态;判断是否为0#申请中断;判断是否为1#申请中断;清CF用硬件方法确定中断优先权雏菊花链式电路中断优先级自上而下,上面端口的中断请求可以屏蔽下面的中断请求。硬件电路自然完成了中断判优。3、中断响应中断响应就是CPU中断现在正在进行的处理任务,转向中断请求相对应的中断处理程序的过程。在中断响应过程中应解决以下四个问题:保护断点,保护现场(如标志寄存器或其他寄存器);C
6、PU关中断,不允许此时被新的中断源所打断;转入中断请求所对应的处理程序。最后一个问题是实现CPU控制权的转移,它是中断响应过程的关键。其实质是如何由中断源得到相应服务程序的入口地址的问题。现在常用的方法是采用中断向量,即由所响应的中断源在中断响应时间向CPU提供自己的中断向量号,CPU根据中断向量号就能够找到中断服务程序的入口地址,进而转入中断服务程序。4、中断处理中断处理就是执行中断服务程序,以完成中断源提出的处理要求,中断服务处理程序是软件编程问题,与子程序的编写原则类似。在中断服务程序中,用STI指令开中
7、断,以实现中断嵌套,并对服务程序中的所用的寄存器应预先保护(若中断响应中CPU不是自动保护的话),而在服务程序后面加入恢复现场的语句。5、中断返回中断返回就是控制权由中断服务程序转移到被中断的程序的过程。执行中断返回指令与一般“返回主程序”指令类似。所不同的是,大多数中断返回指令还有其他的附加功能,例如部分或全部恢复CPU的现场(除程序计数器外,还有标志寄存器FR等),有些CPU的中断返回指令可自动恢复全部通用寄存器的内容。第二节8086的中断系统一、中断源与中断识别中断源:发出中断请求的外部设备或引起中断的内
8、部原因.1)外设中断:系统外部设备要求与CPU交换信息而产生的中断;2)指令中断:为了方便用户使用系统资源或调用软件而设置的中断指令,如调用I/O设备的BIOS及DOS系统功能的中断指令和设置断点中断等;INT21H3)程序性中断:程序员的疏忽和算法上的差错,使程序在运行过程中出现了多种错误而产生的中断。如溢出中断、地址越界中断等;4)硬件故障中断:机器在运行过程中,硬件出现偶然性或固
此文档下载收益归作者所有