当前位置:文档之家› 微机原理第8章 微型计算机的中断系统

微机原理第8章 微型计算机的中断系统

27
(3)ICW3 ) 8259A主片格式: 主片格式: 主片格式
A0 1 D7 S7 Si= D6 S6 D5 S5 D4 S4 D3 S3 D2 S2 D1 S1 D0 S0
0:表示IRi端上未接 :表示 端上未接8259A从片 从片 1:表示IRi端上接有 :表示 端上接有8259A从片 从片
第八章 微型计算机的中断系统
1
实际场景
正在看书 电话铃响 接电话 继续看书
计算机
执行程序 事件发生 事件处理 继续执行程序 中断请求及响应 中断处理 中断返回
2
非屏蔽中断请求 NMI 中断逻辑
外部中断 非屏蔽中断 INTR 8259A 可屏蔽 中断请求
INT n 指令
INTO 指令
除法 出错
单步 (TF=1) 内部中断
IR2处理程序 处理程序 STI . . (EOI) . . IRET
IR1处理程序 处理程序 STI . . . (EOI) IRET
IR3 中断请求 开中断
IR2中断清除 中断清除 IR4中断请求 中断请求
IR1中断清除 中断清除
IR4处理程序 处理程序 . STI . . (EOI) IRET
执行完 否? Y 内部中 断? N NMI ? N INTR ? N TF=1 ? N
Y
类型码=0~ 类型码 ~255
高字→CS 高字 低字→IP 低字 转入中断服务程序
Y
类型码=2 类型码
NMI? N
Y
Y
IF=1? N
Y
中断响应, 中断响应, 读回类型码
TEMP= 1? N
Y
Y
类型码=1 类型码
执行中断 服务程序 恢复CS和 恢复 和IP 恢复PSW 恢复 返回被中断 的程序


7
例8-2 用指令来设置中断服务程序的入口地址到中断类 型号n所对应的中断向量表中 所对应的中断向量表中。 型号 所对应的中断向量表中。
MOV AX,0 中断向量表的段地址送到ES , ;中断向量表的段地址送到 MOV ES,AX , MOV DI,N*4 中断类型号*4 , ;中断类型号 MOV AX,OFFSET INTRAD ;取中断服务程序的偏移地址 , CLD STOSW 偏移地址送[4n][4n+1]单元 ;偏移地址送[4n][4n+1]单元 MOV AX,CS , STOSW 段地址送[4n+2][4n+3]单元 ;段地址送 单元 STI …… INTRAD: PUSH AX : STI …… POP AX IRET
优先级 裁决器
中断请 求寄存 器
8088连A0 连 8086连A1 连 地址 总线
ICW1 A0 ICW2
OCW1 中断屏蔽寄存器 OCW2
译 码 器 INTR
CS INT
ICW3 (主/从) 主从 OCW3 ICW4 (方式控制 方式控制) 方式控制
19
20
例8-5 当前IR3中断请求,则处理IR3,处理完 IR3后,IR4变成最高优先级,优先级依次为 IR4,IR5、IR6、IR7、IR0、IR1、IR2、IR3。
地址 A0=0 A0=1
N 写ICW3 N IC4=1? Y 写IWC4
A0=1
A0=1
31
(1)OCW1 )
A0 1 D7 M7 M i= D6 M6 D5 M5 D4 M4 D3 M3 D2 M2 D1 M1 D0 M0
1:屏蔽由IRi引入的中断请求 :屏蔽由 0:允许IRi端中断请求引入 :允许
IP CS IP CS
专用 5个 个
008 00C 010
系统 用 27个 个 用户 用 224个 个
014
07C 080
类型31中断入口 类型 中断入口 类型32中断入口 类型 中断入口
3FC
类型255中断入口 类型 中断入口
IP CS
6
某中断的类型号为68H 68H, 例8-1 某中断的类型号为68H,中断的操作过程 如下: 如下:
A0 1 D7 T7 D6 T6 D5 T5 D4 T4 D3 T3 D2 0 D1 0 D0 0
中断类型的高5位 中断类型的高 位
系统中, 例8-10 在IBM PC/XT系统中,T7~T3=00001,所以对应 系统中 , 8个中断的类型号为 个中断的类型号为08H~0FH。端口地址为 个中断的类型号为 。端口地址为21H。设置 。 ICW2的指令为: 的指令为: MOV AL,8 , OUT 21H,AL ,
IRET指 指 令的操 作 5
000 004
类型0中断入口 除法出错 类型 中断入口(除法出错 中断入口 除法出错) 类型1中断入口 单步中断 类型 中断入口(单步中断 中断入口 单步中断) 类型2中断入口 类型 中断入口(MNI) 中断入口 类型3中断入口 断点中断 类型 中断入口(断点中断 中断入口 断点中断) 类型4中断入口 溢出中断 类型 中断入口(溢出中断 中断入口 溢出中断) 类型5中断入口 类型 中断入口
9
利用DOS功能设置中断向量和取中断向量。 功能设置中断向量和取中断向量。 例8-4 利用 功能设置中断向量和取中断向量
MOV AL,N , ;取中断向量 并存中断向量 取中断向量,并存中断向量 取中断向量 MOV AH,35H , INT 21H PUSH ES PUSH BX POP DX;恢复原中断 恢复原中断 PUSH DS POP DS MOV AX,SEG INTRAD;设中断向量 , 设中断向量 MOV AL,N , MOV DS,AX , MOV AH,25H , MOV DX,OFFSET INTRAD , INT 21H MOV AL,N , RET MOV AH,25H , INT 21H INTRAD:…… : POP DS IRET ……
中断请求 寄存器 (IRR)
IR0 IR1 … … IR7
级联 缓冲器/ 缓冲器 比较器
中断屏蔽寄存器(IMR) 中断屏蔽寄存器
17
18
SP/NEINTA源自WRRDCAS2
CAS1 CAS0 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
AD0~AD7 D0~D7
当前中 断服务 寄存器 (芯片控制 芯片控制) 芯片控制 (类型 类型) 类型
29
(4) ICW4——方式控制 方式控制
A0 1 D7 0 D6 0 D5 0 D4
SFNM
D3 BUF
D2 M/S
D1
AEOI
D0
PM
1 :特殊全嵌套方式 0:完全嵌套方式 :
0 非缓冲方式 缓冲方式/从片 缓冲方式 从片 1 缓冲方式/主片 缓冲方式 主片 1 M/S × SP输入 输入 EN输出 输出
IR3处理程序 处理程序 STI . . . (EOI) IRET
开中断
IR4 中断清除
IR3 中断清除
15
16
INTA D7~D0 数据总线 缓冲器
INT
控制电路
RD WR A0 CS CAS0 CAS1 CAS2 SP/EN
读/写 写 控制电路
中断服务 寄存器 (ISR)
优先级 管理逻辑 (PR)
系统初始化中, 例8-9 IBM PC/XT系统初始化中,设ICW1=13H,表示 系统初始化中 , 系统中8259A为单片方式,上升沿触发,要求设置 为单片方式, 系统中 为单片方式 上升沿触发,要求设置ICW4。 指令为: 指令为: MOV AL,13H , OUT 20H,AL ,
26
(2)ICW2 )
22
例8-7 某一时刻8259A中IR2,IR6有中断嵌套服务。在IR2 某一时刻8259A中 有中断嵌套服务。 8259A 中断服务程序中安排了最低优先权赋给IR 中断服务程序中安排了最低优先权赋给IR3,要求给出指 令执行后中断优先级变化的情况。 令执行后中断优先级变化的情况。
23
屏蔽第2 位进入的中断请求,假设8259A 例8-8 屏蔽第2、3、5、6位进入的中断请求,假设8259A 的端口地址为20H 21H。 20H, 的端口地址为20H,21H。 AL, MOV AL,01101100B 21H, OUT 21H,AL
24
(1)ICW1 命令字 )
A0 0 ICW1 的地址
D7 A7
D6 A6
D5 A5
D4 1
D3
LTIM
D2 0
D1
SNGL
D0 IC4 1:需要ICW4 :需要 0:不设 :不设ICW4
ICW1 的标志位 8080/8085用 用
触发方式 1:高电平触发 : 0:上跳沿触发 :
1: 8259A单片方式 单片方式 0: 8259A级联方式 级联方式
10
中断响应时序
第1个 INTA 个 周期 T2 T3 T4 第2个INTA 个 周期 T2 T3
T1 CLK ALE
T1
T4
LOCK
INTA
D7~D0
n
11
12
接口1 接口 CPU 以及总线 控制逻辑 INTA INTR
中断 回答 中断请求
接口2 接口
接口3 接口
菊花链 逻辑电路
菊花链 逻辑电路
× 0 1 SP/EN 1 0 1 0
1:8086/8088方式 方式 0: 8080/8085方式 方式 1:中断自动结束 : 0:非自动结束 : 主片 从片
BUF 0 1
1----主片 主片 0----从片 从片
CPU→8259A 8259A→CPU
30
写ICW1 写ICW2 Y
SNGL=1? ?
可屏蔽中断
8086/8088CPU
3
执行指令 N 指令结束 Y 有中断请求 Y 响应中断 关中断 保护断点 寻找中断源 转中断程序 取下一条指令 N 返回 恢复现场 中断服务 保护现场
相关主题