欢迎来到天天文库
浏览记录
ID:58715385
大小:2.99 MB
页数:132页
时间:2020-10-04
《第10章 中断与中断管理ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第10章第10章中断与中断管理本章主要内容8086的中断系统2中断程序设计41中断概念1可编程中断控制器8259A310.1中断概念1、中断在CPU正常执行程序的过程中,如果发生内部/外部事件或是程序预先安排的事件急需CPU处理时,CPU会暂时中断正在执行的程序,转去执行相应的事件处理程序。待事件处理完毕后,CPU再返回到被暂时中断的程序继续执行。这个过程就称为中断。中断是微处理器CPU与外部设备交换信息的一种方式,是CPU处理随机事件和外部请求的主要手段。10.1.1中断与中断源1、中断最初,中断技术引入计算机系统,只是为了解决快速的CPU与慢速的外
2、部设备之间传送数据的矛盾。例如:打印输出时,CPU传送数据的速度高,而打印机打印的速度低。如果不采用中断技术,CPU将经常处于等待状态,效率极低。采用中断技术后,CPU可以正常进行其它的工作,只在打印机缓冲区中的当前内容打印完毕发出中断请求之后,才予以响应。这时,CPU暂时停止执行当前程序而转去执行向缓冲区传送数据的程序,传送完成后又返回原来的程序执行。这样就大大地提高了CPU的效率。1、中断随着计算机技术的发展,中断技术不断被赋予新的功能,它可以使计算机系统完成如下功能:CPU与外部设备并行工作实时信息处理故障检测和自动处理分时处理2、中断源产生中断
3、请求的设备或事件称为“中断源”。根据中断源不同,中断可分为三类:由计算机硬件异常或故障引起的中断,也称为内部异常中断;程序中执行了中断指令引起的中断,也称为软件中断或软中断;外部设备(如输入、输出设备)请求引起的中断,也称为硬件中断或外部中断。10.1.2中断系统的功能中断过程BECDA中断请求中断判优中断响应中断返回中断服务中断过程需要由计算机的软、硬件共同完成,能完成中断过程的所有硬件和软件构成中断系统。中断系统应具备如下功能:接收中断请求中断源识别中断源判优中断嵌套中断处理与返回10.1.2中断系统的功能对于不同的微机系统和不同的中断方式(如软件
4、、硬件中断),CPU进行中断处理的具体过程不完全一样。但都要经过:请求中断、中断判优、中断响应、中断处理和中断返回等阶段。10.1.3简单的中断处理过程(1)中断请求触发器置位CPU只有在当前指令执行结束后才会检测有无中断请求发生,因此对于外部中断,中断源要向CPU发出中断请求,就必须把自己的中断请求信号保持到CPU响应,才可以清除。故要求每一个中断源都有一个中断请求触发器,用于记录中断请求标志。当提出中断请求时,该触发器被置位,如下图所示。1、CPU响应中断的条件(2)中断屏蔽触发器置位在通常情况下,往往有多个中断源。在外设接口中,为每一个中断源设置
5、了一个中断屏蔽触发器,用来开放或关闭中断源的请求。只有中断屏蔽触发器设置为“1”时,外设的中断请求信号才能被送到CPU,如下图所示。1、CPU响应中断的条件(3)中断是开放的外部中断是否响应,还取决于CPU是允许中断还是禁止中断。CPU通过内部设置的一个中断允许触发器(标志寄存器FR的IF位),来开放或关闭可屏蔽中断INTR。执行STI指令后,IF置“1”,称为开中断,允许CPU响应INTR请求;执行CLI指令后,IF清“0”时,称为关中断,禁止CPU响应INTR请求。1、CPU响应中断的条件(4)CPU在执行当前指令的最后一个时钟周期CPU在执行当前
6、指令的最后一个时钟周期才去查询INTR引脚。若查询到该引脚信号为高电平,则表示收到有效中断请求信号。在开中断(即IF=1)的情况下,CPU在下一个总线周期不进入取指周期,而是进入中断响应周期处理中断。1、CPU响应中断的条件1、CPU响应中断的条件中断响应、服务及返回流程图CPU进入中断响应周期后,自动完成如下操作:(1)关闭中断FR中的中断标志位IF清零;(2)保护断点将当前CS和IP的内容压入堆栈保存,以便中断处理完毕后能返回被中断的原程序继续执行;(3)送中断类型号在中断响应周期的第二个总线周期中,由中断控制器给出中断类型号,CPU根据中断类型号
7、获取中断服务子程序的入口地址,并装入CS与IP;一旦装入完毕,中断服务程序就开始执行。2、CPU对中断的响应中断服务程序,就是为实现中断源所期望达到的功能而编写的程序。步骤:(1)保护现场为使中断处理程序不破坏主程序中寄存器的内容,应先将断点处各寄存器的内容压入堆栈保护起来;(2)中断服务不同的中断请求,有各自不同的中断服务内容;需要根据中断源所要完成的功能,事先编写相应的中断服务程序存入内存;(3)恢复现场中断处理完后,恢复主程序断点处各寄存器的内容。3、CPU对中断的处理在中断服务子程序的最后,要开中断(CPU能响应新的中断请求)并安排一条中断返回
8、指令IRET。执行指令IRET后,之前压入堆栈的断点值及程序状态字弹回到CS、IP及FLAGS
此文档下载收益归作者所有