第7章_中断系统和中断控制器8259A

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2021/8/14
微机原理及应用
5
广东工业大学 自动化学院 自动控制系 陈玮
中断分类
根据中断与CPU的相对关系,中断分为内部中 断和外部中断。
内部中断可以是中断指令设置的中断,调试程 序时设置的中断,或是程序运行过程中发生的非预 期情况而产生的中断;
外部中断则是由直接连到CPU引脚上的信号引 起的中断,如外部设备请求服务中断,实时时钟定 时到中断,电源掉电等等。
当有一中断源提出中断请求时,CPU首先判断 是否响应该中断?
* 如果CPU正在执行的是重要的程序,可以暂不 响应,即关中断;
*当CPU完成了当前的重要程序后,开中断予以 响应,同时,保存断点,转入中断处理;
* 当中断处理完后,恢复断点从而回到被中断运 行的原程序继续执行;
2021/8/14
微机原理及应用
2021/8/14
微机原理及应用
19
广东工业大学 自动化学院 自动控制系 陈玮
3、中断优先权管理
(1)软件确定中断优先权 软件法是在CPU响应中断后,用软件查询确定
哪个中断源申请中断,先被查询的先响应。 查询次序决定了中断优先权次序,最先被查询
的中断源具有最高的优先权。
2021/8/14
微机原理及应用
2021/8/14
微机原理及应用
3
广东工业大学 自动化学院 自动控制系 陈玮
1、中断及中断源
中断是一种让CPU挂起正在执行的程序而转去 处理特殊事件的操作。
CPU暂时停止执行原来的程序而转去中断处理, 处理好中断服务后再返回继续执行原来的程序,这 样一个过程就是一个中断过程 。
能够引起CPU中断的事件称为中断源 。 CPU中断系统的基本功能 。
2021/8/14
微机原理及应用
4
广东工业大学 自动化学院 自动控制系 陈玮
中断源
(1)一般的输入输出设备。如键盘,打印机等; (2)数据通道中断源。如磁盘,磁带机等直接与存 储器交换数据所要求的中断;
(3)实时时钟。在控制系统中使用外部硬件电路实 现时间控制,当定时时间到时向CPU发出中断申请; (4)故障引起的中断。如电源掉电等; (5)由中断指令或软件故障引起的中断。如系统功 能调用,除数为0,或者在程序调试时设置断点等引 起的中断。
8086/8088CPU有两类中断: * 内部中断 由执行中断指令或特殊事件引起; * 外部中断 由外围设备接口向CPU的中断请求
引脚INTR和NMI发出中断请求信号而引起的。
2021/8/14
微机原理及应用
24
广东工业大学 自动化学院 自动控制系 陈玮
二、8086/8088的中断系统
1、8086/8088的中断指令 2、8086/8088的中断分类 3、中断向量表 4、8086/8088中断处理过程
软件查询流程图
保护现场
A申请服务? Y
N
外设A中断服务程序
B申请服务? Y
N
外设B中断服务程序
C申请服务? Y
N ┆
外设C中断服务程序
恢复现场
* 软件查询次序就是优先权高低的次序; * 软件确定中断优先权不需复杂的硬件电路,简单易实现; * 中断源较多时,查询时间较长,中断响应较慢。
2021/8/14
中断向量存放地址为: n×4= 0010H
2021/8/14
微机原理及应用
28
广东工业大学 自动化学院 自动控制系 陈玮
1、8086/8088的中断指令
(3)中断返回指令 指令格式:IRET 指令操作:IP,CS,FR依此出栈,SP+6→SP
所有中断服务程序,无论是软件中断,还是硬件 中断,最后执行的指令一定是IRET,用以退出中断, 返回断点。
微机原理及应用第79章中断系统和中断控制器8259a一中断的基本概念二80868088的中断系统三中断控制器8259a20141031微机原理及应用2一中断的基本概念1中断及中断源2中断处理过程3中断优先权管理20141031微机原理及应用31中断及中断源中断是一种让cpu挂起正在执行的程序而转去处理特殊事件的操作
微机原理及应用
22
广东工业大学 自动化学院 自动控制系 陈玮
3、中断优先权管理
(2)硬件确定中断优先权 由硬件实现中断优先权的判别。 * 常用的硬件电路有:中断优先权编码电路,链
式优先权排队电路及专用硬件电路等。 * 利用中断控制器8259A,它具有8个优先权控
制,可以通过级联,扩展至64级优先权控制,且每 级中断都可设置为允许或屏蔽 。
⑥中断返回,从堆栈中弹出断点,返回主程序。
2021/8/14
微机原理及应用
18
广东工业大学 自动化学院 自动控制系 陈玮
3、中断优先权管理
中断优先权是事先根据中断源的重要性给每个 中断源确定一个中断优先级别——优先权。
中断优先权管理就是判别和确定各个中断源的 中断优先权。
中断优先权判别方法有软件和硬件两种方法。
2021/8/14
微机原理及应用
10
广东工业大学 自动化学院 自动控制系 陈玮
(3)优先权高的中断源能中断优先权低的 中断处理
在中断服务处理过程中:
若新的中断申请其优先级别更高,则CPU应再 一次中断,转去优先权更高的中断源服务。处理完 后,再回到原来的中断服务中,这也称为中断嵌套。
若新的中断源优先权级别为同级或低级,则 CPU暂不理会,继续正在处理的中断服务,直到当 前中断处理结束后再去处理新的中断申请。
2021/8/14
微机原理及应用
16
广东工业大学 自动化学院 自动控制系 陈玮
(4)中断服务和(5)中断返回
中断服务是指CPU执行中断服务程序。 中断服务程序应包括:
①保护现场,CPU响应中断时自动保护断点, 寄存器则由程序员决定是否要入栈;
②开中断,CPU响应中断时,自动执行关中断 操作。要实现中断嵌套,必须在中断服务程序中开 中断;
《微机原理及应用》
主讲教师
广东工业大学 自动化学院 自动控制系 陈玮
第7章 中断系统和中断控制器8259A
一、中断的基本概念 二、8086/8088的中断系统 三、中断控制器8259A
2021/8/14
微机原理及应用
2
广东工业大学 自动化学院 自动控制系 陈玮
一、中断的基本概念
1、中断及中断源 2、中断处理过程 3、中断优先权管理
2021/8/14
微机原理及应用
14
广东工业大学 自动断响应
中断排队是确定当前所有中断请求中优先级最 高的那个中断源。
因为CPU一次只能响应一个中断,所以必须首 先处理最紧急最重要的中断。
根据中断源的轻重缓急给予一个中断优先权级别, 优先权级别最高的中断源将首先得到响应。
微机原理及应用
13
广东工业大学 自动化学院 自动控制系 陈玮
(1)中断请求
当中断源有请求时,将中断请求触发器置1:
* 若中断屏蔽触发器为“0”状态,表示允许该 中断源向CPU发出中断请求“信号”;
* 若中断屏蔽触发器为“1”状态,表示禁止该 中断源向CPU发出中断请求“信号”。
尽管该中断源有中断请求,也不能被送出,称该 中断请求被屏蔽了。
2021/8/14
微机原理及应用
25
广东工业大学 自动化学院 自动控制系 陈玮
1、8086/8088的中断指令
(1)中断指令 指令格式: INT n
;n=0~255,中断类型码
指令操作: SP-2 → SP(修改堆栈指针), FR入栈, IF=0(中断标志置0,关中断,CPU不响应可屏蔽中 断) ,
非屏蔽中断请求 NMI
... 中断控制系统( 8259A)
8
广东工业大学 自动化学院 自动控制系 陈玮
(1)实现中断及返回
* 通过设置CPU内部的中断允许触发器(IFF),开 关中断 。
当IFF=1,使中断允许(开中断); 当IFF=0,使中断不允许(关中断)。
注意: 不可屏蔽中断,要求CPU立即处理。不受中断允
许触发器(IFF)的控制。 可屏蔽中断,受中断允许触发器(IFF)的控制。
2021/8/14
微机原理及应用
29
广东工业大学 自动化学院 自动控制系 陈玮
2、8086/8088的中断分类
8086/8088的中断系统可以处理256种不同的中断。
所有可能产生的中断源有:可屏蔽中断INTR、
非屏蔽中断NMI、指令中断INT n和特定条件下的中
断,分为两类:
可屏蔽中断请求
外部中断
TF=0(陷阱标志,TF=0,CPU正常执行程序) , SP-2 → SP (修改堆栈指针), CS入栈 SP-2 → SP (修改堆栈指针),IP入栈
[n×4] →IP [n×4+2] →CS
2021/8/14
微机原理及应用
26
广东工业大学 自动化学院 自动控制系 陈玮
1、8086/8088的中断指令
2021/8/14
微机原理及应用
9
广东工业大学 自动化学院 自动控制系 陈玮
(2)实现优先权排队,以确定优先处理的中 断源
一个系统中有多个中断源,存在着几个中断源 同时请求的可能;
因此,必须事先根据中断源的重要性,给每个 中断源确定一个中断优先级别——优先权。
中断响应时,CPU应能首先响应优先权级别高 的中断源。
2021/8/14
微机原理及应用
23
广东工业大学 自动化学院 自动控制系 陈玮
二、8086/8088的中断系统
8086/8088CPU具有一个功能很强、管理高效且 简便灵活的中断系统,可以处理多达256种中断源。
采用向量中断方法,对256种中断只需一次间接 访问就可获得任一中断源的中断服务程序的入口地 址,中断响应快速。
2021/8/14
微机原理及应用
21
广东工业大学 自动化学院 自动控制系 陈玮
3、中断优先权管理
(1)软件确定中断优先权
软件查询程序: IN AL,80H ;端口读入状态 TEST AL,80H; JNZ SERVE_A TEST AL,40H JNZ SERVE_B …… TEST AL,01H JNZ SERVE_H HLT
2021/8/14
微机原理及应用
17
广东工业大学 自动化学院 自动控制系 陈玮
(4)中断服务和(5)中断返回
③中断处理,对中断源作相应的处理,是中断 服务程序的核心;
④关中断,若中断服务程序设置了开中断,则 此时应该关中断,以保证恢复现场的操作不被打断;
⑤恢复现场,按后进先出的原则,PUSH和POP 应配对使用;
20
广东工业大学 自动化学院 自动控制系 陈玮
3、中断优先权管理
如图,8个外设只要 有中断请求,CPU检测 到中断请求信号,响应 中断;
D 7~ D 0
CPU
INTR
I/O 端口 端口地址 80H ≥1
外设 AB CDEFGH 中断请求
读入端口80H的内容,逐位判别确定当前申请中 断的优先权最高的中断源,从而进入相应的中断服 务程序。
27
广东工业大学 自动化学院 自动控制系 陈玮
1、8086/8088的中断指令
(2)溢出中断指令
指令格式:INTO
;与INT 4等价
指令操作: 溢出中断指令用于带符号数加减法运算后, 由于运算溢出而产生中断。
通常,写在一条算术运算指令后:
若运算结果使OF=1,进入中断类型码为4的中断;
否则,按顺序执行下一条指令。
2021/8/14
微机原理及应用
15
广东工业大学 自动化学院 自动控制系 陈玮
(2)中断排队和(3)中断响应
CPU通过中断排队确定了要响应的中断源后, 进入中断响应,自动完成以下步骤: ①关中断; ②保护断点,将正在执行的程序地址(断点)入栈; ③保护现场,标志寄存器FR自动入栈; ④形成中断服务程序入口地址。
2021/8/14
微机原理及应用
11
广东工业大学 自动化学院 自动控制系 陈玮
2、中断处理过程
一个中断过程应该包含以下五个过程: (1)中断请求 (2)中断排队 (3)中断响应 (4)中断服务 (5)中断返回
2021/8/14
微机原理及应用
12
广东工业大学 自动化学院 自动控制系 陈玮
(1)中断请求
中断向量就是中断服务程序的入口地址; 中断类型码 n×4 即为该中断向量的存放地址;
低字是IP,高字是CS,CPU取出CS和IP,转 去执行中断服务程序。
INT n 指令除了使IF=0和TF=0,对其他标志 位没有影响;
INT指令(即n=3),称为断点中断指令,用于 软件调试。
2021/8/14
微机原理及应用
2021/8/14
微机原理及应用
6
广东工业大学 自动化学院 自动控制系 陈玮
CPU中断系统的功能
(1)实现中断及返回 (2)实现优先权排队,以确定优先处理的中断源。 (3)优先权高的中断源能中断优先权低的中断处理
2021/8/14
微机原理及应用
7
广东工业大学 自动化学院 自动控制系 陈玮
(1)实现中断及返回
当中断源需要CPU为其服务时,首先送出中断 请求信号。
中断信号可以由中断指令或是某些特定条件产生, 也可以是通过CPU引脚(INTR)向CPU发出中断请 求信号而产生。
实际系统中一般都有多个中断源, 为了增加控 制的灵活性,每个中断源接口电路中,设置一个中断 请求触发器和一个中断屏蔽触发器。
2021/8/14
相关文档
最新文档