微机原理第七章中断-dsh
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
INTA给中断请求设备表示应答; –中断请求设备将中断号送上数据总线; –系统自动进入中断响应周期,由硬件完成关中断、 保存断点、取中断服务的入口地址(N*4)等一系 列操作,而后转向中断服务程序执行中断处理。 3、中断处理: 执行中断服务程序中规定的操作。 4、中断返回 将压栈的断点从堆栈中弹出,开中断,CPU转向被 中断的主程序继续执行。
...
IR7
中断屏蔽寄存器(IMR)
82C59A结构框图
•与80486CPU的连接 D0-D7 IORC IOWC 片选信号 产生电路] D0-D7 RD
WR
CS A0 IR0 --IR7
INTR
INT INTA CS0CS2 SP/EN Vcc
INTA
•级连方式连接
INTA
Vcc
CAS0 CAS1 SP/EN CAS2 从8259(1) INT INTA CAS0 CAS1 SP/EN CAS2 从8259(2)INT INTA CAS0 INTA CAS1 CAS2 SP/EN INT 主8259
•内部中断:中断请求来自于CPU内部
◇分为:软中断,内部中断和异常
◇软中断:指令中断(10H-31H),如INT 21H
◇内部中断和异常:除法出错中断(00H),溢出中 断(04H),单步中断(01H), 断点中断(03H)等。 ◇内部中断特点:均属不可屏蔽的中断,不需硬件连接 •外部中断:中断请求来自于CPU外部的设备或接口 ◇分为:不可屏蔽硬件中断和可屏蔽硬件中断。
– 特殊自动循环方式与普通自动循环方式的区别在用户可以 通过优先权命令指定IRi为最低优先级,其他依此循环。 IR7 IR6 IR5 IR4 IR3 -- - IR0
最低 最高
– 中断屏蔽方式
–普通屏蔽方式
( OCW1、OCW3共同设定)
通过编程对OCW1写入操作命令字,将IMR
的某些位置“1”,对相应的IRi 端进行屏蔽。 0 IR7 1 IR6 X -X -X -X -X X - - IR0
INTR
IR0—IR7
IR0—IR7
… IR0—IR7
◇82C59A的工作方式
(预置命令字ICW1-4;操作命令字OCW1-3)
–优先级固定:中断嵌套方式(ICW4设定)
–完全嵌套的特点是中断优先级别固定。8个中断请求IR0 -IR7中IR0优先级最高,IR7最低。在CPU中断服务期间允许级 别高的中断请求再进入,同级和低级的中断请求则不响应。 IR7 IR6 低 ----- - IR0 高
中 断
服
务
子程序
主程序
–为什么采用中断处理:
– 重要的事情及时处理
–出现意想不到的事件及时处理
–实现CPU与低速外部设备的速度匹配与并行工作。
二、中断类型及中断处理
•中断类型 • 共256种中断,中断号00H--FFH。
• 按是否允许屏蔽分为可屏蔽中断及不可屏蔽中断 • 按中断请求来源分为内部中断和外部中断。
3
4
00CH
010H ┇ 024H ┇
9
31 07CH
32 080H
类型31中断入口
类型32中断入口
系 统 备 用 用 户 使 用
┇
255 3FCH 类型FFH中断入口
说明:
•系统将中断源划分为256种类型,类型号从0—255 (00H--FFH)。 •中断矢量表分为三部分:
(1)专用中断
从类型 0 -- 9 共40个字节(PC
•中断入口地址的设定和读取
•设定:系统功能25H调用 (AH)=25H
(DS:DX)=中断服务程序入口地址
(AL)=中断类型号
例:设中断号40H,中断服务程序入口地址标号INT-P,则 MOV AH,25H
MOV AL,40H MOV DX,SEG INT-P MOV DS,DX MOV DX,OFFSET INT-P
是否循环 是否指定优先级 是否发EOI命令
A0
D7
D6
D5
D4
D3
D2
D1
D0
0
0 0 1 1 1 0 1 0 0 1 0 1 0 0 1 1
R
SL EOI 0
0 L2
L1 L0
1 :普通EOI结束,使当前处理的中断结束(常用) 1 :特殊EOI结束,使L2-L0所指定的IRi结束 1 :循环普通EOI结束,使当前的中断结束,且优先级最低 1 :循环特殊EOI方式,将L2-L0指定的中断结束并优先 级最低,依次循环 0 :设置自动EOI优先级循环方式 0 :清除自动EOI优先级循环 0 :置位优先级命令,设置L2-L0所指定的优先级最低 0 :无操作
用户定义
0
0
0 1 1 1
1
1 0 0 1
0 ——IR2
1 ——IR3 0 ——IR4 1 ——IR5 0 ——IR6
1
1
1 ——IR7
3、ICW3 主片
A0
级联时写入
D7 S7
D6 S6
D5 S5
D4 S4
D3 S3
D2 S2
D1
D0
1
S1 S0
为1,对应IR输入上有从片 从片
A0 D7 0 D6 0 D5 0 D4 0 D3 0 D2 ID2 D1 D0
–特殊完全嵌套和完全嵌套的区别是在CPU中断服务期间允 许高级和同级的中断请求进入。在级连时主82C59A采用此 方式。 从片 主片
–优先级循环:自动循环方式 (OCW2设定)
– 普通自动循环方式中IR0 --IR7的优先级可以改变,当某一 级中断请求IRi服务结束后,它的优先级别降为最低,IRi+1 的优先升为最高,依此循环。用于优先级相同的各个中断。 IR7 IR6 IR5 最低 -最高 --- - IR0
•IRET ,中断返回 •INTO,溢出中断 •LIDT EA 装入中断描述符表寄存器IDTR (EA)-》LIMIT0-15
(EA+2)-》BASE0-15
(EA+4)-》BASE16-31 •SIDT EA 保存中断描述符表寄存器
•可屏蔽中断的允许和禁止
•由IF控制,IF=1,允许 •响应某一中断后,CPU自动使IF=0,从而屏蔽其他中 断的进入。 •如果在中断响应中允许更高级中断进入,需在中断服 务程序中加STI指令开中断。
第七章 中断控制
主要内容
1、中断概述 2、中断类型及中断处理 3、中断控制器82C59A
学习指导和要求
ห้องสมุดไป่ตู้
掌握中断的概念及中断 处理过程; 了解82C59A的结构和工 作方式,能熟练进行初 始化编程。 基本掌握82C59A的应用。
一、中断概述
主程序
–
什么是中断
所谓中断是指CPU在正常执行 程序的过程中,由于某个外部 或内部事件的作用,强迫CPU 停止当前正在执行的程序,转 去为该事件服务(称为中断服 务),待服务结束后,又能自 动返回到被中断的程序中继续 执行。
CS WR RD D7 D6 D5
D4 D3 D2 D1 D0 CAS0 CAS1 GND
INTA
DO--D7 数据总线 缓冲器
INT
控制逻辑
RD wR A0 CS
CAS0 CAS1 CAS2 SP/EN
读/写逻辑
中断
优先权
中断
IR0
服务
寄存器 级连缓 冲/比较器 (ISR)
电路
(PR)
请求
寄存器 (IRR)
LTIM ADI=0 SNGL IC4=1
未用 标志位
1:写入ICW4 0:不写ICW4 1:单片 0:级联 1:间隔为4 0:间隔为8 1:电平触发 0:边沿触发
2、ICW2 设置中断类型号
A0 1 D7 T7 D6 T6 D5 T5 D4 T4 D3 T3 D2 D1 D0
ID2 ID1 ID0 0 0 0 0 ——IR0 1 ——IR1
◇82C59A的结构与引脚信号
VCC A9 INTA IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 INT SP/EN CAS2 28 27 26 25 24 23 22 21 20 19 18 17 16 15
8259A
1 2 3 4 5 6 7 8 9 10 11 12 13 14
INT 21H
•读取:系统功能35H调用 (AH)=35H (AL)=中断类型号
出口参数
(ES:BX)=中断服务程序入口地址
例:设中断号40H,读取对应的中断服务程序入口地址
MOV AH,35H MOV AL,40H INT 21H
三、中断控制器82C59A
CPU只提供一个INTR引脚,扩展时需中断控制器82C59A来 协助CPU管理中断。 82C59A具有中断申请、中断屏蔽、中断嵌套等功能。
4、外部可屏蔽中断
注:高级中断可 以打断低级中断, 反之则不然。
低
5、单步中断
–中断矢量表:
存放中断服务程序入口地址的存储空间。
实模式下存放于存储器的低端00000H--003FFH, 共1K字节,每一个中断号占据4字节的空间,低2 字节存放对应中断入口子程序的偏移地址,高2字 节存放对应中断入口子程序的段基址。
OCW1
–特殊屏蔽方式 0 IR7 1 IR6 X --
只对同级的中断请求进行屏蔽,用于级连。 X -X -X -X X - - IR0 OCW1
在OCW3中设为特殊屏蔽方式
–中断结束方式
ICW4 自动结束:在中断处理结束后自动将ISR中的相应位清除 非自动结束:在中断处理结束后发OCW2 命令将ISR中的
◇不可屏蔽硬件中断(02H):由NMI端引入的中断 请求, 中断请求不可被屏蔽。
可屏蔽硬件中断请求:由INTR端引入,中断请求可由
IF=0进行屏蔽,使中断请求不进入。 •中断优先级: 多个中断请求同时发生,响应顺序按优先级排列。 优先级排列如下:
1、内部中断和异常
2、软件中断
高
3、外部不可屏蔽中断
•总线连接方式:
•缓冲方式:8259A通过总线驱动器和系统数据线相连,此 时EN为输出端,作为总线驱动器的启动信号。用于多个 8259A与系统相连时。 •非缓冲方式:8259A数据线直接与系统数据线相连。此时, 主片的SP接高电平,从片的SP接低电平。
四、82C59A的编程
ICW:初始化(预置)命令字,设定82C59A的工作方式,初 始化时写入,一旦写入,一般不改变。 OCW:操作命令字用于中断操作管理,中断处理中随时写入, 随时修改。 1、ICW1 A0 D7 D6 D5 D4 D3 D2 D1 D0 0 / / / 1
完成当前指令 形成中断 内部中断 类型号 标志入栈
NMI
关中断
INTR
IF=1?
中断响应取 中断类型号
断点入栈
TF=1?
N
执行下一条指令
取中断服务程 序入口地址
标志位、断点出栈
中断处理
•和中断相关的指令
•STI IF=1,允许可屏蔽中断请求进入 •CLI IF=0,不允许可屏蔽中断请求进入
•INT N,软中断
机为0-4)。
(2)备用中断
从类型10 -- 31 (PC机为5-31),
系统保留,不允许用户占用。
(3)用户中断
从类型 32 -- 255,供用户使用。
–中断处理过程
中断处理过程通常由中断申请、中断响应、中断处 理、中断返回四个过程完成,以外部可屏蔽中断为例。 1. 中断申请
– 当外设需要中断服务时,由硬件产生一个中断请 求信号INTR发送给CPU; –CPU在当前指令结束时检测INTR引脚,判断是否 有中断请求。 2. 中断响应 – 当检测到有中断请求且IF=1时,总线周期信号M/IO D/C W/R为000,通过总线控制逻辑发中断响应信号
•操作命令字OCW的格式
操作命令字有OCW1,OCW2,OCW3三个,可任意顺序任意 时间写入 1、OCW1 中断屏蔽字,有选择地屏蔽某一位或某几位
当某位Mi = 1,对应的IRi 被屏蔽。
A0 D7 D6 D5 D4 D3 D2 D1 D0
1
M7 M6 M5 M4 M3 M2 M1 M0
2、OCW2:设置中断优先级方式和中断结束方式
相应位清除。
–非自动结束
OCW2 普通结束方式:发OCW2操作命令字向8259A送EOI命令 来清 除ISR中当前优先级别最高位。适用于完全嵌套方式 特殊结束方式:发OCW2命令字向8259A送EOI命令, 同时送复位的ISR对应位。适用于优先级循环方式。
• 中断触发方式:
• • 电平触发:高电平有效,要求保持一定时间。 边沿触发:由高到低的正跳变。
保护模式下,称中断描述符表,可存放于存储器 的任意位置,由中断描述符表寄存器IDTR标识其 在物理存储器中的位置,每个中断描述符由8字节 组成。
类型码 中 断 号 N 的 入 口 地 址 存 放 地 址 =N *4
0 1 2
000H 004H 008H
除法错中断入口
单步中断入口
NMI 中断入口 断点中断入口 溢出中断入口 ┇ 类型9H中断入口 专 用 中 断
1
ID1 ID0
从片标识码
4. ICW4
A0 D7 0
设定工作模式
D6 0 D5 0 D4 D3 D2 D1 D0
1
SFNM BuF=0M/S=0AEOI uP=1
1:8086/8088模式 0:8080/8085模式
1:特殊完全嵌套方式 0:完全嵌套方式
1:自动结束 0:非自动结束 0X:非缓冲方式 10:缓冲方式/从片 11:缓冲方式/主片