当前位置:
文档之家› 微机原理与接口技术第8章 中断技术
微机原理与接口技术第8章 中断技术
(1)可屏蔽中断 (2)非可屏蔽中断NMI
2.内部中断
(1)溢出中断 (2)除法出错中断 (3) INT n指令中断 (4)断点中断 (5)单步(陷阱)中断
部中断的特点是:
⑴ 中断类型码或者包含在指令中,或者是预先规定的; ⑵ 不执行总线周期; ⑶ 除单步中断外,任何内部中断都无法禁止,即都是非屏蔽中断; ⑷ 除单步中断外,任何内部中断的优先级都比外部中断的高。 8086/8088的中断优先级如表8-1所示
求。
解决中断优先级的方法有以下几种。
1. 软件查询法 软件查询确定中断优先级是最简单的方法,其基本思想是把 几个(通常是8个)外设的中断请求触发器组合起来,形成一 个中断请求寄存器,作为一个端口使用,然后把各个外设的 中断请求信号作为一个逻辑“或”电路的输入信号,“或” 电路的输出端INT连接到CPU的中断请求输入引脚,对8086的 可屏蔽中断而言连接到INTR引脚。
8.2.2 中断向量表 中断向量表又称中断服务程序地址指针表,是存放中断服务程序入口
地址的表格。由于8086的存储器采用20位物理地址,被分成段地址和段 内偏移地址(有效地址)两部分,所以每个中断服务程序入口地址都由 段地址和段内偏移地址组成。
图8-7 中断向量表
8.3 8086的中断处理过程
中断过程也应该把它要使用的任何寄存器的内容在修改前保 存起来,并在处理结束前再恢复。中断过程最好在程序中关 键部分以外的所有部分都开放外部中断。若在一个过程中禁 止外部中断的时间过长,就可能丢失INTR线上的中断请求信 号。
8.2 8086/8088 的中断系统
8.2.1 8086/8088中断分类
根据中断源所处的位置不同,8086/8088的中断源可分为两类,即外部中 断和内部中断。如图8-6所示。
图8-6 8086/8088中断源
1.外部中断 外部中断又可分为可屏蔽中断和非屏蔽中断。可屏蔽中断的 请求信号通过INTR引脚送CPU,非屏蔽中断的请求信号通过 NMI引脚送CPU。
能够向CPU发出中断请求引起中断的来源称为“中断源”。常见的中断源 有:
(1)一般的输入/输出设备。如键盘、CRT终端、打印机等; (2)数据通道。如磁带、磁盘等; (3)实时时钟。如计数器芯片8253等的定时输出作为定时中断请求信 号; (4)故障信号。如电源掉电等; (5)软件中断。如为调试程序而设置的断点。
图8-1用软件查询法找中断源
⑵ 向量中断(Vectored Interrupt)
又称矢量中断。在具有向量中断的微型计算机系统中,每个外设都预先 指定一个中断向量,当CPU识别出某个外设请求中断并予以响应时,控制 逻辑就将该外设的中断向量送入CPU以自动地提供相应的中断服务程序的 入口地址,转入中断服务程序。
第8章 中断技术
本章重点
◆了解中断的基础知识,包括中断和中断源、 中断处理过程、中断优先级和中断嵌套
◆了解8086/8088的中断系统 ◆重点掌握可编程中断控制器8259A的功能、
结构与编程应用
8.1 中断技术概述
8.1.1中断源与中断源识别
1.中断和中断源
中断是指CPU暂时中止正在执行的程序,转去执行请求中止的那个内、 外部事件的服务程序,待该服务程序处理完毕后又返回到被中止的程序处 继续执行程序的现象。计算机所具有的这种功能,称为中断功能。为了实 现中断功能而设置先级有中断链法和编码-比较法两种。图8-3给出了为 实现硬件查询的优先级中断链法的硬件电路(Daisy-chaining)。
图8-3 优先级中断链电路图
图8-4给出了中断优先级编码-比较器组成的中断优先级排队电路。
图8-4 编码器和比较器的优先级的优先级排队电路
3.中断的嵌套
当CPU执行优先级较低的 中断服务程序时,允许响 应优先级更高的中断源请 求的中断,而挂起正在处 理的中断,这就是中断嵌 套或称多重中断。
多个中断源单一中断请求 线的中断处理过程的流程 图如图8-5所示。
多重中断流程与单级中断流程相比,有以下几点不同:
(1)应加入屏蔽本级和较低级中断请求的环节。 (2)开始执行中断服务程序之前,要开放中断系统。 (3)中断服务程序结束之后,为了使恢复现场过程不受到任何中断请求 的干扰,必须安排关中断指令,中断关闭后才能恢复现场。 (4)恢复现场后应该安排开中断指令,重新开放中断,这样才能允许处 于等待状态的中断请求被CPU响应。
3.中断的用途
(1)并行操作。
(2)实现实时处理。
(3)故障处理。
8.1.2 中断处理过程
微型计算机系统的中断处理过程的流程如图8-2所示。中断处理过程包括 中断请求、中断判优、中断响应、中断处理和中断返回五个阶段。
图8-2 中断响应流程图
1. CPU响应中断的条件
(1)设置中断请求触发器 (2)设置中断屏蔽触发器 (3)设置中断允许触发器的状态 (4) CPU在现行指令结束后响应中断
2.中断源识别
CPU要对中断请求进行处理,就必须知道是哪个中断源引起了中断,读取 它的中断类型码,根据中断类型码查找中断向量表,获得对应的中断服 务程序的入口地址,这就是中断源的识别。识别中断源有两种方法,即 查询中断和向量中断。 ⑴ 查询中断 由图8-1可见,如果4次测试都未发现有中断请求,则表示中断输入线 的信号是由出错引起的,程序转向出错处理。
2. CPU对中断的响应
(1)关中断 (2)保护断点 (3)识别中断源 (4)保护现场 (5)执行中断服务程序 (6)恢复现场 (7) 开中断 ⑻ 中断返回
8.1.3中断优先级管理
中断优先级管理就是指中断控制系统实现中断源按优先权排队。在微型 计算机系统中存在着多个中断源,这些中断源在某一时刻可能同时向CPU 发出中断请求,而在任何时候CPU只能为一个中断源服务。CPU确定首先 为哪一个中断源服务以及服务的次序就称为中断优先级管理。解决的方 法是用中断优先级排队的处理方法。这就是根据中断源要求的轻重缓急, 事先排好中断处理的优先次序,即优先级,先响应优先级最高的中断请