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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
INT 68H MOV AX,0 0:19C 类型 类型67H 中断向量 0:1A0 50 20 向量地址 =68H×4 × =1A0H 0:1A2 00 A0 0:1A4 类型 类型69H 中断向量 中断处理程序



A000:2050 STI IP PUSH DS ….. 2050 …. CS IRET A000
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 接口
菊花链 逻辑电路
菊花链 逻辑电路
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级联方式 级联方式
8
用指令设置中断向量方法二。 例8-3 用指令设置中断向量方法二。
MOV AX,0 , MOV ES,AX , MOV BX,N*4 , MOV AX,OFFSET INTRAD , MOV ES:WORD PTR[BX],AX : , MOV AX,SEG INTRAD , MOV ES:WORD PTR[BX+2], AX : , STI ….. INTRAD:PUSH AX : STI ….. POP AX IRET
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
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输出 输出
优先级 裁决器
中断请 求寄存 器
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。
IRET指 指 令的操 作 5
000 004
类型0中断入口 除法出错 类型 中断入口(除法出错 中断入口 除法出错) 类型1中断入口 单步中断 类型 中断入口(单步中断 中断入口 单步中断) 类型2中断入口 类型 中断入口(MNI) 中断入口 类型3中断入口 断点中断 类型 中断入口(断点中断 中断入口 断点中断) 类型4中断入口 溢出中断 类型 中断入口(溢出中断 中断入口 溢出中断) 类型5中断入口 类型 中断入口
8259A从片格式: 从片格式: 从片格式
A0 1 D7 0 D6 0 D5 0 D4 0 D3 0 D2 ID2 D1 ID1 D0 ID0
从片8259A的识别地址 的识别地址 从片
28
主片IR 端连接两个8259A从片,编写 从片, 例8-11 某8259A主片 3,IR7端连接两个 主片 从片 初始化的程序。 初始化的程序。 主片: 主片: MOV AL,88H OUT 21H,AL 主片端口地址20H,21H ;主片端口地址 , 从片1: 从片1: MOV AL,03H OUT A1H,AL 从片1端口地址 端口地址A0H,A1H ;从片 端口地址 , 从片2: 从片 : MOV AL,07H OUT B1H,AL 从片2端口地址 端口地址B0H,B1H ;从片 端口地址 ,
执行完 否? 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 恢复 返回被中断 的程序
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 ,
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从片 从片
菊花链 逻辑电路
中断 回答
中断请求
菊花链 逻辑电路
INTA INTR
13
中断类型寄存器
由中断请求决定
中断服务 寄存器
优先级 管理逻辑
中断请求 寄存器
IR0 IR1 ... … IR7
Hale Waihona Puke Baidu
中断屏蔽寄存器
14
中断嵌套
主程序 . . . . . . .
IR2和IR4 和 中断请求 IR1中断请求 中断请求
第八章 微型计算机的中断系统
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
IR3处理程序 处理程序 STI . . . (EOI) IRET
开中断
IR4 中断清除
IR3 中断清除
15
16
INTA D7~D0 数据总线 缓冲器
INT
控制电路
RD WR A0 CS CAS0 CAS1 CAS2 SP/EN
读/写 写 控制电路
中断服务 寄存器 (ISR)
优先级 管理逻辑 (PR)
地址 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端中断请求引入 :允许
× 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? ?
21
某中断系统IR 为最高优先级, 为最低优先级。 例8-6 某中断系统 0为最高优先级,IR7为最低优先级。有 IR2,IR5两个中断请求。设置为普通 两个中断请求。设置为普通EOI循环方式,要求给 循环方式, 循环方式 中断处理完后中断优先级的变化情况。 出IR2和IR5中断处理完后中断优先级的变化情况。
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,中断的操作过程 如下: 如下:
25
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级连方式 级连方式
系统初始化中, 例8-9 IBM PC/XT系统初始化中,设ICW1=13H,表示 系统初始化中 , 系统中8259A为单片方式,上升沿触发,要求设置 为单片方式, 系统中 为单片方式 上升沿触发,要求设置ICW4。 指令为: 指令为: MOV AL,13H , OUT 20H,AL ,
26
(2)ICW2 )
可屏蔽中断
8086/8088CPU
3
执行指令 N 指令结束 Y 有中断请求 Y 响应中断 关中断 保护断点 寻找中断源 转中断程序 取下一条指令 N 返回 恢复现场 中断服务 保护现场
4
取指令
执行指令
8086的中断 的中断 响应过程。 响应过程。
N
PSW入栈 入栈 TEMP←TF TF=0 CS、IP入栈 、 入栈 计算向量表地址
中断请求 寄存器 (IRR)
IR0 IR1 … … IR7
级联 缓冲器/ 缓冲器 比较器
中断屏蔽寄存器(IMR) 中断屏蔽寄存器
17
18
SP/NE
INTA
WR
RD
CAS2
CAS1 CAS0 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
AD0~AD7 D0~D7
当前中 断服务 寄存器 (芯片控制 芯片控制) 芯片控制 (类型 类型) 类型
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 ……


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
相关文档
最新文档