硬件技术基础中断系统

上传人:宝路 文档编号:48274023 上传时间:2018-07-12 格式:PPT 页数:89 大小:863.43KB
返回 下载 相关 举报
硬件技术基础中断系统_第1页
第1页 / 共89页
硬件技术基础中断系统_第2页
第2页 / 共89页
硬件技术基础中断系统_第3页
第3页 / 共89页
硬件技术基础中断系统_第4页
第4页 / 共89页
硬件技术基础中断系统_第5页
第5页 / 共89页
点击查看更多>>
资源描述

《硬件技术基础中断系统》由会员分享,可在线阅读,更多相关《硬件技术基础中断系统(89页珍藏版)》请在金锄头文库上搜索。

1、 教学目的和要求本章主要介绍中断的基本概念,中断响应过程, 8088的中断方式,IBM PC/XT的中断方式,之后又介绍了 中断控制器8259,重点掌握中断概念、中断响应过程、 8088中断方式。 中断系统内容提要 中断概述 CPU响应中断的条件和过程 中断优先权及多重中断 8088的中断方式 IBM PC/XT的中断方式 中断控制器8259A中断系统中断系统中 断:指CPU在正常运行程序时,由程序预先安排好的事件或由内、外部事件引起CPU中断正在运行的程序,而转到预先安排的事件或内、外部事件服务的程序中去。中 断 源:引起程序中断的事件。中断返回:中断服务程序执行完,返回原来执行程序的中断处

2、(称为断点)继续往下执行 。中断的优先级:有时中断请求信号(即中断源)可能有好几个,CPU响应这些中断的先后次序。 挂 起:优先级高的中断,CPU首先响应;优先级低的中断暂不响应。中断系统中断的屏蔽:有些中断源产生的中断,可以用编程的方法,使CPU不予理睬。CPU响应中断转去执行中断服务程序前,需要把被中 断程序的现场信息保存起来,以便执行完中断服务程序后 ,接着从被中断程序的断点处继续往下执行,这些现场信 息包括程序计数器的内容、CPU的状态信息、执行指令后 的结果特征和一些通用寄存器的内容。中断处理的隐操作:有些信息的保存如程序计数器的内容等由机器硬件预先安排完成。中断向量:有些信息的保存

3、是在中断服务程序中预先安排的。CPU响应中断,由中断源提供地址信息,中断系统引导程序转移并执行中断服务程序,这个地址信息称为中断向量,它一般是和中断源相对应的。在数据采集或实时控制中,CPU对接口设备的控制或 交换信息,查询、中断、DMA方式均可使用,而中断方式 以其执行速度快,可实时处理,不占用CPU过多的时间等 优点,在接口技术中较多地被采用。中断概述v 中断的必要性CPU在与外设交换信息时,若用查询的方式,则CPU就 要浪费很多时间去等待外设。这样就存在一个快速的CPU 与慢速的外设之间的矛盾,这也是计算机在发展过程中遇 到的严重问题之一。为解决这个问题,一方面要提高外设 的工作速度;另

4、一方面发展了中断的概念。实现了中断,就有以下好处: 同步操作:有了中断功能,就可以使CPU和外设同时工作。而且 有了中断功能,CPU可命令多个外设同时工作。这样就大 大提高了CPU的利用率,也提高了输入、输出的速度。中断概述实现实时处理当计算机用于实时控制时,中断是一个十分重要的功 能。现场的各个参数、信息,需要的话可在任何时间发出 中断申请,要求CPU处理;CPU就可以马上响应(若中断是 开放的话)加以处理。这样及时处理在查询的工作方式下 是做不到的。故障处理计算机在运行过程中,往往会出现事先预料不到的情 况,或出现一些故障;如电源突跳,存储出错,运算溢出 等等。计算机就可以利用中断系统自行

5、处理,而不必停机 或报告工作人员。中断概述v 中断源引起中断的原因,或能发出中断申请的来源,称为中 断源。通常中断源有以下几种: 一般的输入、输出设备:如键盘、打印机等。 数据通道中断源:如磁盘、磁带等。 实时时钟:在控制中,常要遇到时间控制问题等,常用 外部时钟电路,当需要定时时,CPU发出命令,令时钟电 路开始工作,待规定的时间到了后,时钟电路发出中断申 请,由CPU加以处理。中断概述 故障源:例如电源掉电。需要把正在执行程序的状态 PC(或IP)、各个寄存器的内容和标志位的状态保留 下来,以便重新供电后能从断点处继续运行等。 为调试程序而设置的中断源:一个新的程序编制好以 后,必须经过反

6、复调试才能可靠地工作。在程序调试时 ,为了检查结果,或为了寻找毛病所在,往往要求在程 序中设置断点,或进行单步工作(一次只执行一条指令 ),这些就要由中断系统来实现。中断概述v 中断系统的功能为了满足上述各种情况下的中断要求,中断系统应 具有如下功能: 实现中断及返回 能实现优先排队 高级中断低级中断的处理CPU响应中断的条件和过程CPU由于引脚的限制,它的中断请求线的数量是有限 的。 v CPU响应中断的条件 设置中断请求触发器要求每一个中断源有一个中断源请求触发器A 。CPU响应中断的条件和过程 设置中断屏蔽触发器CPU响应中断的条件和过程 中断是开放的在CPU内部有一个中断允许触发器。当

7、CPU复位时,中 断允许触发器为“0”,即关中断,所以必须要用STI指令 来开中断。当中断响应后,CPU就自动关中断,所以必须 在中断服务程序中用STI指令来开中断。 CPU在现行指令结束后响应中断CPU在现行指令运行到最后一个机器周期的最后一个T 状态时,才采样INTR线。若发现有中断请求,则把内部的 中断锁存器置“1”,然后下一个机器周期不进入取指周 期,而进入中断周期。CPU响应中断的条件和过程CPU响应中断的条件和过程v CPU对中断的响应当满足上述条件后,CPU就响应中断,转入中断周期 ,CPU做以下几种事: 关中断8088在CPU响应中断后,发出中断响应信号INTA的同 时,内部自

8、动地实现关中断。 保留断点CPU响应中断,封锁IP+1,且把IP和CS推入堆栈保留 ,以备中断处理完毕后,能返回主程序。CPU响应中断的条件和过程 保护现场为了使中断处理程序不影响主程序的运行,故要把 断点处有关的各个寄存器的内容和标志位的状态,推入 堆栈保护起来。8088是由软件(即在中断服务程序中) 把要用到的寄存器的内容用PUSH指令推入堆栈。 给出中断入口,转入相应的中断服务程序8088是由中断源提供的中断矢量形成中断入口地址 (即中断服务程序的起始地址)。在中断服务程序完成 后,还要做下述两步。CPU响应中断的条件和过程 恢复现场把所保存的各个内部寄存器的内容和标志位的状态从 堆栈弹

9、出,送回CPU中的原来位置。这个操作在8088中也 是由服务程序中用POP指令来完成的。 开中断与返回在中断服务程序的最后,要开中断(以便CPU能响应 新的中断请求)和安排一条返回指令,将堆栈内保存的IP 和CS值弹出,程序就恢复到主程序中运行。 CPU响应中断的条件和过程中断优先权及多重中断v 中断优先权实际的系统中,是有多个中断源的,于是,当有多个 外中断源同时请求时,CPU就要先响应优先权级别最高的 中断申请。另外,当CPU正在处理中断时,也要能响应更 高级的中断申请,而屏蔽掉同级或较低级的中断申请。要判别和确定各个中断源的优先权可以用软件和硬件 两种方法。用软件确定中断优先权软件采用查

10、询技术。当CPU响应中断后,就用软件查 询以确定是哪些外设申请中断,并判断它们的优先权。中断优先权及多重中断中断优先权及多重中断查询程序有两种实现方式: 屏蔽法IN AL,20H ;输入中断请求触发器的状态TEST AL,80H ;检查最高位JNE PWF ;外设A中断服务程序TEST AL,40H ;检查次高位JNE DISS ;外设B中断服务程序TEST AL,20H JNE MT ;外设C中断服务程序 中断优先权及多重中断 移位法 XOR AL,ALIN AL, 20H ;输入中断请求触发器的状态RCL AL, 1JC PWF ; 外设A中断服务程序RCL AL, 1JC DISS ;

11、外设B中断服务程序中断优先权及多重中断查询方法的优点是: 询问的次序,即是优先权的次序。显然,最先询问 的,优先权的级别最高。 省硬件。不需要有判断与确定优先权的硬件排队电 路。缺点是:由询问转至相应的服务程序的入口时间长,尤其是 在中断源较多的情况下。中断优先权及多重中断 硬件优先权排队电路 中断优先权编码电路 用硬件编码器和比较器的优先权排队电路 中断优先权及多重中断雏菊花环(Daisy Chain)式或称为链式优先权排队电路 中断优先权及多重中断 多级中断的概念多级中断系统是指计算机系统中有相当多的中断 源,根据各中断事件的轻重缓急程度不同而分成若干 级别,每一中断级分配给一个优先权。一

12、般说来,优 先权高的中断级可以打断优先权低的中断服务程序, 以程序嵌套方式进行工作。 中断优先权及多重中断根据系统的配 置不同,多级中断 又可分为一维多级 中断和二维多级中 断,一维多级中断 是指每一中断里只 有一个中断源,而 二维多级中断是指 每一级中断里又有 多个中断源。图中 虚线左边结构为一 维多级中断,如果 取掉虚线则成为二 维多级中断结构。中断优先权及多重中断对于多级中断,我们着重说明如下几点: 一个系统若有n级中断,在CPU中就有n个中断请求触 发器,总称为中断请求寄存器;与之对应的有n级中断屏 蔽触发器,总称为中断屏蔽寄存器。与单级中断不同,在多级中断中,中断屏蔽寄存器的 内容是

13、一个很重要的程序现场,因此在响应中断时,需要 把中断屏蔽寄存器的内容保存起来,并设置新的中断屏蔽 状态。一般在某一级中断被响应后,要置“0”(关闭) 本级和优先权低于本级的中断屏蔽触发器,置“1”(开 放)更高级的中断屏蔽触发器,以此来实现正常的中断嵌 套。 多级中断中的每一级可以只有一个中断源,也可以有 多个中断源。在多级中断之间可以实现中断嵌套,但是同中断优先权及多重中断一级内的不同中断源的中断是不能嵌套的,必须是处理 完一个中断后再响应和处理同一级内其他中断源。 多级中断系统中首先响应哪一级中断和哪个中断源, 都是由硬件逻辑实现,而不是用程序实现。另外,在二 维中断结构中,独立请求方式与

14、链式查询方式相结合的 方法决定首先响应哪个中断源。 在多级中断中也使用中断堆栈保存现场信息。 使用堆栈保存现场的好处是: 控制逻辑简单,保存和恢复现场的过程按先进后出顺序进行。 每一级中断不必单独设置现场保护区,各级中断现场可按其顺序放在同一栈里。8088的中断方式8088有两种类型的中断:由执行某些指令引起的软中 断和设备引起的硬中断,这些类型的中断,均有中断类型 码相对应。v 软中断 执行下述指令时,将产生或可能产生中断。 DIV(除)或IDIV(整除)指令当执行这些除法指令时,若除数为零或商溢出,则产 生中断,称为0型中断。 INT指令当执行中断指令INT n时,则产生n型中断。8088

15、的中断方式 INT0指令若在指令序列执行过程中,上条指令执行的结果使 溢出标志位O=1,接着若执行的是INTO指令,则引起内部 中断,称为4型中断;若溢出标志位O=0,该指令将不起 作用。 单步执行当标志位T=1时,每执行一条指令,则引起一次中断 ,使得指令的执行成为单步执行方式,这种方式常用于 程序的调试。单步执行为1型中断。8088的中断方式v 硬中断8088有两种中断请求线:非屏蔽中断NMI线和可屏蔽 中断INTR线,在这两条线上产生中断请求信号而引起的 中断称为硬中断。 可屏蔽中断出现在INTR线上的请求信号是电平触发的,它的出 现是异步的,在CPU内部由CLK的上升沿来同步。在该线 上的中断请求信号(高电平有效)必须保持到当前指令 的结束。在这条线上出现的中断请求,CPU是否响应要取决于 标志位I的状态,若I=1,则CPU就响应,可以认为此时 CPU处于中断状态;若I=0,则CPU就不响应。I位的状态 ,8088的中断方式可以用指令STI使其置位(即开中断);也可用CLI指令 使其复位(即关中断)。 非屏蔽中断当NMI线上出现一个由低向高上跳的高电平中断请求 信号后(持续时间大于两个时钟周期),不管标志寄存 器I位的状态如何,当前指令执行完成后,8088马上转入 中断处理。此种类型的中断有三种来源:电源故障,系统板上 随机存储器奇偶校验错,8087(协处理器)中断请

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号