Download presentation
Presentation is loading. Please wait.
Published by朝 朱 Modified 7年之前
1
第8章 中 断 8.1 概 述 为什么要用中断 中断的出现,会带来以下好处。 (1)同步操作 (2)实现实时处理 (3)故障处理
2
中断源 (1)一般的输入、输出设备。如键盘、行打印机等。 (2)数据通道中断源。如磁盘、磁带等。
3
(3)实时时钟。在控制中,常要遇到时间控制,若用前面介绍的用CPU执行一段程序来实现延时的方法,则在这段时间内,CPU不能干别的工作,降低了CPU的利用率。
4
(4)故障源。 (5)为调试程序而设置的中断源。
5
中断系统的功能 (1)实现中断及返回 (2)能实现优先权排队 (3)高级中断源能中断低级的中断处理
6
8.2 最简单的中断情况 CPU响应中断的条件 (1)设置中断请求触发器。 (2)设置中断屏蔽触发器。 (3)中断是开放的。
7
图8-1 设置中断请求的情况
8
图8-2 具有中断屏蔽的接口电路
9
(4)CPU在现行指令结束后响应中断,即运行到最后一个机器周期的最后一个T状态时,CPU才采样INTR线。
10
图8-3 中断响应流程图
11
8.2.2 CPU对中断的响应 (1)关中断 (2)保留断点 (3)保护现场 (4)给出中断入口,转入相应的中断服务程序 (5)恢复现场
(6)开中断与返回
12
图8-4 中断响应、服务及返回流程图
13
8.3 中断优先权 用软件确定中断优先权 图8-5 用软件查询方式的接口电路
14
(1)屏蔽法 IN AL, [20H] ;输入中断请求触发器的状态 TEST AL, 80H ;检查最高位(电源故障)是否有请求 JNE PWF ;有,则转至电源故障处理程序 TEST AL 40H ;否,检查磁盘是否有请求
15
JNE DISS ;有,转至磁盘服务程序 TEST AL 20H ;否,检查磁带是否有请求 JNE MT ;有,转至磁带服务程序
16
图8-6 软件查询程序流程图
17
(2)移位法 XOR AL, AL IN AL,[20H] RCL AL, 1 JC PWF JC DISS
18
硬件优先权排队电路 (1)中断优先权编码电路 图8-7 编码器和比较器的优先权排队电路
19
(2)雏菊花环(Daisy Chain)式或称为链式优先权排队电路
图8-8 链式优先权排队电路
20
的中断方式 外部中断 1.可屏蔽中断 2.非屏蔽中断
21
内部中断 (1)DIV或IDIV指令 (2)INT指令 (3)INTO指令 (4)单步执行
22
中断向量表 图8-9 中断向量表
23
8.4.4 8086中的中断响应和处理过程 对于软件中断,中断类型码也是自动形成的,几种中断的类型码为: 中断功能 中断类型码 被零除 0
中的中断响应和处理过程 对于软件中断,中断类型码也是自动形成的,几种中断的类型码为: 中断功能 中断类型码 被零除 单步中断 1 断点中断 3 溢出中断 4
24
8086在取得了类型码后的处理过程是一样的,其顺序为:
(1)将类型码乘4,作为中断向量表的指针; (2)把CPU的标志寄存器入栈,保护各个标志位,此操作类似于PUSHF指令;
25
(3)复制追踪标志TF的状态,接着清除IF和TF标志,屏蔽新的INTR中断和单步中断;
(4)保存主程序中的断点,即把主程序断点处的IP和CS值推入堆栈保护,先推入CS值,再推入IP值;
26
(5)从中断向量表中取中断服务程序的入口地址,分别送至CS和IP中,先取CS值;
(6)按新地址执行中断服务程序。
27
图 的中断响应和处理流程图
28
8.5 中断控制器Intel 8259A 8.5.1 功能 Intel 8259A是与8086系列兼容的可编程的中断控制器。
功能 Intel 8259A是与8086系列兼容的可编程的中断控制器。 (1)具有8级优先权控制,通过级连可扩展至64级优先权控制。
29
(2)每一级中断都可以屏蔽或允许。 (3)在中断响应周期,8259A可提供相应的中断向量,从而能迅速地转至中断服务程序。 (4)8259A有几种工作方式,可以通过编程来进行选择。
30
结构 图 A的方框图
31
A的引线 图 A的引线
32
图 A与标准系统总线的连接
33
A的中断顺序 1.中断响应顺序 2.8259A在中断响应周期向CPU输送的内容
34
表8-1 8259A输送的中断向量 D7 D6 D5 D4 D3 D2 D1 D0 IR7 T7 T6 T5 T4 T3 1 IR6 IR5
IR5 IR4 IR3 IR2 IR1 IR0
35
A的编程 8259A的编程可以分为以下两种。 (1)初始化编程 (2)工作方式编程
36
表8-2 8259A的读/写操作 A0 D4 D3 输入操作(读) 1 IRR、ISR或中断级别→数据总线(*) IMR→数据总线
1 IRR、ISR或中断级别→数据总线(*) IMR→数据总线 输出操作(写) 数据总线→OCW2 数据总线→OCW3 × 数据总线→OCW1 数据总线→OCW1,ICW2,ICW3,ICW4(**) 断开功能 数据总线——三态(无操作)
37
1.8259A的初始化编程 图 A的初始化顺序
38
图8-15 ICW1的功能
39
图8-16 ICW2的功用
40
图 A ICW3的功用
41
图8-18 ICW4的功用
42
2.8259A的工作命令字 图8-19 OCW1的功用
43
图8-20 OCW2的功用
44
图8-21 OCW3的功用
45
A的工作方式 1.查询方式
46
2.中断屏蔽 3.缓冲模式 4.中断嵌套模式 5.中断优先权旋转
47
(1)自动旋转 图8-22 自动旋转模式下,优先权的改变
48
(2)特殊旋转方式 在特殊旋转方式,可用程序来改变优先权。 可以用OCW2来设置最低优先权的中断源,则别的输入线的优先权也就相应固定了。 例如设置IR5为最低优先权,则IR6的优先权就变为最高的了。
49
6.中断结束命令 (1)自动中断结束模式(AEOI) (2)非自动中断结束方式(EOI)
50
7.读8259A的状态 8.8259A的级连
51
图 A的级连
Similar presentations