微机原理及应用第7章
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中断源产生中断的随机性,使中断服务程序 的执行也具有随机性,即何时执行中断服务程 序不是在程序中安排好的。
7.2 中断处理过程及中断源识别
中断处理过程
四个步骤:
中断请求 中断响应 中断服务 中断返回
以下以外部中断为主介绍这四个步骤。
1)中断请求
外设接口(中断源)发出中断请求信号,送到 CPU的INTR或NMI引脚;
中断请求及响应 中断处理 中断返回
中断的用途
CPU的中断功能的实现带来了以下好处: 1、同步处理 2、实现了实时处理 3、多道程序或多重任务的运行 4、突发事件处理
中断的定义
CPU执行程序时,由于发生了某种随机的事件 (外部或内部),引起CPU暂时中断正在运行的程 序,转去执行一段特殊的服务程序(称为中断服 务程序或中断处理程序),以处理该事件,该事 件处理完后又返回被中断的程序继续执行,这一 过程称为中断。
中断请求信号:边沿请求,电平请求 例如,NMI为边沿请求,INTR为电平请求
中断请求信号应保持到中断被处理为止; CPU响应中断后,中断请求信号应及时撤销。 在8086/8088系统中,外设的中断要经过8259A
可编程中断控制器(PIC)的排队判优后向CPU发出: (I/O接口)n1 → PIC → CPU
中断矢量法。由中断源提供中断类型号,CPU根 据类型确定中断源。(8086/8088即采用此种方 法)
1.查询中断(软件识别中断优先权)
INTR
≥1 ...
AB
A15~A0
译码
器 IOR
D7~D0
DB
G 缓冲
器
中断源1 ...
中断源8
软件查询法判优流程
读中断请求寄存器
外设1有请求? N
IRET指令将使CPU把堆栈内保存的断点信息弹 出到IP、CS和FLAG中,保证被中断的程序从断 点处能够继续往下执行。
SP
进入中断服 务程序时
IPL IPH CSL CSH FLAGL FLAGH
中断返回后
SP
IPL IPH CSL CSH FLAGL FLAGH
IP CS FLAG
中断响应的时序
2)中断响应
中断响应
CPU响应可屏蔽中断申请必须满足3个条件:
① 无总线请求; ② CPU被允许中断; ③ CPU执行完现行指令.
若NMI和 INTR 同时发生,则首先响应NMI。
2)中断响应(续)
CPU中断响应时,要做下述三项工作:
向中断源发出INTA中断响应信号;
断点保护,包括CS、IP和FLAGS ( PSW )。 这主要是保证中断结束后能返回被中断的程序。
第七章 中断技术
主要内容:
中断的基本概念 中断处理过程 可编程中断控制器8259A的结构、功能 可编程中断控制器8259A的初始化编程
7.1 中断的基本概念
什么是中断?
与生活场景的比较
实际场景 正在打球 请求暂停
暂停 继续比赛
计算机 执行程序 事件发生 事件处理 继续执行程序
获得中断服务程序首地址(入口)。
如何得到中断处理程序的首地址? SP
固定入口法
中断向量法——常用
进入中断服 务程序时
IPL IPH CSL CSH FLAGL FLAGH
3)中断处理(中断服务)
中断处理
CPU响应中断后要自动完成三项任务 1、关闭中断; 2、CS、IP以及FR的内容推入堆栈; 3、中断服务程序段地址送入CS中,偏移地
NMI——非屏蔽中断请求,上升沿有效,任何时候CPU都 要响应此中断请求信号。
中断系统的功能
实现中断及返回
中断源发出中断请求,CPU决定是否响 应:若响应,则保护断点和现场,转入相应中 断服务程序,中断服务结束后,恢复现场和断 点,继续执行原程序。
CPU执行 非预料事件1
中断服务程序1
非预料事件是指事件发生的时间无法预知, 即中断源何时产生中断不确定,是随机的。
优先 权寄 存器
INTA 数据缓冲器 数据总线
7.3 8086的中断系统
7.3.1 外部中断 1.可屏蔽中断 2.非屏蔽中断
7.3.2 内部中断 ①由执行中断指令INT引起的中断; ②由于CPU的某些错误引起的中断; ③为调试程序设置中断。
1.INT n 指令中断 2.处理CPU某些错误的中断 (1) 除法错中断。 (2) 溢出中断(INTO)。 3.为调试程序设置的中断。 (1) 单步中断。 (2) 断点中断。
外设2有请求? N
N 外设8有请求?
N
…
…
Y
外设1中断服务程序
Y
外设2中断服务程序
Y
外设8中断服务程序
后续处理
硬件实现的中断优先权排队电路
& ≥1
INTR
&
≥1 ...
A2 A1 A<B A0 比较器
B2 B1 B0 B
8:3 优先 权编
码器
... 中断输入
址送入IP中。 一旦CPU响应中断,就可转入中断服务程
序之中。中断服务程序的结构如下:
PUSH AX …… PUSH BX
STI …… CLI POP BX …… POP AX STI IRET
;保护现场
;开中断 ;中断处理 ;关中断 ;恢复现场
;开中断 ;中断返回
4)中断返回
执行中断返回指令IRET
时间到等
中断源分为:外部中断、内部中断
内部中断:CPU内部执行程序时自身产生的中断 外部中断:CPU以外的设备、部件产生的中断
8086/8088的外部中断信号:INTR、NMI
INTR——可屏蔽中断请求,高电平有效,受IF标志的控 制。IF=1时,执行完当前指令后CPU对它作出响应。
第一个中断Байду номын сангаас应总线周期
T1 CLK
T2
T3
T4
ALE INTA D7~D0
INTA1
第二个中断响应总线周期
T1
T2
T3
T4
INTA2
中断 向量码
中断源识别
计算机中的中断源有很多,CPU必须识别是 哪一个设备产生中断。识别中断源有两个方 法:
软件查询。将中断信号从数据总线读入,用程序 进行判别。
二、中断源
能够引起中断的原因,或能够发出中 断请求信号的外设。
外部中断 (硬中断)
内部中断 (软中断)
可屏蔽中断 (INTR)
不可屏蔽中断 (NMI)
(因执行指令而引起)
中断源
引起CPU中断的事件——中断源。例如:
外设——请求输入输出数据,报告故障等 事件——掉电、硬件故障、软件错误、非法操作、定时
7.2 中断处理过程及中断源识别
中断处理过程
四个步骤:
中断请求 中断响应 中断服务 中断返回
以下以外部中断为主介绍这四个步骤。
1)中断请求
外设接口(中断源)发出中断请求信号,送到 CPU的INTR或NMI引脚;
中断请求及响应 中断处理 中断返回
中断的用途
CPU的中断功能的实现带来了以下好处: 1、同步处理 2、实现了实时处理 3、多道程序或多重任务的运行 4、突发事件处理
中断的定义
CPU执行程序时,由于发生了某种随机的事件 (外部或内部),引起CPU暂时中断正在运行的程 序,转去执行一段特殊的服务程序(称为中断服 务程序或中断处理程序),以处理该事件,该事 件处理完后又返回被中断的程序继续执行,这一 过程称为中断。
中断请求信号:边沿请求,电平请求 例如,NMI为边沿请求,INTR为电平请求
中断请求信号应保持到中断被处理为止; CPU响应中断后,中断请求信号应及时撤销。 在8086/8088系统中,外设的中断要经过8259A
可编程中断控制器(PIC)的排队判优后向CPU发出: (I/O接口)n1 → PIC → CPU
中断矢量法。由中断源提供中断类型号,CPU根 据类型确定中断源。(8086/8088即采用此种方 法)
1.查询中断(软件识别中断优先权)
INTR
≥1 ...
AB
A15~A0
译码
器 IOR
D7~D0
DB
G 缓冲
器
中断源1 ...
中断源8
软件查询法判优流程
读中断请求寄存器
外设1有请求? N
IRET指令将使CPU把堆栈内保存的断点信息弹 出到IP、CS和FLAG中,保证被中断的程序从断 点处能够继续往下执行。
SP
进入中断服 务程序时
IPL IPH CSL CSH FLAGL FLAGH
中断返回后
SP
IPL IPH CSL CSH FLAGL FLAGH
IP CS FLAG
中断响应的时序
2)中断响应
中断响应
CPU响应可屏蔽中断申请必须满足3个条件:
① 无总线请求; ② CPU被允许中断; ③ CPU执行完现行指令.
若NMI和 INTR 同时发生,则首先响应NMI。
2)中断响应(续)
CPU中断响应时,要做下述三项工作:
向中断源发出INTA中断响应信号;
断点保护,包括CS、IP和FLAGS ( PSW )。 这主要是保证中断结束后能返回被中断的程序。
第七章 中断技术
主要内容:
中断的基本概念 中断处理过程 可编程中断控制器8259A的结构、功能 可编程中断控制器8259A的初始化编程
7.1 中断的基本概念
什么是中断?
与生活场景的比较
实际场景 正在打球 请求暂停
暂停 继续比赛
计算机 执行程序 事件发生 事件处理 继续执行程序
获得中断服务程序首地址(入口)。
如何得到中断处理程序的首地址? SP
固定入口法
中断向量法——常用
进入中断服 务程序时
IPL IPH CSL CSH FLAGL FLAGH
3)中断处理(中断服务)
中断处理
CPU响应中断后要自动完成三项任务 1、关闭中断; 2、CS、IP以及FR的内容推入堆栈; 3、中断服务程序段地址送入CS中,偏移地
NMI——非屏蔽中断请求,上升沿有效,任何时候CPU都 要响应此中断请求信号。
中断系统的功能
实现中断及返回
中断源发出中断请求,CPU决定是否响 应:若响应,则保护断点和现场,转入相应中 断服务程序,中断服务结束后,恢复现场和断 点,继续执行原程序。
CPU执行 非预料事件1
中断服务程序1
非预料事件是指事件发生的时间无法预知, 即中断源何时产生中断不确定,是随机的。
优先 权寄 存器
INTA 数据缓冲器 数据总线
7.3 8086的中断系统
7.3.1 外部中断 1.可屏蔽中断 2.非屏蔽中断
7.3.2 内部中断 ①由执行中断指令INT引起的中断; ②由于CPU的某些错误引起的中断; ③为调试程序设置中断。
1.INT n 指令中断 2.处理CPU某些错误的中断 (1) 除法错中断。 (2) 溢出中断(INTO)。 3.为调试程序设置的中断。 (1) 单步中断。 (2) 断点中断。
外设2有请求? N
N 外设8有请求?
N
…
…
Y
外设1中断服务程序
Y
外设2中断服务程序
Y
外设8中断服务程序
后续处理
硬件实现的中断优先权排队电路
& ≥1
INTR
&
≥1 ...
A2 A1 A<B A0 比较器
B2 B1 B0 B
8:3 优先 权编
码器
... 中断输入
址送入IP中。 一旦CPU响应中断,就可转入中断服务程
序之中。中断服务程序的结构如下:
PUSH AX …… PUSH BX
STI …… CLI POP BX …… POP AX STI IRET
;保护现场
;开中断 ;中断处理 ;关中断 ;恢复现场
;开中断 ;中断返回
4)中断返回
执行中断返回指令IRET
时间到等
中断源分为:外部中断、内部中断
内部中断:CPU内部执行程序时自身产生的中断 外部中断:CPU以外的设备、部件产生的中断
8086/8088的外部中断信号:INTR、NMI
INTR——可屏蔽中断请求,高电平有效,受IF标志的控 制。IF=1时,执行完当前指令后CPU对它作出响应。
第一个中断Байду номын сангаас应总线周期
T1 CLK
T2
T3
T4
ALE INTA D7~D0
INTA1
第二个中断响应总线周期
T1
T2
T3
T4
INTA2
中断 向量码
中断源识别
计算机中的中断源有很多,CPU必须识别是 哪一个设备产生中断。识别中断源有两个方 法:
软件查询。将中断信号从数据总线读入,用程序 进行判别。
二、中断源
能够引起中断的原因,或能够发出中 断请求信号的外设。
外部中断 (硬中断)
内部中断 (软中断)
可屏蔽中断 (INTR)
不可屏蔽中断 (NMI)
(因执行指令而引起)
中断源
引起CPU中断的事件——中断源。例如:
外设——请求输入输出数据,报告故障等 事件——掉电、硬件故障、软件错误、非法操作、定时