微机原理第七章中断-dsh

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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:缓冲方式/主片
相关文档
最新文档