微机原理与接口技术 第八章 中断系统

合集下载

大学课程《微型计算机接口技术及其应用》课件PPT 第8章 中断

大学课程《微型计算机接口技术及其应用》课件PPT 第8章 中断
取IRR或ISR,由OCW3中P位设定读取 查询字 而A0引脚为高电平时读取的都是IMR 查询字反映8259A是否有中断请求
一个系统中,8259A可以级连,有一个主8259A, 若干个(最多8个)从8259A
级连时,主8259A的三条级连线CAS0~CAS2作 为输出线,连至每个从8259A的CAS0~CAS2
每个从8259A的中断请求信号INT,连至主8259A 的一个中断请求输入端IR
主8259A的INT线连至CPU的中断请求输入端
IF=1:可屏蔽中断会被响应
开中断、允许中断、中断开放
执行指令STI,使IF=1
执行指令IRET恢复原IF状态
8086的中断响应过程
现行指令
软件中断 N NMI N INTR N TF=1 N
下条指令
查询中断的顺序,
决定了各种中断源的优先权
Y 软件中断
除法错中断

Y 指令中断
溢出中断
×××
1 LTIM × SNGL IC4
×为中LL规SS是IITTCCNN1—1断定否II—为44GGMM—==触单LL写—0= =表都==10发片入只,,10示可10方, ,或I能, ,要 不C可以式电 边级为单 级W写 写以(:平 沿连1片 连4入 入,任建触 触方方 方IICC作意议发 发式式 式WW为为方 方:44标0,式 式)志即 ICW4规定的位全为0
个中断向量,向量号也从0开始 256个中断占用1KB区域,就形成中断向量表
8.5 8259A中断控制器
Intel 8259A是可编程中断控制器 可用于管理Intel 8080/8085、8086/8088、
80286/80386的可屏蔽中断 8259A的基本功能

微机原理与接口技术课后第八章习题答案

微机原理与接口技术课后第八章习题答案

第8章中断系统与可编程中断控制器8259A1.什么叫中断?8086微机系统中有哪几种不同类型的中断?答:在CPU执行程序的过程中,由于某个事件的发生,CPU暂停当前正在执行的程序,转去执行处理该事件的一个中断服务程序,待中断服务程序执行完成后,CPU再返回到原被中断的程序继续执行。

这个过程称为中断。

8086微机系统中有3种中断:1)外部可屏蔽中断。

2)外部不可屏蔽中断。

3)内部中断2.什么是中断类型?它有什么用处?答:通常用若干位二进制编码来给中断源编号,该编号称为中断类型号。

8086微处理器用8位二进制码表示一个中断类型,有256个不同的中断。

这些中断可以划分为内部中断、外部不可屏蔽中断、外部可屏蔽中断三类。

用处:使CPU识别中断源,从而能正确地转向该中断源对应的中断服务程序入口。

3.什么是中断嵌套?使用中断嵌套有什么好处?对于可屏蔽中断,实现中断嵌套的条件是什么?答:微处理器在处理低级别中断的过程中,如果出现了级别高的中断请求,微处理器停止执行低级中断的处理程序而去优先处理高级中断,等高级中断处理完毕后,再接着执行低级的未处理完的程序,这种中断处理方式成为中断嵌套。

使用中断嵌套的好处是能够提高中断响应的实时性。

对于某些对实时性要求较高的操作,必须赋予较高的优先级和采取中断嵌套的方式,才能保证系统能够及时响应该中断请求。

对于可屏蔽中断,实现中断嵌套的条件有:(1)微处理器处于中断允许状态(IF=1)(2)中断请求的优先级高于正在执行的中断处理程序的优先级。

(3)中断请求未被8259屏蔽。

(4)没有不可屏蔽中断请求和总线请求。

4.什么是中断向量?中断类型号为1FH的中断向量为2345H:1234H,画图说明它在中断向量表中的存放位置。

答:中断向量为每个中断服务子程序的入口地址,为32位(16位的偏移地址和16位的段地址),在中断向量表中占用4个地址单元。

在8086CPU组成的计算机系统中,采用最低的1024个地址单元(称为0页)来存储中断向量。

微机原理与接口技术——中断系统

微机原理与接口技术——中断系统

2、内部中断——软件中断
内部中断指由指令的执行或软件对标志寄存器中 某个标志的设置产生的中断
专用中断
指令中断
内部中断的种类
(1)除法出错中断 类型号为00H
除法出错中断既不是外部硬件产生,也不是用 软件指令产生,而是CPU自身产生的,因此0型中 断没有对应的中断指令,即指令系统中没有INT 0 这条指令。
30~3FH 40~FFH
DOS保留使用 DOS内部使用 DOS保留使用 用户自定义
DOS 可调用
1、外部中断——硬件中断
1、非屏蔽中断(NMI):不受中断标志位的控制,中断类型 号为2,所以中断向量放在0000:0008开始的4个单元中。NMI 中断一般用于紧急情况的处理,不受中断标志位IF影响 。 2、可屏蔽中断(INTR):受中断标志位的控制,IF=1, CPU才能响应INTR中断。CPU响应INTR中断时,往INTA引 脚上发两个负脉冲,外设接到第二个负脉冲后,立即往数据总 线上送出中断类型码,供CPU读取。
中断源
引起CPU中断的事件,发出中断请求的来源。
异常中断 内部中断
软件中断
异常事件引起 中断指令引起
可屏蔽中断 外部中断
非屏蔽中断
INTR中断 NMI中断
引入中断的原因
提高数据传输率; 避免了CPU不断检测外设状态的过程,提高了
CPU的利用率。 实现对特殊事件的实时响应。
中断系统
中断系统是指实现中断功能的软硬件的统称。功 能有: 正确识别中断请求,实现中断响应、中断处理
INTR
IRQ0 系统定时器 IRQ1 键盘 IRQ2 彩色/图形接口
8259A
IRQ3 保留(串口) IRQ4 串口
IRQ5 保留(LPT)

微机原理与接口技术第八章

微机原理与接口技术第八章

五、 8259A的初始化编程举例
包含的内容: ① 8259A的初始化 ② 完成中断向量表的设置 例:将单片8259A接入8088系统中,设计其端口地址为0FFF0H 和0FFF1H。 分析:控制字写入的时序,见下表:
A0 0 1 0 0 0 1 其连接如图所示 0 0 1 0 1 D4 D3
RD
WR
8.3 中断控制器8259A
Intel8259A是一种可编程的中断控制器,有如下功能:
1.可管理8个中断源电路的中断,并对其进行优先级管理; 2.具有8级中断优先控制,通过级连可以扩展至64级优先权控制; 3.对中断源有屏蔽或允许申请中断的操作; 4.CPU响应中断时,能自动提供中断类型码。
一、 8259A的内部结构
三、 8259A的工作过程
① 中断源 ② IRR
经IR0~IR7 请求
8259A,使IRR相应位置“1”; PR,PR 经判优,将最高INT CPU的INTR;
两个INTA
经IMR允许置位
③ 若CPU处于开中断,则完成当前指令后
8259A;
其中:8259收到第一个INTA时,a>使ISR相应位置“1”; b>使IRR相应位清“0”; 8259收到第二个INTA时
中断类型号
DB
④ 若8259工作在自动结束方式AEOI,则8259清除ISR相应位,
否则到全结束,发出EOI命令,才使ISR清“0”。
四、8259可编程命令
1. 初始化命令字 1)ICW1 --芯片控制字,格式如图所示 作用:对8259复位 a>对中断请求信号边沿检测电路复位,使信号低时产生中断 b>清除IMR c>设置全嵌套方式 2)ICW2字--中断类型号,格式如图所示 3)ICW3字--主/从片初始字(单片时不用此字) 主/从片8259A的格式分别如图所示 4)ICW4字格式--中断方式字,格式如图所示 主要用于决定8259工作于8080还是8086,以及是否要EOI命令

微机原理与接口技术[8-1]课件资料

微机原理与接口技术[8-1]课件资料
类型0的中断服务 程序入口地址 类型1的中断服务 程序入口地址 类型2的中断服务 程序入口地址
. . .
息,引导程序进入中断服务子程序,这些中断在内
存中专门开辟一个区域,存放中断向量表(也称中 断矢量表)。
00000H
中断服务程序的入口地址构成的表 称为中断向量表
00004H
00008H
0000CH
003FCH
类型255的中断服 务程序入口地址
8086的中断向量表示意图
18:01
7
§8-1 概述-中断概念
4.中断优先级
当有多个中断源请求中断时,中断系统判别中 断申请的优先级,CPU响应优先级高的中断,挂起 优先级低的中断。 当CPU在运行中断服务子程序时,又有新的更 高优先级的中断申请进入,CPU要挂起原中断进入 更高级的中断服务子程序,实现中断嵌套功能。
18:01 3
§8-1 概述-中断概念
1.中断源
当CPU正常运行程序时,由于微处理器内部 事件或外设请求,引起CPU中断正在运行的程序, 转去执行请求中断的外设(或内部事件)的中断 服务子程序,中断服务程序执行完毕,再返回被 中止的程序,该过程称为中断。 中断源:引起程序中断的事件
中断源 中断响应 中断向量表 中断优先级 中断屏蔽
§8-1 概述-Βιβλιοθήκη 中断分类1. 外部中断① 不可屏蔽中断请求
INT n 指令 INTO 指令 除法 出错 单步 TF=1
非屏蔽中断请求
NMI
中断逻辑
INTR
8259A
可 屏 蔽 中 断 请 求

由CPU的引脚NMI引入,采用边沿触发,上升沿之后维持两个时钟
周期高电平有效。

微机原理CH8 微型计算机的中断系统(ok)

微机原理CH8 微型计算机的中断系统(ok)

这一过程称为中断。
(2)特点
中断方式是一种常用的数据传送的控制方式
,利用中断可以避免不断检测外部设备状态,提 高CPU的效率。
3
第八章
2、中断源 引起程序中断的事件称为中断源。中断源有内部 中断和外部中断两种。内部中断由程序预先安排的指
令(INT n)引起,或CPU运算中产生某些错误引起;外
部中断是外部设备向CPU发出中断申请引起的。
13
第八章
2、CPU响应可屏蔽中断的过程 (1)CPU在每条指令的最后一个T周期,检测INTR,若
为高电平,且IF=1,则CPU响应中断。
(2)响应过程中自动依次完成以下工作:
① CPU向外设发两个/INTA ,外设收到第2个/INTA 后
,立即往数据线上给CPU送中断类型号。
② CPU从数据线上读取中断类型号; ③ 将PSW入栈;
8
第八章
2、内部中断(软件中断) 由三种情况引起: (1)由软中断指令INT n引起 INT n指令,类型号n(0-255)。
(2)由CPU运算错误引起
① 除法错中断:类型号0; ② 溢出中断:类型号4,由INTO指令引起的中断。
9
第八章
(3)由调试程序debug设置的中断
① 单步中断:
类型号1,TF=1时产生(当前指令需执行完), Debug状态下的T命令执行时产生;
绍可屏蔽中断的处理过程。
可屏蔽中断处理过程:
中断请求 中断响应 保护现场 转入执行中断服务子程序 恢复现场 中断返回
12
第八章
一、CPU响应可屏蔽中断过程
1、CPU响应可屏蔽中断的条件
(1)外设提出中断申请;
(2)本中断未被中断控制器屏蔽;

微机原理与接口技术(汇编)-第八章 中断技术

微机原理与接口技术(汇编)-第八章 中断技术

清除屏蔽寄存器
屏蔽寄存器是一个4位寄存器,每一位代表一个通道。 当它为1时,向该通道的DMA请求被禁止;为0时,则允 许。
控 制 器
8237A
可 编 程 定 时 器 计 数 器
8253
8253的结构和功能
8253采用N沟道MOS工艺制成,有三个独立的16 位计数器,只需要一组+5V电源。
8253的内部结构
进行下去,产生周期为N个时钟脉冲宽度的输出。
8237A

计数器0、1、2
三个计数器的内部结构相同,但相互独立。计数器 从时钟输入端接收时钟脉冲或事件计数脉冲。

控制字寄存器
控制字寄存器是8位的,只能写不能读。写入的内容 包括计数器的工作方式或计数器的初值
可 编 程 定 时 器 计 数 器
8253
8253的引脚信号
8253的功能 定时
D7
R
D6
SL
D5
EOI
D4
0
D3
0
D2
L2
D1
L1
D0
L0
8259A
中 断 控 制 器
3、OCW3用于控制读中断状态、查询 及屏蔽方式,此时要求8259A的引脚 A0为0即偶地址。
D7 X D6 ESMM D5 SMM D4 0 D3 1 D2 P D1 RR D0 RIS
例:设8259A初始化后屏蔽IR2,设置 特殊屏蔽方式,允许开放优先级低 的中断。设端口地址为20H和21H。

请求传送方式
在请求传送方式下8237A被编程为连续传送,直至遇 到T/C或外部来的 为止,或者直到DREQ不再有效为 EOP 止。

级联方式
多个8237A进行级联时,将其中一个DMAC作为主片, 其他作为从片。

微机原理与接口技术课件(铁道大学)第8章中断技术

微机原理与接口技术课件(铁道大学)第8章中断技术
2011年6月28日星期二 年 月 日星期二
章第2页共 第8章第 页共 章第 页共145页 页
第8章 中 断 技 术 章
中断是指计算机在正常执 行程序的过程中, 行程序的过程中,由于某事件
主程序 中断 的发生使CPU暂时停止当前程 申请 的发生使 暂时停止当前程 中断服务程序 入口
序的执行, 序的执行,而转去执行相关事 件的处理程序, 件的处理程序,结束后又返回 断点 原程序继续执行,这样的一个 原程序继续执行, 过程就是中断。 过程就是中断。
2011年6月28日星期二 年 月 日星期二
章第9页共 第8章第 页共 章第 页共145页 页
第8章 中 断 技 术 章
5) 中断服务 每一个中断源都有其相应的服务程序,即中断程序。 每一个中断源都有其相应的服务程序,即中断程序。当 CPU识别中断源后,就会取得其中断程序的入口地址,并转入 识别中断源后,就会取得其中断程序的入口地址, 识别中断源后 该中断程序,进行相应的中断服务。 该中断程序,进行相应的中断服务。中断服务是整个中断处理 的核心。 的核心。 6) 现场恢复 当CPU完成相应的中断服务后,利用中断服务程序,将原 完成相应的中断服务后, 完成相应的中断服务后 利用中断服务程序, 来在中断程序中用软件保存的相关信息从堆栈弹出, 来在中断程序中用软件保存的相关信息从堆栈弹出,恢复为中 断前的内容。 断前的内容。 7) 中断返回 在中断程序的最后,通过执行一条中断返回指令, 在中断程序的最后,通过执行一条中断返回指令,将IP、 、 CS及标志寄存器的内容从堆栈中弹出,使CPU返回到中断前的 及标志寄存器的内容从堆栈中弹出, 及标志寄存器的内容从堆栈中弹出 返回到中断前的 程序,并从断点处继续执行。 程序,并从断点处继续执行。

微机原理与接口-第8章 微型计算机中断系统2

微机原理与接口-第8章 微型计算机中断系统2

微机原理与接口
3)中断响应(续)
• CPU响应中断时,要做下述三项工作:
– 向中断源发出INTA中断响应信号; – 断点保护,包括CS、IP和PSW(FLAGS)。
这主要是保证中断结束后能返回被中断的程序。 – 获得中断服务程序首地址(入口)。
微机原理与接口
4)中断处理(中断服务)
• 中断服务子程序要做的工作
SP
进入中断服 务程序时
IPL IPH CSL CSH FLAGL FLAGH
中断返回后
SP
IPL IPH CSL CSH FLAGL FLAGH
IP CS FLAG
8.4 可编程中断控制器8259A
• 了解8259A的功能 • 熟悉8259A的工作方式 • 掌握8259A的编程方法 • 学会使用8259A管理计算机系统的中断 一、功能和引脚
– 外部中断
• 非屏蔽中断NMI:类型号2
• 可屏蔽中断INTR:类型号由PIC提供。IF=1时 CPU才能响应。
与中断有关的控制线为:NMI、INTR、INTA#
三、中断的向量表(IVT)
概述
所谓中断向量,实际上就是中断服务程序的入口 地址,每个中断类型对应一个中断向量即地址指针。
中断类型号通过一个地址指针表与中断服务程序 的入口地址相联,该表称为中断向量表。
微机原理与接口
VCC A0 INTA IR7
IR6 IR5 IR4 IR3
IR2 IR1 IR0 INT SP/EN
CAS2
一、功能和引脚
8259A 微机原理与接口
D7~D0:数据总线,双向,三态。用于与CPU之间 传送命令、状态、中断类型码。
RD :读信号,输入。用来通知8259把某个内部寄

第 8 章 中断——微机原理课件PPT

第 8 章  中断——微机原理课件PPT
D
2. 设置中断屏蔽触发器
在实际系统中,往往有多个中断源。为了增加控制的 灵活性,在每一个外设的接口电路中,增加一个中断屏蔽 触发器,只有当此触发器为“1”时,外设的中断请求才能 被送出至CPU。可把8个外设的中断屏蔽触发器组成一个 端口,用输出指令来控制它们的状态。
3. 中断是开放的
在CPU内部有一个中断允许触发器。只有当其为“1” 时(即中断开放时),CPU才能响应中断;若其为“0”(即中 断是关闭的),即使INTR线上有中断请求,CPU也不响应。 而这个触发器的状态可由STI和CLI指令来改变。当CPU复 位时,中断允许触发器为“0”,即关中断,所以必须要用 STI指令来开中断。当中断响应后,CPU就自动关中断, 所以必须在中断服务程序中用STI指令来开中断。
在中断服务程序的最后,要开中断(以便CPU能响应新 的中断请求)和安排一条返回指令,将堆栈内保存的IP和 CS值弹出,运行就恢复到主程序。
8.3 中断优先权
同时有多个中断源发出中断请求。
1、用软件确定中断优先权
优点: (1)程序决定优先权的次序; (2)不需要有判断与确定优先权的硬件排 队电路。
缺点:由询问转至相应的服务程序入口的时间长,尤其是在中断源较多 的情况下。
8.1.2 中断源
引起中断的原因,或能发出中断申请的来源。
中断源有以下几种: (1) 一般的输入输出设备。如键盘、行打印
机等。 (2) 数据通道中断源。如磁盘、磁带等。 (3) 实时时钟。 (4) 故障源。 (5) 为调试程序而设置的中断源。
8.1.3 中断系统的功能
1. 实现中断及返回 2. 实现优先权排队 3. 高级中断源能中断低级的中断处理
单步 中断
INTR 8259A 中断

微机原理--第八章-中断系统

微机原理--第八章-中断系统

裁决器
0
IR6
0
IR7
选 CS 译 码
RD
WR
INTA INT
ICW1 芯片控制 A0
A0
1 × I3 I4 0 1 0 0 1 0 1 0 0 1
ICW2 中断类型号 1
ICW3 主从片连接关系
1 ICW4 方式控制
1
OCW1 中断屏蔽寄存器 IMR
00
0
SP/EN
CA0
OCW2 优先级设置、发EOI
上有中断申请,则将IRR相应位置1;
总线
D0 ~ D7 A0
A5 ~ A9
IOR IOW INTA INTR
数据线 D0 ~ D7
A0
ISR 0
当前 0
中断 服务
• 非屏蔽中断 – 由NMI引脚引起的中断,称非屏蔽中断。 – 当NMI引脚上产生上升沿信号,CPU必响应此中断请 求,即NMI引脚上的中断请求不受IF标志的控制, – IF不能屏蔽NMI引脚上的中断请求。
8086/8088CPU的中断分类图
中断源
外部中断 内部中断
非屏蔽中断 可屏蔽中断 内部硬件中断
SP/EN CA0 CA1 CA2
GND
+ 5V
电子钟时间基准
键盘 保留 串 口2 串 口1 硬盘 软盘 打印机
用于多片 8259A
级连情况
7.3.4 8259A的控制字
8259A中断控制器
处理部分
0
ISR 0
当前 0
中断 0
服务 0
寄存器
0 0
0
IRR
中断申请
0 0
寄存器 0
0
PR
0
优先级

微机原理第八章:中断技术讲解

微机原理第八章:中断技术讲解
二、中断(zhōngduàn)源识别及中断(zhōngduàn) 判优
1.中断源识别
★ 软件查询法:
★ 中断矢量法:中断源提供中断类型号,CPU根据类型确定中断源 2.中断判优
★ 对同时产生的中断,首先处理优先级别较高的中断;
若优先级别相同,则按先来先服务的原则。
★ 对非同时产生的中断:
低优先级的中断程序允许被高优先级的中断源所中断
1.中断服务子程序的特点: 为“远过程”,用 IRET 指令返回
2.中断服务程序完成的工作
1)保护现场(通用寄存器的内容)
2)开中断(STI)
3)中断处理
4)关中断(CLI)
5)恢复现场 6)IRET
中断服务程序结构
保护有关寄存器内容 开中断
执行中断服务程序 关中断
恢复有关寄存器内容 执行IRET
精品资料
④ 执行 IRET 指令
4.退出中断(zhōngduàn) ① 关中断(zhōngduàn)
退

② 恢复现场中
③ 恢复断点 ④ 开中断(zhōngduàn) 断
精品资料
关中断 保存断点,保存现场
判别中断源 转入中断服务程序 保护寄存器、开中断 执行中断服务程序
IRET
关中断 恢复现场,恢复断点
开中断
STOSW
;串存储(字)
;AX→ES∶[DI]、 [DI+1]
MOV AX,SEG_INTR
;中断服务程序段基址送AX
STOSW
;串存储(字)
STI
;开中断
精品资料
2.用 MOV将直接(zhíjiē)中断向量写入中断向量表中
;将中断向量直接(zhíjiē)写入中断向量表中的程序段为
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中断判优 (判别中断源的优先级)
若符合中断条件和优先权,CPU接受中断 请求,进入中断响应阶段
中断过程
中断响应
① 保存断点地址(一般采用堆栈,有的采用寄存器) ② 利用中断向量表将指令指针指向中断服务程序入口 在中断响应里,要完成断点保存、标志寄存器保存、
关中断等,部分操作由CPU自动完成,用户也需要 完成一些操作。
中断源的优先级是默认确定的 对于用户和开发人员,需要确定和处理实际
外中断源的优先级。
中断优先级排队
软件查询实现
优点是接口简单、编程简单、应用面广 缺点是不够灵活
中断优先级排队
中断服务程序首先读入锁存器的内容,然后对于读入的内容从D7(对 应高优先级)到D0(对应低优先级)进行查询。如果查到某一位是高 电平(有申请)就跳转到相应的服务程序进行处理。处理完毕后返回 来继续查询,直到查询完毕,退出服务程序。相应的程序段如下:
数为0,或者商的值超过了寄存器可以
存放的范围就自动启动
1
单步中断

通过TF=1来启动,用于调试程序
2
非屏蔽中断

保留给外部的非屏蔽中断请求。所有
非屏蔽中断源都触发一个中断服务程序,
需要通过查询方式来分别处理
3
断点中断
INT 3
单字节指令,程序执行到断点处会
停下,显示所有寄存器的值。也可进行
其他调试。
中断服务
执行中断服务程序
中断返回
返回到正常程序的断点
8.2 8086中断系统
8086的中断源
256个不同的中断,中断类型号的取值是00H~FFH 中断分为软中断和硬中断,硬中断又分为非屏蔽中
断和可屏蔽中断 非屏蔽中断的请求从NMI引脚输入。可屏蔽中断的
请求从INTR引脚输入 软中断是通过指令 INT n
8086CPU按默认的中断优先级查询,但多个INTR中断同时 申请的排队问题由中断接口电路来解决。
8086获取了中断类型号以后,进行 :
标志寄存器的值入堆栈 标志IF和TF清零,即中断服务程序CPU处于关中断状态 断点的CS和IP入堆栈 根据中断类型号查中断向量表,将中断服务程序入口地址写入
可屏蔽中断的中断周期
8086收到INTR引脚上的申请后,如果CPU处于开中 断状态,则响应可屏蔽中断,要进入中断响应周期。
中断响应周期需要两个总线周期,共8个T状态 其他类型的中断,不进入中断响应周期,也不需要外
设传送中断类型号
8086的中断向量表
8086的中断向量表存储向量中断,即中断服 务程序的入口地址,位于存储器的0~3FFH地 址,共1024字节。为256个中断类型号每个 分配4字节。
例如:8086CPU硬中断的非屏蔽中断是无条件中 断,硬中断的可屏蔽中断是条件中断。
有时CPU根据自己的工作状态会切换系统的开关 中断状态
中断优先级
中断优先级 (原因)
可以有序处理多个中断源对CPU的同时申请, CPU优先处理优先级高的中断;
可以允许中断嵌套。
中断嵌套的规则:
对于大多数系统,只有高优先级的中断源可以打 断低优先级中断的服务;低级中断,或者同级中 断原则上是不能要求中断嵌套的。
第八章 中断系统
《微机原理与接口技术》 杜秀川
8.1 中断的基本概念
中断是CPU和外部设备交换数据的一种方式。 当CPU正常运行程序时,用户通过某种方式向
CPU请求为自己服务,CPU接收请求暂时中断 正在运行的程序,转去执行直接为用户服务 的服务程序,执行完毕后再返回被中断的程 序。这一过程被称为中断。 中断的作用
并行操作,提高工作效率 实现实时处理 及时处理紧急情况(如故障等)
中断源
能够导致CPU产生中断的来源
硬中断源 (外中断) ——由外部请求引起的中断 软中断源 ——由指令执行引起的中断
中断源
(1)一般的输入输出设备 (INTR) 键盘,打印机,鼠标等。
(2)数据通道中断源 (INTR) 软盘,硬盘等。
其中的 n 可以是 0 ~ 255。如DOS中断调用就是 INT 21H。 对于 n 为0 ~ 4的5种软中断是属于8086的专用中断,它们
的功能是固定的。 其余的中断类型号既可以分配给软中断使用,也可以分配
给可屏蔽中断使用。
中断类型号0~4
中断类型号 0
用途 除法溢出
对应的指令
说明

使用DIV或者IDIV指令时,如果除
一条“结束中断”的命令 中断返回指令是IRET,一般的子程序用RET。
中断服务程序时CPU是关中断状态,若允许中断嵌套, 则在中断服务程序的开始写一条开中断指令:STI。
(4)中断返回,使用IRET指令 IRET指令的具体操作是:
IP←(SP), SP←SP+2 CS←(SP),SP ←SP+2 F←(SP),SP←SP+2
CPU负责从中断向量表读出中断矢量。而用户需要将中 断服务程序的入口地址写入中断向量表。
8086的中断向量表
写入中断向量表的方法 (1)直接写入法:使用指令将中断服务程序入口地址的IP写入n×4
的RAM位置,中断服务程序入口的CS写入n×4+2的位置。
例8-2 若中断类型号n=70H,中断服务程序的过程名是INTSUB。借助 伪指令和传送指令,将中断服务程序入口地址写入中断向量表。
8.3 可编程中断控制器8259A及其应用
8259A是可编程中断控制器,用于多个INTR中断源的 中断接口电路,但不适合NMI中断源。
向量中断 ,一般位于系统的RAM区域(使 用比较灵活),存放的是中断向量。中断 向量是中断服务程序的入口地址。
中断向量表
指令型中断向量表
矢量中断的中断向量表
中断类型号
中断过程
中断申请
除软中断外,外部设备向CPU发送的中断 请求信号(电平信号或脉冲信号)
需要注意外部设备发出的请求信号和CPU 的要求是否一致。如果不一致,就要通过 接口电路来解决。
XOR
AX, AX
MOV
ES, AX
; 段地址为0
MOV
BX, 70H*4
; 中断类型号×4
MOV
AX, OFFSET INTSUB ; 中断服务程序的偏移地址
MOV

ES:[BX], AX
MOV
AX, SEG INTSUB
; 中断服务程序的段地址
MOV
ES:[BX+2], AX
8086的中断向量表
8086的中断向量表
写入中断向量表的方法 (1)直接写入法
例8-3 不借助伪指令,直接用指令将中断服务程序INTSUB的入口地址 写入中断向量表,中断类型号仍然是70H。
答案 解:为不影响DS,在程序段中使用了ES寄存器。先将ES的值置为0; 在使用MOV指令时通过段超越,指定使用ES的值为段地址。
IN CLC RCR JC A1: RCR JC A2: …… …… INTS01: …… JMP INTS02: …… JMP ……
AL, PORT_R AL, 1 INTS01 AL, 1 INTS02
A1 A2
; PORT_R是锁存器地址
; 转向故障处理 ; 转向告警处理
中断优先级排队
硬件优先权排队电路 步骤 :
例8-4 设中断类型号为70H,中断服务程序是INTSUB,用DOS功能调用25H将中断服务 程序入口地址写入中断向量表。
答案
PUSH DS
MOV AX, SEG INTSUB
MOV DS, AX
LEA DX, INTSUB
MOV AL, 70H
MOV AH, 25H
INT 21H
POP DS
8086的中断过程
CS和IP 开始执行中断服务程序
8086的中断过程
8086响应中断的过程
TF=0
8086的中断过程
8086中断过程的特点:
(3)中断服务 ,服务子程序和一般的子程序基本相同, 不同点:
中断服务程序都是远过程,要用“PROC FAR” 标志寄存器入堆栈保护,一般的子程序要用PUSHF 中断接口电路可能要求在中断服务程序结束时向接口电路发送
8086中断过程的特点:
(1)中断申请(包括NMI、INTR)都是高电平有效,高电平延 续的时间不能小于2个CPU的时钟周期。且中断返回前必须 结束。
(2)中断响应,是8086在执行完当前指令后才开始,软中断 和NMI中断,直接提取中断类型号。而对于INTR中断,要 进入中断响应周期,读取外设发送过来的中断类型号。
试问中断类型号n=4的中断服务程序入口地址是什么?
答案 解:先计算查找中断向量表的位置: 4×4 = 16 = 10H 读出中断入口的偏移地址是0465H; 4×4+2 = 18 =12H 读出中断入口的段地址是0070H; 所以,从这个向量表查到的4号中断服务程序的入口地址是: 0070H×10H+0465H = 00B65H
4
溢出中断
INTO
单字节指令,更好的处理运算溢出的
问题。运算后如果有溢出,不会自行启
动溢出中断,必须通过INTO指令。
8086的中断源
只有可屏蔽中断是条件中断,必须CPU在开中断状态下才可以响应 存在多个中断源,先响应高优先级的中断源。 中断源的优先级固定:
除法溢出中断→INT n →INTO →NMI→INTR →单步中断(最低) 外中断源的优先级问题由中断接口电路来处理。
中断服务程序都是远调用,所以要存储入口 的偏移地址和段地址。
低2个字节(n×4)是中断入口的IP ,高2个 字节(n×4+2)是中断入口的CS。
8086的中断向量表
例8-1 如果在DEBUG环境中观察到8086中断向量表 (部分)的内容如下:
相关文档
最新文档