第8章 中断系统与中断控制器8259A
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第8章中断系统与中断控制器8259A
1. 中断的优先级的排列 中断优先级是中断系统把多个中断源产生的中断请求按轻 重缓急程度,从高到低的顺序处理中断源的排列,这种高低 级别的排列称之为中断优先级。在多级中断管理系统中,如 果多个中断源同时发生请求,中断管理系统对其处理的一般 原则是: (1)不同优先级中断同时发生时,按高低级别依次处理; (2)当CPU处理低优先级时又发生高优先级的中断,应暂停 低级别的而去优先处理高级别的,处理完高级别的,再返回 处理低级别的未完的服务,这种方式称之为中断嵌套;
第8章中断系统与中断控制器8259A
4. 中断响应的实际操作 中断响应是实现向中断服务程序的过渡。在中断响应周期, CPU要顺序完成以下操作: (1)发出中断响应信号INTA (Interrupt Acknowledge); (2)关中断,即将IF位清0。以保证在响应一个中断的期间 (不是正在处理中断服务子程序期间)不再响应另一个中断;
第8章中断系统与中断控制器8259A
8.2 中断处理过程
8.2.1 CPU响应中断的条件 响应中断的条件
1.中断源如何向CPU表达中断请求 .中断源如何向 表达中断请求 中断源向CPU表达中断请求,一般是通过设置中断请求 触发器来实现的,在需要CPU服务时,将中断请求触发器 置位,其“1”端或“0”端输出的跳变作为中断请求信号。 显然中断源可以随时提出中断请求。
第8章中断系统与中断控制器8259A
2.中断请求何种情况下才可能得到CPU响应 .中断请求何种情况下才可能得到 响应 一个中断请求在同时具备下列3个条件时,才有可能得到 CPU响应: (1)系统中无总线请求信号; (2)该中断源未被屏蔽; (3)该中断请求在当前所有中断请求中级别最高。
第8章中断系统与中断控制器8259A
第8章中断系统与中断控制器8259A
(4)中断嵌套:在中断处理过程中,发生新的中断请求, CPU应能识别中断源的优先级别,在高级的中断源申请中 断时,能终止低级中断源的服务程序,而转去响应和处理 优先级较高的中断请求,处理结束后再返回较低级的中断 服务程序,这一过程称中断嵌套或多重中断。因此,为了 在较低级的中断服务程序中能及时响应相对较高的中断请 求,必须在进入中断服务程序后尽快地设置开中断指令 STI。
8.1 中断概述
中断是用以提高计算机工作效率、增强计算机功能的 一项重要技术。最初,它只是作为CPU与外设之间交换数 据的一种方式。后来被用于CPU外部及内部紧急事件的处 理、机器故障的处理、实时控制等多个方面,并产生了用 软件方法进入中断处理的概念(软中断)。如今中断系统已 成为计算机系统的一个极其重要的组成部分。此外,中断 还是基于时间片调度的多任务操作系统的重要技术支柱之 一。
第8章中断系统与中断控制器8259A
(3)保护断点和标志寄存器(FR)。断点是相应中断位置的 下一条指令的地址,对8086来说,保护断点就是保存CS 和IP的内容(压入堆栈)。标志寄存器FR中存放着当前执行 的指令的一些重要特征,也需要保存起来,以便中断返回 时继续使用其中的内容,因此,在中断中把标志寄存器 FR也称为程序状态字PSW(Program Status Word)。 (4)查找中断源,转向相应的中断服务程序的入口。 前三个操作由硬件完成,而第四个操作可用硬件,也 可用软件来完成。
第8章中断系统与中断控制器8259A
8.1.1 中断的概念及其功能
1. 中断 • 所谓中断是一个过程,即CPU在正常执行程序的过程中, 遇到外部或内部的紧急事件需要处理,暂停当前程序的执 行,转去为紧急事件服务,待服务完毕,再返回到暂停处 (断点)继续执行原来的程序。为事件服务的程序称为中断 服务程序或中断处理程序。 2. 中断源 • 中断源是指能发出中断申请的外设或引起中断的原因。目 前,微机中的中断源一般有以下几种:
第8章中断系统与中断控制器8259A
程序。 显然,软中断是人为安排的,而硬件中断源引起的中 断是随机的。在PC系列机中,软中断是调用操作系统功能 的一种方法。 (5)软时钟。为了提供时间标志,早期的计算机在内存中 开辟了几个单元,分别作年、月、日、时、分、秒计数,并 设置了一个定时信号发生器,大约55ms输出一个脉冲,作 为中断请求。
第8章中断系统与中断控制器8259A
① 发两个中断响应信号 INTA ,第一个通知外设准备类型 码,第二个CPU取走类型码。 ② 把程序状态字(PSW)以及程序断点处的CS、IP内容入 栈,以便中断处理完后能正确地返回主程序;同时清除IF 与TF,以禁止其它可屏蔽中断请求; ③ 中断服务程序入口地址段地址送入CS,偏移地址送入IP。
第8章中断系统与中断控制器8259A
(2)实现实时处理。在实时控制系统中,现场定时或随机 地产生各种参数、信息,要求CPU立即响应。利用中断机 制,计算机就能实时地进行处理,特别是对紧急事件的处 理。 (3)故障处理。计算机运行过程中,如果出现某些故障, 如电源掉电、运算溢出等,计算机可以利用中断系统自行 处理。 (4)基本功能调用:在PC机中,通过软件中断可实现DOS 功能调用和基本BIOS调用。
第8章中断系统与中断控制器8259A
第8章 中断系统与中断控制器 章 中断系统与中断控制器8259A
8.1 中断概述 8.2 中断处理过程 8.3 多级中断管理 8.4 PC/XT(8088/8086CPU)的中断系统 8.5 8259A可编程中断控制器 习题与思考题
第8章中断系统与中断控制器8259A
第8章中断系统与中断控制器8259A
8.3 多级中断管理
在实际的应用当中,系统中一般有多个中断源。如果同一 时间有多个中断源向CPU提出中断请求,CPU该如何处理, 这就涉及到多级中断的管理问题,其关键是中断优先级的控 制问题。中断优先级是指每个中断源在接受CPU服务时的优 先等级,对中断优先级的控制要解决以下两个方面的问题, 即中断优先级的排队问题和中断源的识别问题。
第8章中断系统与中断控制器8259A
3. 中断技术的优点 (1)并行操作和分时操作。并行操作指CPU和多个外设并行 操作;分时操作指CPU可分时执行多个用户程序和多道作业。 CPU与外部设备进行数据传输的过程如下: • CPU启动外部设备工作后,执行自己的主程序,此时外部设 备也开始工作。当外设需要数据传输时,发出中断请求, CPU停止当前的主程序,转去执行中断服务子程序,中断处 理结束以后,CPU继续执行主程序,外部设备也继续工作。 如此不断重复,直到数据传送完毕。在此操作过程中,对 CPU来说是分时的,即在执行正常程序时,接收并处理外部 设备的中断请求,CPU与外部设备同时运行,并行工作。
3.CPU何时响应中断 . 何时响应中断 CPU在同时满足下列两个条件时,响应中断: (1)IF=1(对非屏蔽中断,没有此项要求); (2)现行指令执行完。CPU在每一个指令周期的最后一 个总线周期的最后一个时钟周期的开始,对中断请求信号 INTR采样,若有中断请求,则下一步不进入取指令周期, 而进入中断响应周期。
第8章中断系统与中断控制器8259A
3. 中断响应 根据中断请求的中断源的类型不同,中断响应分成以下两 种情况: (1)对非屏蔽中断请求的响应:该请求信号与CPU的NMI 引脚线相连接,如果CPU检测到该请求,CPU执行完当前 指令后就自动执行相应的中断服务程序,CPU不需要发出 中断响应信号。 (2)对可屏蔽中断INTR请求的响应:要检查IF,如IF=1, CPU允许中断,就会在结束当前指令后响应该外设的中断 请求。CPU响应可屏蔽中断时要自动完成下列几步操作:
第8章中断系统与中断控制器8259A
(3)CPU在处理一个中断服务程序过程中,如果出现比它 优先级低或者同优先级的中断请求,则应当处理完当前的 中断服务后,再响应新的中断请求; (4)中断优先级相同的设备同时请求中断,则按事先规定 的次序处理。
第8章中断系统与中断控制器8259A
2. 中断源的识别 对于多中断源共享一个中断请求引脚的情况,既要判 断优先级的高低,也要将程序引导到相应的中断程序入口。 识别中断源的主要方法由软件识别法和硬件识别法两种。 (1)软件识别法。软件查询的方法是:当CPU响应中断后, 利用软件查询有哪些外设申请中断,判断哪个中断源的级 别更高,并首先为它进行中断服务。这种方法是用户通过 编程用程序查询或移位的办法来识别中断源的。
第8章中断系统与中断控制器8259A
8.2.2 中断的处理过程
中断处理过程,也叫中断过程。大致可分为:中断请求、 中断判优、中断响应、中断处理和返回四个步骤。 1. 中断请求 外部设备需中断服务时,经接口电路向CPU发出中断请 求信号。如8086/8088系统中高电平有效的INTR信号,该 信号应与8259A的INT相连。CPU在每条指令执行完后检 测外设是否有请求。
第8章中断系统与中断控制器8259A
2. 中断判优 • 如果有两个或两个以上中断源同时发出中断请求,要根据 中断优先权,找出最高级别的中断源,首先响应其中断请 求,处理完后再响应较低一级的中断源。 • 如果中断源发出中断请求时,CPU正在执行中断服务程序, 则应允许优先权高的中断源中断低一级的中断服务程序, 实现中断嵌套。
ቤተ መጻሕፍቲ ባይዱ
第8章中断系统与中断控制器8259A
(1)外设的服务请求。如键盘在用户敲了一个键后向CPU提出 中断请求,请求CPU接收该按键的编码; (2)CPU内部事件。如除法错误、运算溢出、设置单步执行方 式等; (3)硬件故障。如电源掉电、内存出错等; (4)软中断。软中断又称为软件中断,是用软件方法产生中断, 即在程序中安排特定的指令INT N(N为中断号),当程序执 行到该类指令时,进入到中断类型号所对应的中断服务
第8章中断系统与中断控制器8259A
(4)恢复现场:用弹栈指令把保护现场时入栈寄存器内容 恢复,注意应按先进后出的原则,恢复寄存器原来的内容 值。出栈后,堆栈指针也应恢复到进入中断处理时的位置。 (5)中断返回: 8086CPU必须根据中断结束方式,发中断 结束指令,并在最后用一条中断返回指令IRET。中断返 回指令IRET的作用是将断点的内容重新送入CS和IP寄存 器和标志寄存器,保证CPU从断点开始执行原来的程序。
第8章中断系统与中断控制器8259A
例如,在某一 系统中有8个中 断源,系统一般 将8个外设的中 断请求触发器组 合起来,作为一 个端口,并赋以 端口号,如图 8.1所示。
图8.1 软件查询的接口电路
第8章中断系统与中断控制器8259A
把8个外设的中断请求信号相“或”后,作为INTR信号, 这样只要有一个外设有中断请求,就可向CPU发出INTR信 号。当CPU响应中断后,把中断寄存器组成的这个端口的状 态读入CPU,逐位检测并转到相应的服务程序的入口。 假设该接口的请求状态端口地址为20H,则程序查询可采 用两种方法,程序执行步骤如图8.2所示。
第8章中断系统与中断控制器8259A
4. 中断系统的功能 中断系统是为实现中断而设置的各种硬件与软件,包括 中断控制逻辑及相应管理中断的指令。 一个中断系统应具 有以下功能: (1)中断响应:当中断源有中断请求时,CPU能决定是否 响应该请求; (2)断点保护和中断处理:在中断响应后,CPU能保护断 点,并转去执行相应的中断服务程序; (3)中断优先权排队:当有两个或两个以上中断源同时申 请中断时,应能给出处理的优先顺序,保证先执行优先级 高的中断;
第8章中断系统与中断控制器8259A
4. 中断处理和返回 中断处理也叫中断服务,是由中断服务程序完成的。中 断服务程序一般应由以下几部分按顺序组成: (1)保护现场:用压栈指令把中断服务程序中要用到的寄存 器内容压入堆栈,以便返回原来的任务后,CPU能从原来 的现场信息运行原程序; (2)开中断:以便执行中断服务时能响应高一级的中断请求, 实现中断嵌套。用STI指令开放中断屏蔽状态,使IF=1; (3)中断服务程序:执行相应的中断服务处理程序;