第7章_中断系统和中断控制器8259A
合集下载
第七章 中断系统

的中断请求从INT输出,CPU的INTR引脚。 若CPU处于开中断状态,在当前指令结束后,连续发2 个中断响应信号,8259A收到第一个中断响应信号,ISR 相应位置1,将IRR的相应位复位。
8259A在收到第二个中断响应信号后,把中断类型号
送到数据总线。 中断响应后,如8259A工作在自动结束中断方式,8259A 会在第二个中断响应结束后,把ISR相应位成0;如工作在普 通EOI方式,则必须由CPU发EOI命令。
CPU响应单级中断的条件
有中断请求信号 中断是开放的
单级中断的处理过程
中断请求 中断响应 中断处理 中断返回
发中断响应信号 关中断 保护处理器的现行状态 转去中断服务程序首地址 保护现场 中断服务 恢复现场 开中断 中断返回
第三节 多级中断
多级中断 优先权判别及中断源的识别
MOV AL, 1BH ;单片,电平触发,要ICW4 OUT 60H,AL
MOV AL, 1BH OUT 60H,AL MOV AL, 38H OUT 61H, AL MOV AL,09H OUT 61H,AL MOV AL, 22H OUT 61H, AL
;单片,电平触发,要ICW4
; IRR0的中断类型码为38H ;普通的全嵌套方式,缓冲方式, ;正常EOI ; 屏蔽IRR1和IRR5
2. OCW2
3. OCW3
3.8259A编程应用
1.初始化
例1:设IBM PC机接有一片8259A(两个端口地址为60H、61H),管理8个 中断源,采用普通完全嵌套方式,普通EOI方式,中断请求高电平有效, 优先级固定,IRR0最高,IRR7最低,IRR0的中断类型号为38H。IRR1、 IRR5需要被屏蔽。
《微机原理与接口》知识点第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章 中断系统和中断控制器8259A

中断请求不受中断允许标志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 个单元中,小地址的存放偏移地址,大地址的存放 段地址。
第七章--中断系统和中断控制器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执行完当前指令后 方能响应中断。
中断系统和中断控制器8259A详解

∧∧
微 机 原
第7章 中断系统和中断控制器8259A
理
及
应 用
7.1 中断的基本概念
∨∨
•中断:是指CPU在正常运行程序时,由于内部或外部事件 引起CPU暂时中止执行现行程序,转去执行请求CPU为其 服务的那个外设或事件的服务程序,待该服务程序执行完 后又返回到被中止的程序这样一个过程。
•中断源:能发出中断申请的外设或引起中断的原因。
IRR锁存
逻辑电路根据IMR判断 IMR对应位为0
优先权判别器PR
优
先
权
最
CPU响应中断 IF=1 CPU的INTR端
高 8259A的INT端为1
INTA 8259A
ISR相应位置1, IRR响应位清0,
送中断类型码
●若允许嵌套,PR依据ISR的状态,判断新的中断请求优先权是否高 于正在服务的中断,是则送出INT=1。 ●服务结束,8259A清除ISR响应位。
提高了CPU的利用效率。
7.1.2 中断处理过程
∧∧
微 机
1.中断过程
原
理 及
● 对于不同的微机系统,CPU中断处理的具体过程不尽相同,但是一
应 用
个完整的中断基本过程应包括五个基本过程:
∨∨
中
中
保护现场
中
中
中
断
断
请
判
断 响
断 处
断 返
开中断
求
优
应
理
回
中断处理
产指断触生令接发中或口器断电和CP信路中U确 最号有断引定高。一屏脚有的来个蔽。中那至中触每断个于断发个请中中请器中C自关保形求断P断 求 。动中护成U且 源完 断 现 中响优 。成 ; 场 断应先下 保 服;进级列 护 务入中 中 中工 断 程中断 断作 点 序断服 服 服: ; 入周务 务 务口期就 程 程地,是 序 序弹址过 结C出P程 构断U。 如执点图行,返回主程恢中关序复断。中现返断场回
微 机 原
第7章 中断系统和中断控制器8259A
理
及
应 用
7.1 中断的基本概念
∨∨
•中断:是指CPU在正常运行程序时,由于内部或外部事件 引起CPU暂时中止执行现行程序,转去执行请求CPU为其 服务的那个外设或事件的服务程序,待该服务程序执行完 后又返回到被中止的程序这样一个过程。
•中断源:能发出中断申请的外设或引起中断的原因。
IRR锁存
逻辑电路根据IMR判断 IMR对应位为0
优先权判别器PR
优
先
权
最
CPU响应中断 IF=1 CPU的INTR端
高 8259A的INT端为1
INTA 8259A
ISR相应位置1, IRR响应位清0,
送中断类型码
●若允许嵌套,PR依据ISR的状态,判断新的中断请求优先权是否高 于正在服务的中断,是则送出INT=1。 ●服务结束,8259A清除ISR响应位。
提高了CPU的利用效率。
7.1.2 中断处理过程
∧∧
微 机
1.中断过程
原
理 及
● 对于不同的微机系统,CPU中断处理的具体过程不尽相同,但是一
应 用
个完整的中断基本过程应包括五个基本过程:
∨∨
中
中
保护现场
中
中
中
断
断
请
判
断 响
断 处
断 返
开中断
求
优
应
理
回
中断处理
产指断触生令接发中或口器断电和CP信路中U确 最号有断引定高。一屏脚有的来个蔽。中那至中触每断个于断发个请中中请器中C自关保形求断P断 求 。动中护成U且 源完 断 现 中响优 。成 ; 场 断应先下 保 服;进级列 护 务入中 中 中工 断 程中断 断作 点 序断服 服 服: ; 入周务 务 务口期就 程 程地,是 序 序弹址过 结C出P程 构断U。 如执点图行,返回主程恢中关序复断。中现返断场回
中断系统和中断控制器8259A

中断控制方式比较单一(屏蔽、优先级管理、嵌 套等)
中断系统和中断控制器8259A
1. 8259A的主要功能
每片8259A可管理8级优先权中断源,通过级联, 最多可管理64级优先权的中断源。
对任何一级中断源都可单独进行屏蔽。
向CPU提供可编程的标识码(中断号),为不能提 供中断号的外设提供中断管理。
中断系统和中断控制器8259A
中断系统和中断控制器8259A
(6) 数据总线缓冲器 这是8位双向三态缓冲器,用作8259A与数据总线的 接口,传输命令控制字、状态字和中断向量。
(7)读/写控制电路 该部件接收来自CPU的读/写命令,实现对8259A的 读/写操作。
(8)级联缓冲器/比较器 它们实现8259A芯片之间的级联,使得中断源可以 由8级扩展至64级。
中断系统和中断控制器8259A
(2)中断屏蔽寄存器IMR
IMR(Interrupt Mask Register)用来存 放屏蔽位信息,IMR的每一位可以禁止IRR 中对应位的中断请求输入信号进入。如果屏 蔽优先权级别较高的中断请求输入时,不会 影响到优先级较低的中断请求输入。
中断系统和中断控制器8259A
IRET指令将自动恢复先前保存的IP和CS值 以及标志寄存器FR或EFR的值,从而跳转到 主程序断点地址。
返回之后,CPU自动打开中断允许响应其它 中断请求。
中断系统和中断控制器8259A
8.1.3 中断的优先级
原因:中断处理的重要程度和时延要求不同
含义:按照中断源的重要程度为每个中断源分 配不同的优先级,并以优先级大小进行排序, 确定多个中断源请求时对不同中断源的服务次 序,称之为中断优先级。
8259A的内部结构框图
中断系统和中断控制器8259A
中断系统和中断控制器8259A
1. 8259A的主要功能
每片8259A可管理8级优先权中断源,通过级联, 最多可管理64级优先权的中断源。
对任何一级中断源都可单独进行屏蔽。
向CPU提供可编程的标识码(中断号),为不能提 供中断号的外设提供中断管理。
中断系统和中断控制器8259A
中断系统和中断控制器8259A
(6) 数据总线缓冲器 这是8位双向三态缓冲器,用作8259A与数据总线的 接口,传输命令控制字、状态字和中断向量。
(7)读/写控制电路 该部件接收来自CPU的读/写命令,实现对8259A的 读/写操作。
(8)级联缓冲器/比较器 它们实现8259A芯片之间的级联,使得中断源可以 由8级扩展至64级。
中断系统和中断控制器8259A
(2)中断屏蔽寄存器IMR
IMR(Interrupt Mask Register)用来存 放屏蔽位信息,IMR的每一位可以禁止IRR 中对应位的中断请求输入信号进入。如果屏 蔽优先权级别较高的中断请求输入时,不会 影响到优先级较低的中断请求输入。
中断系统和中断控制器8259A
IRET指令将自动恢复先前保存的IP和CS值 以及标志寄存器FR或EFR的值,从而跳转到 主程序断点地址。
返回之后,CPU自动打开中断允许响应其它 中断请求。
中断系统和中断控制器8259A
8.1.3 中断的优先级
原因:中断处理的重要程度和时延要求不同
含义:按照中断源的重要程度为每个中断源分 配不同的优先级,并以优先级大小进行排序, 确定多个中断源请求时对不同中断源的服务次 序,称之为中断优先级。
8259A的内部结构框图
中断系统和中断控制器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响应中断,由中断源提供地址信息,
微机原理 第七章中断控制器
CAS2
3
2 . 8259A的编程结构和工作原理
4
编程结构 (1)上半部分:处理部件 中断请求寄存器IRR 中断优先级裁决器PR 当前中断服务寄存器ISR (2)下半部分:7个寄存器 ICW1~ICW4 OCW1~OCW3
5
中断请求寄存器IRR
保存8条外界中断请求信号IR0-IR7的请求状态 Di位为1表示IRi引脚有中断请求;为0表示无请求
1. 中断优先权管理方式: 可见,8259A (1) 全嵌套方式 (2)特殊全嵌套方式 有多中工作方式, (3)自动循环方式 (4)特殊循环方式 使用起来很灵活, 2. 屏蔽中断源的方式 不易掌握,所以介 (1)普通屏蔽方式 (2)特殊屏蔽方式 绍编程之前,先对 3. 中断结束方式 其工作方式分类进 (1) 自动结束(AEOI)方式 行简要的介绍。 (2) 非自动结束(EOI)方式: ① 普通EOI方式;② 特殊EOI方式 4. 系统总线的连接方式(8259A级连方式) (1) 缓冲方式 (2)非缓冲方式 5. 中断请求的引入方式 (1) 边沿触发 (2)电平触发 (3)中断查询
• 优先级特殊循环方式:初始优先级队列是由编程确定的。 也可由操作命令字OCW2来设定。
10
2、屏蔽中断源的方式
• 普通屏蔽方式:8259A的每个中断请求输入端都可以通过 对应屏蔽位的设置被屏蔽,通过设置操作命令字OCW1使 屏蔽器中任一位或几位置1(对中断的屏蔽总是暂时的, eg:计算机网络通信)
5.
6.
16
五、中断响应过程(CPU与8259A的操作过程)
1、申请中断 外设 对应IR0 ~ IR7为“1”, 为“1” CPU的INTR输入“1”,申请中断。 2、响应中断的条件 CLI 使 IF = 0,禁止中断。 STI 使 IF = 1,允许中断。 判优后使INT
第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
……
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012-1-9
微机原理及应用
15
(2)中断排队和(3)中断响应 )中断排队和( ) CPU通过中断排队确定了要响应的中断源后, 通过中断排队确定了要响应的中断源后, 通过中断排队确定了要响应的中断源后 进入中断响应 自动完成以下步骤: 中断响应, 进入中断响应,自动完成以下步骤: 关中断; ①关中断; 保护断点,将正在执行的程序地址(断点)入栈; ②保护断点,将正在执行的程序地址(断点)入栈; ③保护现场,标志寄存器FR自动入栈; 保护现场,标志寄存器 自动入栈; 自动入栈 形成中断服务程序入口地址。 ④形成中断服务程序入口地址。
2012-1-9
微机原理及应用
9
(2)实现优先权排队,以确定优先处理的中 )实现优先权排队, 断源
一个系统中有多个中断源, 一个系统中有多个中断源,存在着几个中断源 同时请求的可能; 同时请求的可能; 因此,必须事先根据中断源的重要性, 因此,必须事先根据中断源的重要性,给每个 中断源确定一个中断优先级别——优先权。 优先权。 中断源确定一个中断优先级别 优先权 中断响应时, 中断响应时,CPU应能首先响应优先权级别高 应能首先响应优先权级别高 的中断源。 的中断源。
2012-1-9
微机原理及应用
18
3、中断优先权管理 、
中断优先权是事先根据中断源的重要性给每个 中断优先权是事先根据中断源的重要性给每个 中断源确定一个中断优先级别——优先权。 优先权。 中断源确定一个中断优先级别 优先权 中断优先权管理就是判别和确定各个中断源的 中断优先权。 中断优先权。 中断优先权判别方法有软件和硬件两种方法。 中断优先权判别方法有软件和硬件两种方法。
软件查询流程图
保护现场 Y 外设A中断服务程序 Y 外设B中断服务程序 Y 外设C中断服务程序
2012-1-9
微机原理及应用
20
3、中断优先权管理 、
如图, 个外设只要 如图,8个外设只要 有中断请求, 有中断请求,CPU检测 检测 到中断请求信号, 到中断请求信号,响应 中断; 中断;
D7~D0
CPU
I / O端 口 端口 地址80H INTR ≥1
外设A B C D E F G H中断请求
2012-1-9
微机原理及应用
14
(2)中断排队和(3)中断响应 )中断排队和( )
中断排队是确定当前所有中断请求中优先级最 中断排队是确定当前所有中断请求中优先级最 高的那个中断源。 高的那个中断源。 因为CPU一次只能响应一个中断,所以必须首 一次只能响应一个中断, 因为 一次只能响应一个中断 先处理最紧急最重要的中断。 先处理最紧急最重要的中断。 根据中断源的轻重缓急给予一个中断优先权级别, 根据中断源的轻重缓急给予一个中断优先权级别, 优先权级别最高的中断源将首先得到响应。 优先权级别最高的中断源将首先得到响应。
2012-1-9
微机原理及应用
17
(4)中断服务和(5)中断返回 )中断服务和( )
中断处理,对中断源作相应的处理, ③中断处理,对中断源作相应的处理,是中断 服务程序的核心; 服务程序的核心; 关中断,若中断服务程序设置了开中断, ④关中断,若中断服务程序设置了开中断,则 此时应该关中断,以保证恢复现场的操作不被打断; 此时应该关中断,以保证恢复现场的操作不被打断; 恢复现场,按后进先出的原则, ⑤恢复现场,按后进先出的原则,PUSH和POP 和 应配对使用; 应配对使用; 中断返回,从堆栈中弹出断点,返回主程序。 ⑥中断返回,从堆栈中弹出断点,返回主程序。
2012-1-9
微机原理及应用
3
1、中断及中断源 、
中断是一种让 中断是一种让CPU挂起正在执行的程序而转去 是一种让 挂起正在执行的程序而转去 处理特殊事件的操作。 处理特殊事件的操作。 CPU暂时停止执行原来的程序而转去中断处理, 暂时停止执行原来的程序而转去中断处理, 暂时停止执行原来的程序而转去中断处理 处理好中断服务后再返回继续执行原来的程序, 处理好中断服务后再返回继续执行原来的程序,这 样一个过程就是一个中断过程 样一个过程就是一个中断过程 。 能够引起CPU中断的事件称为中断源 。 中断的事件称为中断源 能够引起 中断的事件称为 CPU中断系统的基本功能 。 中断系统的基本功能
2012-1-9
微机原理及应用
6
CPU中断系统的功能 中断系统的功能
(1)实现中断及返回 ) (2)实现优先权排队,以确定优先处理的中断源。 )实现优先权排队,以确定优先处理的中断源。 (3)优先权高的中断源能中断优先权低的中断处理 )
2012-1-9
微机原理及应用
7
(1)实现中断及返回 )
当有一中断源提出中断请求时, 当有一中断源提出中断请求时,CPU首先判断 首先判断 是否响应该中断? 是否响应该中断 * 如果 如果CPU正在执行的是重要的程序,可以暂不 正在执行的是重要的程序, 正在执行的是重要的程序 响应,即关中断; 响应,即关中断; *当CPU完成了当前的重要程序后,开中断予以 完成了当前的重要程序后, 当 完成了当前的重要程序后 响应,同时,保存断点,转入中断处理; 响应,同时,保存断点,转入中断处理; * 当中断处理完后,恢复断点从而回到被中断运 当中断处理完后, 行的原程序继续执行; 行的原程序继续执行;
2012-1-9
微机原理及应用
8
(1)实现中断及返回 )
* 通过设置 通过设置CPU内部的中断允许触发器 内部的中断允许触发器(IFF),开 内部的中断允许触发器 , 关中断 。 当IFF=1,使中断允许(开中断); = ,使中断允许(开中断); 当IFF=0,使中断不允许(关中断)。 = ,使中断不允许(关中断)。 注意: 注意: 不可屏蔽中断,要求 立即处理。 不可屏蔽中断,要求CPU立即处理。不受中断允 立即处理 许触发器( 许触发器(IFF)的控制。 )的控制。 可屏蔽中断,受中断允许触发器( 可屏蔽中断,受中断允许触发器(IFF)的控制。 )的控制。
2012-1-9
微机原理及应用
19
3、中断优先权管理 、
(1)软件确定中断优先权 ) 软件法是在 响应中断后, 软件法是在CPU响应中断后,用软件查询确定 是在 响应中断后 哪个中断源申请中断,先被查询的先响应。 哪个中断源申请中断,先被查询的先响应。 查询次序决定了中断优先权次序, 查询次序决定了中断优先权次序,最先被查询 的中断源具有最高的优先权。 的中断源具有最高的优先权。
2012-1-9
微机原理及应用
11
2、中断处理过程 、
一个中断过程应该包含以下五个过程: 一个中断过程应该包含以下五个过程 (1)中断请求 ) (2)中断排队 ) (3)中断响应 ) (4)中断服务 ) (5)中断返回 )
2012-1-9
微机原理及应用
12
(1)中断请求 ) 当中断源需要CPU为其服务时,首先送出中断 为其服务时, 当中断源需要 为其服务时 请求信号。 请求信号。 中断信号可以由中断指令或是某些特定条件产生, 中断信号可以由中断指令或是某些特定条件产生, 也可以是通过CPU引脚(INTR)向CPU发出中断请 引脚( 也可以是通过 引脚 ) 发出中断请 求信号而产生。 求信号而产生。 实际系统中一般都有多个中断源, 实际系统中一般都有多个中断源, 为了增加控 制的灵活性,每个中断源接口电路中,设置一个中断 制的灵活性,每个中断源接口电路中,设置一个中断 请求触发器和一个中断屏蔽触发器。 和一个中断屏蔽触发器 请求触发器和一个中断屏蔽触发器。
2012-1-9
微机原理及应用
4
中断源
(1)一般的输入输出设备。如键盘,打印机等; )一般的输入输出设备。如键盘,打印机等; (2)数据通道中断源。如磁盘,光驱等直接与存储 )数据通道中断源。如磁盘, 器交换数据所要求的中断; 器交换数据所要求的中断; (3)实时时钟。在控制系统中使用外部硬件电路实 )实时时钟。 现时间控制,当定时时间到时向CPU发出中断申请; 发出中断申请; 现时间控制,当定时时间到时向 发出中断申请 (4)故障引起的中断。如电源掉电等; )故障引起的中断。如电源掉电等; (5)由中断指令或软件故障引起的中断。如系统功 )由中断指令或软件故障引起的中断。 能调用,除数为0, 能调用,除数为 ,或者在程序调试时设置断点等引 起的中断。 起的中断。
2012-1-9
微机原理及应用
13
(1)中断请求 ) 当中断源有请求时, 中断请求触发器置 : 当中断源有请求时,将中断请求触发器置1: * 若中断屏蔽触发器为“0”状态,表示允许该 中断屏蔽触发器为 ”状态, 中断源向CPU发出中断请求“信号”; 发出中断请求“ 中断源向 发出中断请求 信号” * 若中断屏蔽触发器为“1”状态,表示禁止该 中断屏蔽触发器为 ”状态, 中断源向CPU发出中断请求“信号”。 发出中断请求“ 中断源向 发出中断请求 信号” 尽管该中断源有中断请求,也不能被送出, 尽管该中断源有中断请求,也不能被送出,称该 中断请求被屏蔽了。 中断请求被屏蔽了。
2012-1-9
微机原理及应用
10
(3)优先权高的中断源能中断优先权低的 ) 中断处理
在中断服务处理过程中: 在中断服务处理过程中: 若新的中断申请其优先级别更高, 若新的中断申请其优先级别更高,则CPU应再 应再 一次中断,转去优先权更高的中断源服务。 一次中断,转去优先权更高的中断源服务。处理完 再回到原来的中断服务中,这也称为中断嵌套 中断嵌套。 后,再回到原来的中断服务中,这也称为中断嵌套。 若新的中断源优先权级别为同级或低级, 若新的中断源优先权级别为同级或低级,则 CPU暂不理会,继续正在处理的中断服务,直到当 暂不理会, 暂不理会 继续正在处理的中断服务, 前中断处理结束后再去处理新的中断申请。 前中断处理结束后再去处理新的中断申请。
2012-1-9
微机原理及应用