第7章 中断系统和中断控制器8259A
合集下载
机电-第7章中断系统和中断控制器8259A
第 7 章中断系统和中断控制器 8259A
1.中断原理 2.8086 CPU中断系统 3.可编程中断控制器8259A 4.PC/XT机的中断结构
第一节 中断和中断系统 1. 什么是中断
中断:是指CPU在正常运行程序时,由 于内部/外部事件或由程序预先安排的 事件,引起CPU中断正在运行的程序, 转去为该事件服务。服务完毕,再返回 去继续运行被暂时中断的程序的过程。 中断服务(处理) 程序、断点
3. 中断优先权
(1) 软件查询方式
●软件查询优先方式是最简单的中断优先处理方式。图6.5显 示了采用软件查询方式的接口电路。 保留现场 Y 外设A中断服务程序 Y 外设B中断服务程序 Y 外设C中断服务程序 图4 软件查询方式流程 图
A申请服务?
N B申请服务? N C申请服务? N 恢复现场
查询程序有屏蔽法和位移法两种安排方式。 1)屏蔽法 MOV DX,380H IN AL,DX;输入中断请求触发器的状态 TEST AL,80H;检查最高位(外设A)是否有请求 JNZ AIS;有,则转至外设A服务程序 TEST AL,40H;否,检查外设B是否有请求 JNZ BI5;有,转至外设B服务程序 TEST AL,20H;否,检查外设C是否有请求 JNZ CIS;有,转至外设C服务程序 2)位移法 MOV DX,380H IN AL,DX RCL AL,1 JC AIS RCL AL,1 JC BIS 采用查询中断,对应的中断输入线有一个固定的中断入口地址,进入中断服 务程序后首先就是查询中断源。查询的次序,即是优先权的次序,显然,最先被 查询的,优先权的级别最高。
前像素代码。
● FFFF0H 启动地址。一般用来存放一条无条件转移指令,转到系统
初始化程序。
1.中断原理 2.8086 CPU中断系统 3.可编程中断控制器8259A 4.PC/XT机的中断结构
第一节 中断和中断系统 1. 什么是中断
中断:是指CPU在正常运行程序时,由 于内部/外部事件或由程序预先安排的 事件,引起CPU中断正在运行的程序, 转去为该事件服务。服务完毕,再返回 去继续运行被暂时中断的程序的过程。 中断服务(处理) 程序、断点
3. 中断优先权
(1) 软件查询方式
●软件查询优先方式是最简单的中断优先处理方式。图6.5显 示了采用软件查询方式的接口电路。 保留现场 Y 外设A中断服务程序 Y 外设B中断服务程序 Y 外设C中断服务程序 图4 软件查询方式流程 图
A申请服务?
N B申请服务? N C申请服务? N 恢复现场
查询程序有屏蔽法和位移法两种安排方式。 1)屏蔽法 MOV DX,380H IN AL,DX;输入中断请求触发器的状态 TEST AL,80H;检查最高位(外设A)是否有请求 JNZ AIS;有,则转至外设A服务程序 TEST AL,40H;否,检查外设B是否有请求 JNZ BI5;有,转至外设B服务程序 TEST AL,20H;否,检查外设C是否有请求 JNZ CIS;有,转至外设C服务程序 2)位移法 MOV DX,380H IN AL,DX RCL AL,1 JC AIS RCL AL,1 JC BIS 采用查询中断,对应的中断输入线有一个固定的中断入口地址,进入中断服 务程序后首先就是查询中断源。查询的次序,即是优先权的次序,显然,最先被 查询的,优先权的级别最高。
前像素代码。
● FFFF0H 启动地址。一般用来存放一条无条件转移指令,转到系统
初始化程序。
《微机原理与接口》知识点第7章中断控制器8259
五、引入中断请求的方式
1、边沿触发方式
特点:将中断请求输入端出现的上升沿作为中断请求信号。
2、电平触发方式 特点:将中断请求输入端出现的高电平作为中断请求信号。
3、中断查询方式 特点: 1.外设通过向8259A发中断请求信号要求CPU服务。
2.CPU内部的中断允许触发器复位。
3.CPU使用软件查询来确认中断源。
第7章 中断控制器
7.1 8259A概述
7.2 8259A的引脚信号、编程结构和工作原理 7.3 8259A的工作方式 7.4 8259A的初始化命令字和操作命令字
7.5 8259A使用举例
第7章 中断控制器8259A 重点: 1、8259A的编程结构和工作原理 2、8259A的初始化命令字、操作命令字 3、8259A的初始化流程和初始化编程 4、8259A的应用
;×××10×11B ;设置ICW1 ;00011000B~ 00011111B ;设置ICW2 ;00000001B ;设置ICW4
三、8259A的操作命令字
1、OCW1 :中断屏蔽操作命令字
D7 M7 D6 M6 D5 M5 D4 M4 D3 M3 D2 M2 D1 M1 D0 M0 A0 1
中断 触发 方式
A0
0
是否设 置ICW4 规定单片或 级连方式
1:设置ICW4 0:不设ICW4
1:单片方式 0:级连方式
2、ICW2 :设置中断类型码初始化命令字
ICW2高五位与中断类型码的高五位相同。 注:该命令字必须写入“奇地址”端口,即A0=1。
3、ICW3 :标志主/从片初始化命令字
D7 D6 D5 D4 D3 D2 D1 D0
特点:发结束命令时,指令内不指定清除ISR中的哪一位, 由8259A自动将最高优先级对应的ISR中非零位复位,结 束当前正在处理的中断。 用于全嵌套方式。
第7章 (7-2)中断控制器8259
应用领域:非全嵌套方式下
方法: 使OCW2的 EOI=1, SL=1, R=0 L2,L1,L0 三位指出要对哪一个IS进行复位。
2020/5/14
30
4. 连接系统总线的方式
有两种方式。
(1)缓冲方式
• 8259A通过总线驱动器和CPU数据总线相连。 • SP/ EN作输出,作为总线驱动器的使能信号。 • 用于多片8259A的大系统中。 • 在初始化编程中指出主片、从片。
有多种结束方式
2020/5/14
26
(1)自动结束中断方式 (AEOI)
•当一个中断得到响应时,8259A在收到第二个中断响 应负脉冲后自动清ISR中的相应位。 •仅用于多个中断不会出现嵌套的单级系统中。
2020/5/14
27
(2)普通命令结束中断方式 (普通EOI)
•在中断处理程序返回前,CPU用输出指令向8259A发一个一般 (或叫普通)中断结束命令字EOI ,8259A将当前ISR中优先 级别最高的非零位(正在服务的最高优先级)清零。 • 若没有EOI 命令字,则ISR对应为仍维持1,同级或低优先级 的中断请求将不会得到响应。
2020/5/14
31
(2) 非缓冲方式
• 8259A直接和CPU数据总线相连。 • SP/ EN作输入。单片系统接“1”,多片系统
则主接“1”,从接“0”。
2020/5/14
32
5. 引入中断请求的方式
(1) 边沿触发方式 通过ICW1来设置。
2020/5/14
33
(2) 电平触发方式 通过ICW1的控制位设置。
D7,D6,D5在8086系统中无意义
2020/5/14
无意义
1:单片 0:级联
方法: 使OCW2的 EOI=1, SL=1, R=0 L2,L1,L0 三位指出要对哪一个IS进行复位。
2020/5/14
30
4. 连接系统总线的方式
有两种方式。
(1)缓冲方式
• 8259A通过总线驱动器和CPU数据总线相连。 • SP/ EN作输出,作为总线驱动器的使能信号。 • 用于多片8259A的大系统中。 • 在初始化编程中指出主片、从片。
有多种结束方式
2020/5/14
26
(1)自动结束中断方式 (AEOI)
•当一个中断得到响应时,8259A在收到第二个中断响 应负脉冲后自动清ISR中的相应位。 •仅用于多个中断不会出现嵌套的单级系统中。
2020/5/14
27
(2)普通命令结束中断方式 (普通EOI)
•在中断处理程序返回前,CPU用输出指令向8259A发一个一般 (或叫普通)中断结束命令字EOI ,8259A将当前ISR中优先 级别最高的非零位(正在服务的最高优先级)清零。 • 若没有EOI 命令字,则ISR对应为仍维持1,同级或低优先级 的中断请求将不会得到响应。
2020/5/14
31
(2) 非缓冲方式
• 8259A直接和CPU数据总线相连。 • SP/ EN作输入。单片系统接“1”,多片系统
则主接“1”,从接“0”。
2020/5/14
32
5. 引入中断请求的方式
(1) 边沿触发方式 通过ICW1来设置。
2020/5/14
33
(2) 电平触发方式 通过ICW1的控制位设置。
D7,D6,D5在8086系统中无意义
2020/5/14
无意义
1:单片 0:级联
第7章中断控制器8259An共104页文档
第7章 中断控制器
❖ 中断控制器的功能:接收外部的中断请求,进行 判断,选中优先级最高的中断请求,送到CPU的 INTR端;CPU响应中断进入中断子程序时,负责 对外部中断请求管理,可实现中断嵌套。
第7章 中断控制器
❖ 7.1 8259A的引脚信号、编程结构和工作原理 ❖ 7.2 8259A的工作方式 ❖ 7.3 8259A的初始化命令字和初始化流程 ❖ 7.4 8259A的操作命令字 ❖ 7.5 8259A的使用举例 ❖ 7.6 多片8259A组成的主从式中断系统
方法:ICW4中AEOI位为1。
2020/5/24
2)一般中断结束方式
❖ 配合全嵌套优先权方式使用。 ❖ 当CPU用输出指令往8259A发出一般中断
结束命令(EOI)时,8259A就会把当前 中断服务寄存器优先权最高的IS位复位。
2020/5/24
3)特殊中断结束方式
❖ 配合非全嵌套方式使用。 ❖ CPU在程序中向8259A发送一条特殊中断
中断服务寄存器ISR
保存正在被8259A服务着的中断状态 Di位为1表示IRi中断正在服务中;为0表示没有被服务
中断屏蔽寄存器IMR(OCW1)
保存对中断请求信号IR的屏蔽状态 Di位为1表示IRi中断被屏蔽(禁止);为0表示允许
2020/5/24
7. 2 8259A的工作方式
1. 设置优先级的方式 (1) 全嵌套方式 (2) 特殊全嵌套NTA IR4
IR5 INT IR6
IR7 SP/EN
7.1 8259A的引脚信号、编程结构和工作原理
1. 8259A的外部引脚信号:
① D7~D0 数据线 ② INT 中断请求信号 ③ INTA# 中断应答信号 ④ RD# 读出信号 ⑤ WR# 写入信号 ⑥ CS# 片选信号 ⑦ A0 端口选择信号 ⑧ IR7~IR0 I/O中断请求信号 ⑨ CAS2~CAS0 从片选择信号 ⑩ SP#/EN# 主片和从片的选择和驱动信号
❖ 中断控制器的功能:接收外部的中断请求,进行 判断,选中优先级最高的中断请求,送到CPU的 INTR端;CPU响应中断进入中断子程序时,负责 对外部中断请求管理,可实现中断嵌套。
第7章 中断控制器
❖ 7.1 8259A的引脚信号、编程结构和工作原理 ❖ 7.2 8259A的工作方式 ❖ 7.3 8259A的初始化命令字和初始化流程 ❖ 7.4 8259A的操作命令字 ❖ 7.5 8259A的使用举例 ❖ 7.6 多片8259A组成的主从式中断系统
方法:ICW4中AEOI位为1。
2020/5/24
2)一般中断结束方式
❖ 配合全嵌套优先权方式使用。 ❖ 当CPU用输出指令往8259A发出一般中断
结束命令(EOI)时,8259A就会把当前 中断服务寄存器优先权最高的IS位复位。
2020/5/24
3)特殊中断结束方式
❖ 配合非全嵌套方式使用。 ❖ CPU在程序中向8259A发送一条特殊中断
中断服务寄存器ISR
保存正在被8259A服务着的中断状态 Di位为1表示IRi中断正在服务中;为0表示没有被服务
中断屏蔽寄存器IMR(OCW1)
保存对中断请求信号IR的屏蔽状态 Di位为1表示IRi中断被屏蔽(禁止);为0表示允许
2020/5/24
7. 2 8259A的工作方式
1. 设置优先级的方式 (1) 全嵌套方式 (2) 特殊全嵌套NTA IR4
IR5 INT IR6
IR7 SP/EN
7.1 8259A的引脚信号、编程结构和工作原理
1. 8259A的外部引脚信号:
① D7~D0 数据线 ② INT 中断请求信号 ③ INTA# 中断应答信号 ④ RD# 读出信号 ⑤ WR# 写入信号 ⑥ CS# 片选信号 ⑦ A0 端口选择信号 ⑧ IR7~IR0 I/O中断请求信号 ⑨ CAS2~CAS0 从片选择信号 ⑩ SP#/EN# 主片和从片的选择和驱动信号
第七章--中断系统和中断控制器8259APPT课件
中断源随机发出中断请求信号,CPU 在现行指令周期结束时,才检测有 无中断请求。
发出中断请求的条件:外部设备已准 备好,且该外设的中断请求没有被 系统评屏蔽。
-
5
2. 中断排队和中断响应
概念:CPU接收到中断请求后,从 中止现行程序到转向中断服务程序 入口的过程,称为中断响应。
条件:
1)中断是开放的;
中断类型号×4——该中断向量在表中 起始单元的地址。
寻找4个连续存储单元,获得IP及CS
-
25
17H*4=90H IP
46 00H
CS 3B A4H
例 n=24H
00H 46H A4H 3BH
0000:0090H 0000:0091H 0000:0092H 0000:0093H
中断处理子程序
3BA4:4600H
1) AH中预置功能号25H;
2) AL中预置中断类型码; 3 ) DS:DX中预置中断服务程序的人口地址 (段地址和偏移地址分别置人DS和DX)。 预置完以上参数后,执行INT21H指令就可把 中断服务程序的人口地址置人中断向量表 中适当的位置。
-
29
例7-2 设中断服务程序的人口地址为INTSUB,
1)AL中预置入中断类型码;
2)AH中预置入功能号35H。
执行INT21H指令,ES和BX中分别是中断 服务程序入口地址的段地址和偏移地址。
-
31
7.2.4 8086/8088的中断处理过程
中断处理过程包含:中断请求、中断 排队、中断响应、中断服务和中断返 回。
1. 中断响应条件,有内部中断发生或 NMI /INTR引脚上有效中断请求信号 且IF=1时,待CPU执行完当前指令后 方能响应中断。
发出中断请求的条件:外部设备已准 备好,且该外设的中断请求没有被 系统评屏蔽。
-
5
2. 中断排队和中断响应
概念:CPU接收到中断请求后,从 中止现行程序到转向中断服务程序 入口的过程,称为中断响应。
条件:
1)中断是开放的;
中断类型号×4——该中断向量在表中 起始单元的地址。
寻找4个连续存储单元,获得IP及CS
-
25
17H*4=90H IP
46 00H
CS 3B A4H
例 n=24H
00H 46H A4H 3BH
0000:0090H 0000:0091H 0000:0092H 0000:0093H
中断处理子程序
3BA4:4600H
1) AH中预置功能号25H;
2) AL中预置中断类型码; 3 ) DS:DX中预置中断服务程序的人口地址 (段地址和偏移地址分别置人DS和DX)。 预置完以上参数后,执行INT21H指令就可把 中断服务程序的人口地址置人中断向量表 中适当的位置。
-
29
例7-2 设中断服务程序的人口地址为INTSUB,
1)AL中预置入中断类型码;
2)AH中预置入功能号35H。
执行INT21H指令,ES和BX中分别是中断 服务程序入口地址的段地址和偏移地址。
-
31
7.2.4 8086/8088的中断处理过程
中断处理过程包含:中断请求、中断 排队、中断响应、中断服务和中断返 回。
1. 中断响应条件,有内部中断发生或 NMI /INTR引脚上有效中断请求信号 且IF=1时,待CPU执行完当前指令后 方能响应中断。
【微机原理】第7章中断控制器8259A微课
看 书
接
中
听
断 请
电
求
继续
话
中断响应
看书
这个例子就表现了中断及其处理过程。 中断处理
7.1.1 中断方式的提出
日常生活中中断的实例
为了说明这个问题,再举一例: 在厨房用煤气烧一壶水,必须要做的是水烧开后
及时关掉煤气灶,否则水溢出来浇灭了煤气,就有可 能要发生一场灾难。为了这么个一秒钟就能完成的动 作,你必须在水快开的时间里不停的看壶嘴是不是冒 蒸汽,什么事也干不了。
(TYPE×4) → IP (TYPE×4+2)→ CS
如 INT指令执行过程
[例] 设CS=1000H,SS=2000H,IP=3000H, SP=3000H,指令
INT 30H 的执行过程如图所示。
00H 000C0H
40H 000C1H
00H 000C2H
CS 1000H
INT30H 机器码
7.1.1 中断方式的提出
计算机执行程序中的中断 主程序 中断响应
中断请求 断点
中断服 务子程 序
主程序
中断返回
7.1.1 中断方式的提出
计算机执行程序中的中断
在计算机中执行程序(主程序)的过程中,由 于出现某个特殊情况(或称为“中断事件”),使得 暂时中止现行程序(主程序),而转去执行处理这一 事件的处理程序(中断服务程序),处理程序(中断 服务程序)执行完毕之后再回到原来程序(主程序) 的中断点继续向下执行,这个过程就是中断。
7.1.2 中断的功能
中断技术的功能
(1)实现CPU与外设并行及分时操作。 ※并行操作----是指CPU和多个外设并行工作。 ※分时操作----是指CPU可以分时执行多个用户程 序和多道作业。
微机原理与接口技术_07可编程中断控制器8259A.概要
2019/1/3
15
7.4 8259A的编程
2019/1/3
16
7.4.1 初始化编程
• 8259A是可编程的中断控制器,8259A是按照事先设置好 的命令字进行工作的。8259A的命令字分为两部分,一部 分是初始化命令字(Initialization Command Word, ICW )ICW1~ICW4,另一部分是操作命令字(Operation Command Word, OCW)OCW1~OCW3。8259A有2 个内部端口地址,一个偶地址(A0=0),另一个是奇地 址(A0),用来选择不同的寄存器。
2019/1/3
9
7.3 8259A的工作方式
2019/1/3
10
7.3.1 中断优先级管理方式
• 1.固定优先级方式(完全嵌套排序方式) • 固定优先级方式是 8259A最常用的一种工作方式。优先 级的次序固定:IR0>IR1>…> IR7。 • 2.自动循环优先级方式(等优先级方式) • 在自动循环优先级方式下,任何一级中断处理完后, CPU都会向8259A发送EOI命令,使ISR中最高优先级位 复位,并且使它变为最低优先级,比它低一级的中断请 求设为最高级,就这样依次循环下去。
第
7章 可编程中断控制器
8259A
1
2019/1/3
本章主要内容
7.1 8259A的基本结构 7.2 8259A芯片的工作过程 7.3 8259A的工作方式 7.4 8259A的编程 7.5 8259A的应用
2019/1/3
2
7.1 8259A的基本结构
2019/1/3
3
7.1.1 内部结构
2019/1/3
第7章 中断控制器
全嵌套方式
8259A在初始化工作完成后若未设定其它的工作方式, 在初始化工作完成后若未设定其它的工作方式, 在初始化工作完成后若未设定其它的工作方式 就自动进入全嵌套方式 全嵌套方式特点 特点: 全嵌套方式特点: 1、中断请求的优先级固定,其顺序是 优先级固定, 最高,逐 、中断请求的优先级固定 其顺序是IR0最高 逐 最高 次减小, 次减小,IR7最低 最低 2、中断服务寄存器 、中断服务寄存器ISR保存优先权电路确定的优先 保存优先权电路确定的优先 级状态,相应位置“ ,并且一直保持这个服务“记录” 级状态,相应位置“1”,并且一直保持这个服务“记录” 状态,直到CPU发出中断结束命令为止 状态,直到 发出中断结束命令为止 3、在ISR置位期间,不再响应同级及较低级的中断 置位期间, 、 置位期间 请求,而高级的中断请求如果CPU开放中断的话仍能够得 开放中断的话仍能够得 请求,而高级的中断请求如果 到中断服务 4、IR7~IR0的中断请求输入可分别由中断屏蔽寄存 、 的中断请求输入可分别由中断屏蔽寄存 的相应位屏蔽与允许, 器IMR的D7~D6的相应位屏蔽与允许,对某一位的屏蔽 的 的相应位屏蔽与允许 与允许, 与允许,操作不影响其它位的中断请求操作 全嵌套工作方式由ICW4的D4=0来确定 全嵌套工作方式由 的 来确定 17
10
可编程中断控制器8259A 第二节 可编程中断控制器 1. 8259A的引脚 的引脚 2. 8259A的中断顺序 的中断顺序 3. 8259A的编程 的编程 4. 8259A的工作过程 的工作过程
11
8259A中断控制器 中断控制器
Intel 8259A是可编程中断控制器 是可编程中断控制器PIC 是可编程中断控制器 可用于管理Intel 8080/8085、 可用于管理 、 8086/8088、80286/80386的可屏蔽中 、 的可屏蔽中 断 8259A的基本功能 的基本功能
硬件技术基础第七章中断系统
CPU响应中断的条件和过程 CPU响应中断的条件和过程
恢复现场 把所保存的各个内部寄存器的内容和标志位的状态从 堆栈弹出,送回CPU中的原来位置。这个操作在8088 CPU中的原来位置 8088中也 堆栈弹出,送回 CPU中的原来位置。这个操作在8088 中也 是由服务程序中用POP指令来完成的。 POP指令来完成的 是由服务程序中用POP指令来完成的。 开中断与返回 在中断服务程序的最后,要开中断(以便CPU CPU能响应 在中断服务程序的最后,要开中断(以便 CPU能响应 新的中断请求)和安排一条返回指令,将堆栈内保存的IP 新的中断请求)和安排一条返回指令,将堆栈内保存的IP CS值弹出 程序就恢复到主程序中运行。 值弹出, 和CS值弹出,程序就恢复到主程序中运行。
中断系统
教学目的和要求
本章主要介绍中断的基本概念 , 中断响应过程 , 8088的中断方式 的中断方式, PC/XT的中断方式 的中断方式, 8088的中断方式,IBM PC/XT的中断方式,之后又介绍了 中断控制器8259 重点掌握中断概念、中断响应过程、 8259, 中断控制器 8259 , 重点掌握中断概念 、 中断响应过程 、 8088中断方式 中断方式。 8088中断方式。
中断系统
中断的屏蔽:有些中断源产生的中断,可以用编程的方法, 中断的屏蔽:有些中断源产生的中断,可以用编程的方法, CPU不予理睬 不予理睬。 使CPU不予理睬。 CPU响应中断转去执行中断服务程序前, CPU响应中断转去执行中断服务程序前,需要把被中 响应中断转去执行中断服务程序前 断程序的现场信息保存起来,以便执行完中断服务程序后, 断程序的现场信息保存起来,以便执行完中断服务程序后, 接着从被中断程序的断点处继续往下执行,这些现场信息 接着从被中断程序的断点处继续往下执行, 包括程序计数器的内容、CPU的状态信息 的状态信息、 包括程序计数器的内容、CPU的状态信息、执行指令后的 结果特征和一些通用寄存器的内容。 结果特征和一些通用寄存器的内容。 中断处理的隐操作: 中断处理的隐操作:有些信息的保存如程序计数器的内容 等由机器硬件预先安排完成。 等由机器硬件预先安排完成。 中断向量: 中断向量:有些信息的保存是在中断服务程序中预先安排 CPU响应中断 由中断源提供地址信息, 响应中断, 的。CPU响应中断,由中断源提供地址信息,
微机原理与接口技术(第三版) 第7章
4) 中断请求的检测 CPU在每条指令执行的最后一个时钟周期,检测其中断 请求引脚(INTR)有无中断请求信号。如果有中断请求信号, 就把内部的中断锁存器置“1”,在下一个总线周期到来时, 进入中断响应状态。
2. CPU对中断的响应 当CPU响应外设的中断后,还要具体完成一些工作。 1) 关中断 当响应中断后,首先要进行关中断操作。对8086微处理 器,CPU在发出中断响应信号的同时,在内部自动完成关中 断操作。 2) 断点保护 当CPU响应中断源的中断请求后,将停止下一条指令的 执行,把当前相关寄存器的内容压入堆栈,为中断返回做好 准备。
3) 中断的开放 在CPU内部有一个中断允许触发器,用来决定是否响应 CPU中断请求引脚(INTR)送来的中断请求。当中断开放(触 发器为“1”)时,CPU才能响应中断;当关闭中断(触发器 为“0”)时,CPU不响应中断请求。这个中断允许触发器的 状态可以用STI和CLI指令来改变。在CPU复位或是当中断 响应后,CPU就处于中断关闭状态,这样就必须在中断服务 程序中用STI指令来让中断开放。
1. 分时操作 中断技术实现了CPU和外部的并行工作,从而消除了 CPU的等待时间,提高了CPU的利用率。另外,CPU可同时 管理多个外部设备的工作,提高了输入/输出数据的吞吐量。 2. 实时处理 在实时控制系统中,现场定时或随机地产生各种参数、 信息,要求CPU立即响应。利用中断机制,计算机就能实时 地进行处理,特别是对紧急事件能进行实时处理。 3.故障处理 计算机运行过程中,如果出现某些故障,如电源掉电、 运算溢出等,.2 中断的响应过程 1.中断源 所谓中断源,就是引起中断的原因或者发出中断请求的
设备。中断源一般分为两类:内部中断源和外部中断源。内 部中断源即中断源在微处理器内部。
第7章中断和中断程序设计
? 如果进入的中断申请比 ISR 中记录的中断优先级低级 或同级,则不向 CPU 发中断请求信号。
5)数据总线缓冲器
8位的双向三态缓冲器,用作8259A与系统总线的接口,传 送命令控制字、状态字和中断向量。
D0~D7:为双向数据线,数据缓冲器暂时保存在内部总线和 系统数据总线间进行传送的数据。
7.2 程序中断设备接口的组成和工作原理
第7章
中断和中断控制
7.1 中断系统 7.1.1 中断的基本概念 7.1.2 中断的类型 7.1.3 中断请求的提出和传送 7.1.4 中断优先级 7.1.5 中断响应 7.1.6 中断处理
7.2 8086的中断系统 7.2.1 外部中断 7.2.2 内部中断 7.2.3 中断向量表
7.2.4 中断过程 7.3 8259A中断控制器
(1)关中断
进入不可再次响应中断的状态,由硬件自动实现。因为 接下去要保存断点,保存现场。 在保存现场过程中,即使有 更高级的中断源申请中断, CPU也不应该响应 ;否则,如果 现场保存不完整,在中断服务程序结束之后,也就不能正确 地恢复现场并 继续执行现行程序。
(2)保存断点和现场。
为了在中断处理结束后能正确地返回到中断点,在响应 中断时,必须把当前的程序计数器 PC中的内容(即断点)保 存起来。
7.1.5 中断处理
7.1 程序中断输人输出方式
2.多重中断处理
多重中断是指在处理某一个中断过程又发生了新的中 断请求,从而中断该服务程序的执行,又转去进行新的中 断处理。这种重叠处理中断的现象又称为中断嵌套。
一般情况下,在处理某级中的某个中断时,与它同级的 或比它低级的新中断请求应不能中断它的处理。而比它优 先级高的新中断请求却能中断它的处理。
5)数据总线缓冲器
8位的双向三态缓冲器,用作8259A与系统总线的接口,传 送命令控制字、状态字和中断向量。
D0~D7:为双向数据线,数据缓冲器暂时保存在内部总线和 系统数据总线间进行传送的数据。
7.2 程序中断设备接口的组成和工作原理
第7章
中断和中断控制
7.1 中断系统 7.1.1 中断的基本概念 7.1.2 中断的类型 7.1.3 中断请求的提出和传送 7.1.4 中断优先级 7.1.5 中断响应 7.1.6 中断处理
7.2 8086的中断系统 7.2.1 外部中断 7.2.2 内部中断 7.2.3 中断向量表
7.2.4 中断过程 7.3 8259A中断控制器
(1)关中断
进入不可再次响应中断的状态,由硬件自动实现。因为 接下去要保存断点,保存现场。 在保存现场过程中,即使有 更高级的中断源申请中断, CPU也不应该响应 ;否则,如果 现场保存不完整,在中断服务程序结束之后,也就不能正确 地恢复现场并 继续执行现行程序。
(2)保存断点和现场。
为了在中断处理结束后能正确地返回到中断点,在响应 中断时,必须把当前的程序计数器 PC中的内容(即断点)保 存起来。
7.1.5 中断处理
7.1 程序中断输人输出方式
2.多重中断处理
多重中断是指在处理某一个中断过程又发生了新的中 断请求,从而中断该服务程序的执行,又转去进行新的中 断处理。这种重叠处理中断的现象又称为中断嵌套。
一般情况下,在处理某级中的某个中断时,与它同级的 或比它低级的新中断请求应不能中断它的处理。而比它优 先级高的新中断请求却能中断它的处理。
第7章_2 可编程中断控制器8259A
中断结束方式
自动EOI方式 自动EOI方式 : EOI 在第二个中断响应周期的的后沿,自动使中断源在ISR中的相应位复位, ISR中的相应位复位 在第二个中断响应周期的的后沿,自动使中断源在ISR中的相应位复位,只适 用于无中断嵌套的情况。否则将可能出现自身的重复中断。 用于无中断嵌套的情况。否则将可能出现自身的重复中断。 T1 CLK
CPU INTR INTA
•8259A INT INTA . . .
IR0 中 断 请 求 IR7
单片
•CPU INTR INTA •8259A 主
. IR0 . . . . IR7
8259A 从
. . . . . .
IR0
IR7 8259A 从 IR0
IR7
级联
7.3 可编程中断控制器 . 可编程中断控制器Intel 8259A 8259中断控制器的内部结构 中断控制器的内部结构 IRR: : 中断请求寄存器。 中断请求寄存器。 ISR: : 中断服务寄存器。 中断服务寄存器。 IMR: IMR: 中断屏蔽寄存器。 中断屏蔽寄存器。 PR: : 优先权判别器。 优先权判别器。
依次下降。 完全嵌套方式 : IR0~IR7依次下降。 特殊完全嵌套方式 :在级联方式主片运用特殊完全嵌套方式
优先权旋转
正常优先权旋转:中断响应,优先权为最低, 正常优先权旋转:中断响应,优先权为最低,比它低一级的得到最高优 先权。 先权。 特殊优先权旋转:将最低优先级赋给指定的中断源。 优先权旋转 特殊优先权旋转:将最低优先级赋给指定的中断源。
VCC
CPU INTR INTA
SP / EN
IR7
中 断 源
SP / EN
GND
……
微机原理及接第七章中断技术可编程中断控制器(Intel 8259A)口技术
A/D转换器 开关量输入 D/A转换器 开关量输出
键盘 数字化仪 点阵打印 CRT 显示 光笔 图形输入 激光打印 液晶显示 声音输入 喷墨打印 绘图仪 X-Y记录仪 扫描仪
硬盘 软盘 光盘 磁带
微机控制各类接口框图
二、 CPU 与外设之间的接口信息
1. 数据信息 (DATA) CPU与外设交换的基本信息是数据, 有三种类型: (1) 数字量 由键盘、光电输入机等输入的信息。
译 码 器 三态缓 冲器 G
A15~A0 M/ IO
INTA INTR
中断允许 触发器
工作原理:若输入设备准备好数据,且中断允许,则通 过中断请求触发器发INTR。如果IF=1,则CPU在当前指 令执行完后,进入中断响应周期,发INTA,待到中断类 型号,进入中断服务实现数据传送。
外 设 准 备 数 据
3. 控制信息 (CONTROL)
CPU通过接口输出用以控制外设工作的信息。 例如控制I/O 设备启动或停止等。
AB CPU DB CB DATA STATUS I/O 设备
1 I/O 接口 2
3 CONTROL
CPU 与外设之间的接口信息
三、接口的功能
接口用以解决CPU与外设连接时存
在的矛盾,一般有以下功能: 1. 数据缓存:匹配不同的数据传送速率。 2. 端口寻址:选择某一外设,某一端口。 3. 命令译码:解释CPU输出的命令,产生相 应的操作控制信号。
4. 同步控制:协调时序上的差异。
8.2
I/O 端口的编址方式
接口电路中能被CPU访问的寄存器或某 些特定器件称为I/O端口。I/O端口分为数据 端口、状态端口和命令端口。
AB
CPU 1 I/O 接口 2 DATA
第7章中断系统和中断控制器8259A.ppt
INTR
内部中断
中 断逻 辑
除法错误 中断
单步中断
断点中断 INT
溢出中断 INTO
指令中断 INT
2019/11/5
微机原理及应用
30
2、8086/8088的中断分类
内部中断 CPU不是通过外部中断请求而是通过内部逻辑 进入中断,调用相应的中断服务程序,是CPU自启动的中断。
除单步中断外,所有内部中断应。 查询次序决定了中断优先权次序,最先被查询
的中断源具有最高的优先权。
2019/11/5
微机原理及应用
20
3、中断优先权管理
如图,8个外设只要 有中断请求,CPU检测 到中断请求信号,响应 中断;
D 7~D0
CPU
INTR
I / O端 口 端口地址 8 0 H ≥1
2019/11/5
微机原理及应用
9
(2)实现优先权排队,以确定优先处理的中 断源
一个系统中有多个中断源,存在着几个中断源 同时请求的可能;
因此,必须事先根据中断源的重要性,给每个 中断源确定一个中断优先级别——优先权。
中断响应时,CPU应能首先响应优先权级别高 的中断源。
2019/11/5
微机原理及应用
[n×4] →IP [n×4+2] →CS
2019/11/5
微机原理及应用
26
1、8086/8088的中断指令
中断向量就是中断服务程序的入口地址; 中断类型码 n×4 即为该中断向量的存放地址;
低字是IP,高字是CS,CPU取出CS和IP,转 去执行中断服务程序。
INT n 指令除了使IF=0和TF=0,对其他标志 位没有影响;
2019/11/5
内部中断
中 断逻 辑
除法错误 中断
单步中断
断点中断 INT
溢出中断 INTO
指令中断 INT
2019/11/5
微机原理及应用
30
2、8086/8088的中断分类
内部中断 CPU不是通过外部中断请求而是通过内部逻辑 进入中断,调用相应的中断服务程序,是CPU自启动的中断。
除单步中断外,所有内部中断应。 查询次序决定了中断优先权次序,最先被查询
的中断源具有最高的优先权。
2019/11/5
微机原理及应用
20
3、中断优先权管理
如图,8个外设只要 有中断请求,CPU检测 到中断请求信号,响应 中断;
D 7~D0
CPU
INTR
I / O端 口 端口地址 8 0 H ≥1
2019/11/5
微机原理及应用
9
(2)实现优先权排队,以确定优先处理的中 断源
一个系统中有多个中断源,存在着几个中断源 同时请求的可能;
因此,必须事先根据中断源的重要性,给每个 中断源确定一个中断优先级别——优先权。
中断响应时,CPU应能首先响应优先权级别高 的中断源。
2019/11/5
微机原理及应用
[n×4] →IP [n×4+2] →CS
2019/11/5
微机原理及应用
26
1、8086/8088的中断指令
中断向量就是中断服务程序的入口地址; 中断类型码 n×4 即为该中断向量的存放地址;
低字是IP,高字是CS,CPU取出CS和IP,转 去执行中断服务程序。
INT n 指令除了使IF=0和TF=0,对其他标志 位没有影响;
2019/11/5
第七章 中断控制器8259A
引脚信号
INT:向CPU发出的中断请求信号,输出,与CPU的INTR端相连。
INTA:CPU给8259A的中断响应信号,输入。8259A要求两个负脉
冲的中断响应信号,第一个是CPU响应中断的信号,第二个INTA结束 后,CPU读取8259A送去的中断类型号。
CAS2~CAS0:双向级联信号线。8259A作主片时,为输出线,作从片 时,为输入线。与SP/EN配合实现8259A级联。
6/15/2019
共98页
4
开中断 关中断
可屏蔽中断的工作流程
6/15/2019
共98页
5
中断响应过程(以可屏蔽中断为例)
1、外设通过INTR向CPU发出中断请求; 2、CPU在执行完现行指令后,响应该中断请求(IF=1); 3、外设向CPU提供中断类型号; 4、CPU将PSW、CS、IP压入堆栈; 5、清除IF、TF(默认情况下为不允许中断嵌套); 6、从中断向量表中取出中断向量,置入IP、CS; 7、执行中断例程; 8、在中断例程中,如果允许中断嵌套,则开中断(STI); 9、执行IRET,从堆栈中弹出IP、CS、PSW。
MOV DX,INTOFF MOV AX,INTSEG MOV DS,AX MOV AX,2580H ;恢复系统原80H中断向量 ;注意:先设置DX,再设置DS。因为如果先改变DS, ;就不能准确获得INTOFF变量值。 INT 21H MOV AX,4C00H INT 21H
6/15/2019
共98页
INTR_PROG: PUSH STI …… CLI POP IRET
……
;中断服务子程序 AX
AX
6/15/2019
共98页
12
中断向量的设置
第7章_中断控制器8259
结论:在多片8259A的级连系统中,在主片 看来,一个从片为一级,从片内部的优 先级要得到系统的确认,则主片必须工 作在特殊全嵌套方式。
2 . 屏蔽中断源的方式
(1) 普通屏蔽方式 (2) 特殊屏蔽方式
(1)普通屏蔽方式 可以通过OCW1使屏蔽寄存器的对应位 置1或置0来屏蔽或不屏蔽来自IR0- IR7的中断请求。 程序设计时,可以通过设置操作命令字 OCW1使屏蔽寄存器中的任一位或几位 为1,从而实现对某一个IR端的屏蔽。 为什么要屏蔽某些中断请求?
指出当 前的哪 个端口 被防问
当片选信号有效时,A0为0时,访问偶地址端 口; A0为1时,访问奇地址端口。
A B 8259A A0
CS
1、A0为0时,访问偶 地址端口; A0为1时, 访问奇地址端口。
地址译码
问:A0连接到 地址总线的A0吗?
地址总线
问:A0引脚是连接到地址总线的A0吗? 若是,则8259A被分配一个偶地址和一 个奇地址。 然而,8259A只有8条数据总线,或连 接8086系统中的高8位地址,或连接 8086系统中的低8位地址。
(2)特殊全嵌套方式 在此方式下,当处理某一级中断时, 如果有同级的中断请求,那么也给予响 应,从而实现一种对同级中断请求的特 殊嵌套。该方式一般用在8259A的级连 系统。此时,主片工作在特殊全嵌套方 式下,从片可以处于其他优先级方式。
主片
8259A
8259A IR5
8259A
从片
若主片正在处理来自 从片IR7的中断时, 从片的IR0上有中断 请求,主片是否接收 处理,并实现嵌套? (设IR0优先级比IR7 IR0 高) IR7
第7章 中断控制器、DMA控制器 和计数器/定时器
7.1 中断控制器8259A
7中断8259a
5、中断源的识别:
第二节 中断控制器8259A
8259A的功能: 中断优先权管理 中断屏蔽 自动中断矢量转移 8259A特点: 单片8259可处理8级中断 级联时:最多可用9片处理64级中断 8259A的片内寻址 A0=1、0
一、 8529A的芯片内部结构 1. 数据总线缓冲 2.读写控制逻辑 3.级联缓冲比较 4.中断请求寄存器 5.中断服务寄存器 6.中断屏蔽寄存器 7.优先权判别电路 8.控制电路
(2)优先级自动循环方式
用途:多个中断源优先级相等的场合。 特点:优先级是在变化的,一个设备中断处理完 后, 它的优先级自 特殊全嵌套方式
用途:多片级联方式, 特殊全嵌套方式仅设置在主 片中. 特点: 和全嵌套方式基本相同,不同的是:在处理某 级中断时,可响应同级中断,从而实现对同 级中断请求的特殊嵌套.
;不满60秒,退出
;分单元加一 ;不满60分,退出 ;时单元加一
CMP JNZ MOV CALL …... STI EXIT: IRET
24,S3 EXIT S3,00H DISPLAY
;显示时间
思考题
1. 8088/8086中断向量表的作用是什么? 2. 8259A中 IRR、IMR和 ISR三个寄存器的作用是 什么? 3.某时刻8259A的IRR内容是08H(00001000B),说 明_____。某时刻8259A的ISR内容是08H,说明 _______。在两片8259A级连的中断电路中,主片 的第5级IR5 作为从片的中断请求输入,则初始化 主、从片时,ICW3的控制字分别是00100000和 00000101 .
2. 优先级的管理方式
(1)完全嵌套方式
在对8259进行初始化后,没有设置其它优先级 方式,则自动按此方式工作. 特点:在全嵌套方式中,中断请求按优先级 IR0~IR7级进行处理,IR0级中断的优先级最高。 当一个中断被响应时,中断类型码被放到数据 总线上,ISR中的对应位ISn被置1,然后进入中断 服务程序。一般情况下(除了中断自动结束方式 外),在CPU发出中断结束命令(EOI)前,此 对应位一直保持“1”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中断请求不受中断允许标志IF状态的影响,在当前指令执 行完后,CPU就响应。 非屏蔽中断用于较重要、紧急的中断请求。
2、可屏蔽中断
——中断类型码 n 由申请中断的中断源提供。 可屏蔽中断请求由INTR引脚送入。所谓可屏蔽,指该中 断请求须由中断允许标志IF的状态决定其是否被CPU响应。 IF的设置可由指令实现。 STI CLI ;IF=1,允许中断 ;IF=0,禁止中断
(3)中断服务及中断返回
在中断服务程序中,需做以下事情 1)保护现场 ——保护有关寄存器的内容;(如压入堆 栈保护) 2)开中断——(IF←1)为了实现中断的嵌套;
3)中断处理服务 ——对中断源作相应的处理。例如进 行数据传送等。这是服务程序的实质性环节。
4)关中断——为恢复现场做准备;
5)恢复现场;
图 7-1 中断服务程序的结构
7.1.3 中断优先权管理
——将中断源按轻重缓急排队,确定各中断优先权次序。 优先权管理是指判别和确定各中断源的中断优先权次序。
中断优先权判别方法有两种: 软件排队和硬件排队
1. 软件排队 ——用软件查询哪个中断源有中断请求,先查询到的 先响应。即:查询次序确定各中断优先权次序,先查询的 优先权最高。
当IF=1,INTR有效时,CPU将送出中断响应信号 INTA 。 中断源接到该信号,将其中断类型码送给CPU。
7.2.3 中断向量表
1、中断向量表 中断向量即中断服务程序的入口地址(首地址) ,用32 位逻辑地址表示。中断向量表是一个存储区,该存储区存放所 有中断向量。 表内容:所有中断服务程序的入口地址,即256个中断向量。 表长度:一个中断向量4个字节,256个中断向量共256×4= 1024字节,即占用1K存储空间。 表位置:在0段内偏移地址为0000~03FFH的范围内,即实际 地址为00000~003FFH。 存放次序:按中断类型码从小到大依次存放。每个中断向量 占用的 4 个单元中,小地址的存放偏移地址,大地址的存放 段地址。
7.1.2
中断处理过程
中断请求→中断排队 →中断响应→中断服务→中断返回
(1)中断请求 ——中断源向CPU发出的请求中断服务的信号。 必须满足条件: ●中断源已准备好; ●系统允许该中断源发出中断信号。 设置中断屏蔽触发器加以控制 中断屏蔽触发器=1,允许向CPU申请中断。 中断屏蔽触发器=0,禁止向CPU申请中断。 中断请求信号是随机发生的,因此,CPU一般隔一定时 间检测一次中断请求信号确定是否有中断请求。
1)接口电路
INTR
或 门 中断A 中断B 中断C
D0~D7 IOR A0~A15 译码
三态 缓冲器
锁 存 器
…
…
或 门
80H
2)查询程序
IN AL,80H TEST AL,80H JNZ ASEV;转A服务程序
3)特点:方法简单,硬件 电路省,但中断源多时, 查询速度慢,影响中断响 应速度。
TEST AL,40H
5.
软件中断——中断类型码 n由用户定义 以软中断指令INT n方式实现中断服务程序,5≤n≤255 。
其中5 ~3FH为系统备用中断,一般不允许用户改作其它用 途,如系统功能调用INT 21H。
40H~FFH为用户可用的中断,用户可自行设计一些中断服 务程序,这与调用子程序相似。
7.2.2.2 外部中断
(3)中断系统 ——实现中断功能的控制逻辑与管理软件称为中断系统。 不同的微型计算机的中断系统虽然各不相同,但中断系统 的基本功能是相同的。 中断系统应具备的功能: ◆中断源的识别、响应及返回——完成一次中断过程;
◆中断优先权排队——给中断源按轻重缓急排队;
◆中断嵌套—— 优先权高的中断源能中断优先权低的中断处 理。
第7章 中断系统和中断控制器8259A
主要内容
1. 中断的基本概念 2. 8086系统的中断系统 3. 中断控制器8259A及应用
学习要点:
1.掌握8086内部中断的特点;
2.掌握中断的基本概念,掌握对外部中断响应的区别; 3.深刻理解中断类型码、中断矢量和中断向量表的概念,以及如何对 中断服务程序寻址; 4.了解8259A的编程结构,理解8259A工作方式、掌握8259有关命令和 初始化编程及其应用方法。
7.2 8086/8088的中断系统
8086/8088具有功能很强的中断系统,能够处理256个中断源。
7.2.1
8086/8088的中断指令
单字节,n固定为3
SS:SP-2 SS:SP-2 SS:SP-2 SS:SP
--ZZ ZZ YY YY X X X X ?-…
IPL IPH CSL CSH RFL RFH
7.1 中断的基本概念
7.1.1 中断及中断源
(1)中断——由于外设的请求或某事件的发生使CPU暂停
执行现行程序,转去执行处理相应请求或事件的中断服务程 序,处理完毕再返回运行原程序,这样的过程为中断。 (2)中断源——能够引起中断的事件。 中断源: ◆一般的I/O设备。如键盘、打印机等; ◆数据通道中断源。如磁盘、磁带机等; ◆实时时钟 ; ◆故障引起的中断 。如电源掉电; ◆中断指令或软件故障。如系统功能调用、除数为0等。
7.2.2.1 内部中断
内部中断是通过软件指令或软件陷阱而调用的非屏蔽中 断(指不受IF状态影响),这是由程序运行的状态和指 令代码执行后自动启动而不是由外界中断请求来调用的。 内部中断按其性质又可分为软件陷阱和软件中断: 软件陷阱——在某些指令执行期间FR的标志位满足设定 的条件或CPU的状态符合某种情况从而触发CPU内部逻辑去启 动所需要的中断服务子程序,如除法出错中断和单步中断。 软件中断——通过指令来调用中断服务子程序。
1. 中断指令
格式: INT n 或 INT; n=0~255,为中断类型码。
功能:SP←SP-2,SS:[SP]←RF IF←0,TF←0 SP←SP-2,SS:[SP]←CS, SP←SP-2,SS:[SP]←IP IP←0:[n*4] CS←0:[n*4+2]
0000:n*4 AA
IPL IPH CSL CSH
JNZ BSEV;转B服务程序 ……
2. 硬件排队 1)链式排队电路 如:
INTR1
5V
2)优先权编码电路
INTR2
INTR3
IEI
IEO
IEI
IEO
IEI
IEO
作用: (1)能够送出当前有中断请求的中断源中优先权最高的中 断请求。 (2)当一个中断源的中断请求被CPU响应后,比它低优先 权的中断源被屏蔽。
1. 除法出错中断——中断类型码n= 0
在执行除法指令时,若除数为0或商超过了寄存器所能表达的范围,则产 生一个类型号为0的内部中断,称为除法错中断。
注意点:除法错误中断是由内部电路自动生成的,没有对应的中断指令。
2. 单步中断——中断类型码 n=1
为了用户调试上机的方便,当TF=1时,则在每执行一条指令后,可 以产生一个类型号为1的中断。 在中断处理程序的控制下,可以给出有关寄存器的内容或状态标志 位的状态,以便了解程序的执行情况。 例如:DEBUG.EXE调试程序的单步命令T 就利用单步中断实现对 程序的单步调试
3.断点中断——中断类型码n= 3
断点中断也是提供给用户的一种程序调试手段。在相应的程序语句后 设置断点,就可以使程序运行一段后进入断点中断,检查程序是否达到要 求。实现分段落调试程序。
4. 溢出中断——中断类型码 n=4
溢出中断是通过INTO中断指令实现的,该指令跟在有符号数的算 术运算指令以后在执行溢出中断指令INTO时,若溢出标志OF为1,则产 生一个向量号为4的内部中断。并转入溢出中断处理。 例:MOV BL,126 MOV AL,5 ADD AL,BL →执行到此指令后,将OF置1 INTO →执行到此产生中断
(IP) ← ((SP+1),(SP)) , (SP)←(SP)+2
(CS)← ((SP+1),(SP)) , (SP)←(SP)+2 (FR)← ((SP+1),(SP)) , (SP)←(SP)+2
指令执行后 (SP)=(SP)+6
7.2.2 8086/8088的中断分类
8086/8088的中断系统采用向量中断方法,能够处理256 个中断,用中断向量号0~255区别。 中断系统有如下分类: 可屏蔽中断: 从CPU的INTR 引脚输入,受 中断允许标志 IF状态影响; 非屏蔽中断: 从CPU的NMI引 脚输入。
(2)中断排队及中断响应
——系统中有多个中断源,当两个以上中断源同时向 CPU发出中断请求信号,则CPU能先响应重要的、紧急的中断,
即优先权高的中断源。这就是中断排队的工作。
中断响应是指CPU在接到中断请求信号后,确定可以响
应时自动完成的操作:
①发中断响应信号 ,同时内部关中断(IF←0),以禁 止其它可屏蔽中断请求; ② 保护断点——程序断点处的CS、IP内容压栈,以便 中断处理完后能正确地返回主程序; ③ 保护现场—— 保护标志寄存器 F 的内容; ④ 中断识别并形成中断服务程序入口地址——使段地 址→CS ,偏移地址→IP,转入中断服务程序执行。
6)中断返回——中断返回指令使得CPU自动地将堆栈中 保存的F 和程序断点处的CS、IP值弹到F、CS、IP中,使CPU 返回主程序断点处继续执行主程序,同时中断返回指令使得 IF自动恢复响应中断前的开中断状态。
中断服务程序框图:
保护有关寄存器内容
开中断 中断处理 关中断
恢复有关寄存器内容
中断返回
地址 00114H 00115H 00116H 00117H 00118H 存储单元内容 20H 10H 00H 34H
量表的设置
中断向量表的设置——将中断源的中断向量存入中断向 量表对应的位置。 方法一 ——用系统功能调用设置。