第六章 第六讲 中断系统和程序中断方式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 非屏蔽中断:不受CPU中的中断允许标志(IF)控制。
• 可屏蔽中断:受IF控制的中断。
6
6.8.3 中断系统和程序中断方式
(5)向量中断和非向量中断 • 向量中断:发出中断请求的外设主动向CPU发出一个 识别代码(中断向量),CPU通过中断向量识别各中 断源,并产生中断服务程序入口地址。
15:06:25
准备部分
处理部分
结尾部分
6.8.3 中断系统和程序中断方式
六、 程序中断接口结构
具有中断能力的外设接口是由程序查询式接口加上 中断控制机构组成的,接口图见教材P308图8-18 。
15:06:25
ห้องสมุดไป่ตู้
向量中断接口比程序查询方式多了一个中断控制机构, 包括以下几个部分:
• 中断请求电路:向CPU发出中断请求信号 • 中断优先电路:保证优先级高的中断源先获得服务 • 向量地址形成部件:产生向量中断时需要的向量地 址,并转到该中断源对应的中断服务程序。
15:06:25
6.8.3 中断系统和程序中断方式
一、中断的基本概念 二、中断的基本类型 三、中断请求和中断判优 四、中断响应和中断处理 五、多重中断与中断屏蔽 六、中断过程
1
6.8.3 中断系统和程序中断方式
一、中断的基本概念
中断──指CPU在执行现行程序的过程中,出现了某 些突发事件急待处理,CPU必须暂停正在执行的程序,转去 处理突发事件,处理结束后又返回到原程序被中断的位臵 继续执行。
二、 中断请求和中断判优 1、中断源和中断请求信号
中断源——指中断请求的来源,即引起计算机中断的事件
15:06:25
为了记录中断事件并区分不同的中断源,可采用具有存储功 能的中断请求触发器(INTR)来记录中断请求。
2、中断请求信号的传送
• 独立请求线——每个中断源单独设臵中断请求线
• 公共请求线——多个中断源共有一根公共请求线。
输入设备的中断优于输出设备的中断
中断判优的方法可由硬件或软件实现
• 软件判优法——通过执行查询程序逐个检测中断请求寄存器的各 位状态,检测顺序按优先级大小排列
• 硬件判优电路——根据中断请求信号传送方式不同,有不同的优 先排队电路。如独立请求线、公共请求线的优先排队电路等。
9
6.8.3 中断系统和程序中断方式
• 中断屏蔽(寄存器)通常在CPU外部,每一位对应一个中
断源,它决定某个中断源是否能真正发出中断请求。
4、中断升级
中断屏蔽字的另一个作用是改变中断优先级,将原级别 较低的中断源变成较高的级别,称为中断升级。这是一种动 态改变优先级的方法。
19
6.8.3 中断系统和程序中断方式
中断响应次序与中断处理次序
• 二维结构——将中断请求线连成二维结构,同一优先级别 的中断源,采用一根公共的请求线;不同请求线上的中断源 优先级别不同。
8
6.8.3 中断系统和程序中断方式
3、中断判优
同时出现几个中断请求时,将按规定的原则排优,一般:
• • 故障引起的中断优于I/O操作 非屏蔽优于可屏蔽
15:06:25


高速I/O的中断优于低速I/O
4
6.8.3 中断系统和程序中断方式
2、 中断的基本类型
15:06:25
⑴ 自愿中断和强迫中断 • 自愿中断:非随机产生的中断,而是在程序中安排的有关指 令,这些指令可以使机器进入中断处理的过程。 • 强迫中断:随机产生的中断,由中断系统强迫计算机中止现 行程序并转入中断服务程序。 ⑵ 程序中断和简单中断
3、中断屏蔽
用程序方式有选择地封锁部分中断源发出中断请求,使之 不能真正送到CPU去,这就是中断屏蔽。
16
6.8.3 中断系统和程序中断方式
3、中断屏蔽(续)
可对每个中断源设臵一个中断屏蔽触发器(MASK),来有 选择的封锁部分中断请求。
由程序 控制 INT
15:06:25
≥1
0 1 0 1 0 1 0 1
(1)软件方法 由中断隐指令控制进入一个中断总服务程序,在那里判优、 寻找中断源并且转入相应的中断服务程序。
11
6.8.3 中断系统和程序中断方式
15:06:25
(2)硬件向量中断法 CPU响应某一中断请求时,需要中断源将中断向量传给CPU,引 导CPU确定中断处理程序入口地址,即中断向量的呈送。
• 中断响应次序是由硬件排优线路确定的固定次序。中断处 理次序可通过修改屏蔽字来灵活调整,可把屏蔽字看作软 排队器。 • 当同时出现几个中断请求时,由中断响应次序决定先响应 哪个中断请求,一般按优先级高低来响应。但当执行到中 断处理程序时,可以由屏蔽字来决定为哪个中断请求服务 的次序,实际上就是中断嵌套的概念。 • 中断处理次序可以不同于中断响应次序
叠处理中断的现象称为中断嵌套。
14
6.8.3 中断系统和程序中断方式
要使计算机具有中断嵌套的能力,有两个关键点: • • 要能保护多个断点,依靠堆栈的“先进后出”特点保证
15:06:25
中断的逐级返回。
在CPU进入中断处理程序后,系统必须处于开中断状态
2、开中断和关中断
开中断和关中断是由CPU中的中断允许触发器(EINT)控制 的,当EINT=1,开中断;EINT=0,关中断。
• 非向量中断:中断事件不能直接提供中断服务程序的 入口地址。
(6)单重中断和多重中断
• 单重中断: CPU在执行中断服务程序的过程中不能再 响应其他中断请求,但不可屏蔽中断除外。
• 多重中断:CPU在执行中断服务程序的过程中可以响 应优先级更高的中断请求,又称为中断嵌套。
7
6.8.3 中断系统和程序中断方式
24
小结:
本节课主要讲解了以下内容:
一、中断的基本概念 二、中断的基本类型 三、中断请求和中断判优 四、中断响应和中断处理 五、多重中断与中断屏蔽
15:06:25
六、中断过程
重点掌握:中断请求和中断判优、中断响应和中断处理、
多重中断与中断屏蔽、中断过程。
25
15:06:25
中断源给出的向量地址是中断服务程序入口地址的 地址。中断向量连续编排为一个中断向量表;灵活,但 需要两次访存才能取得中断处理程序的第一条指令。
13
6.8.3 中断系统和程序中断方式
5、中断现场的保护和恢复
• 中断现场:指发生中断时CPU的主要状态,包括断点和一 些通用寄存器的状态。
中断的特征 (2)随机性
15:06:25
(1)程序切换;
中断方式的引入,不仅使CPU可与多台外设并行工作, 而且使CPU具有了处理突发事件的能力。
2
6.8.3 中断系统和程序中断方式
一、 中断的基本概念(续)
15:06:25
中断系统是计算机实现中断功能的软、硬件总称。一般在CPU 中配臵中断机构,在外设接口中配臵中断控制器,在软件上设计 相应的中断服务程序。
21
6.8.3 中断系统和程序中断方式
CPU的运动轨迹如下图所示
中断服务 ① 程序 ② ③ ④ 现行程序 ① ② ④ ③① ②
15:06:25
思考:如果要使中断处理次序改为1→4→3→2,中断 屏蔽码应如何设臵?CPU的运动轨迹如何变化?
22
6.8.3 中断系统和程序中断方式
五、中断全过程
保护现场
• 程序中断:一般意义上的中断,主机响应中断请求后,通过 执行中断服务程序来处理更紧迫的任务 • 简单中断:是早期对DMA方式的一种叫法,是外设与主存间 直接进行信息交换的方法。
5
6.8.3 中断系统和程序中断方式
(3)内中断和外中断
15:06:25
• 内中断:指由于CPU内部硬件或软件原因引起的中断, 如单步中断、溢出中断等。 • 外中断:指CPU以外的部件引起的中断。 (4)非屏蔽中断和可屏蔽中断
10
6.8.3 中断系统和程序中断方式
3、中断周期
15:06:25
位于原程序与中断处理程序之间,是CPU响应中断后进入的 一个过渡周期。 中断周期里完成以下操作:
• CPU发/INTA(中断应答信号),等待中断向量的输入。
• 保护断点,将PC和PSW的值压入堆栈 • 关中断
4、进入中断服务程序
中断源 工作完成 允许中断 发中断请求 CPU 中断优先级 判定选优 中断响应
INTR
识别中断源 向量地址 形成
IN
TA
向量地址
现场处理 启动中断 服务程序
12
6.8.3 中断系统和程序中断方式
向量地址与中断处理程序之间的关系有以下两种:
向量地址是中断处理程序的入口地址 CPU不需要再经过处理就可以进入相应的中断服务 程序。减少了访存次数,但缺乏灵活性,可能出现内存 空间分配的冲突。 向量地址是中断向量表的指针
15:06:25
指从中断源发出中断请求开始, CPU响应这个请求,现行程序被中 断,转至中断服务程序,直到中 断服务程序执行完毕,CPU返回原 来程序继续执行的整个过程。 中断全过程分为5个阶段:① 中断请求,②中断判优,③中 断响应,④中断处理,⑤中断 返回
23
判断中断源 开中断 执行中断 服务程序 关中断 恢复现场 开中断
15
6.8.3 中断系统和程序中断方式
下列情况应开中断(即EINT=1) • • 在多重中断的情况下,保护中断现场之后
15:06:25
在中断服务程序执行完毕,并恢复完现场即将返回被中断 的程序之前,为能再次响应中断请求做准备。
下列情况应关中断(即EINT=0) • 当响应某一级中断请求,不允许被其他中断请求打断。 • 在中断服务程序的保护现场和恢复现场之前。
三、中断响应和中断处理
1、 CPU响应中断的条件 • CPU接收到中断请求信号 • CPU允许中断(即开中断)。 • 一条指令执行完毕,且没有DMA请求。
15:06:25
2、 中断隐指令
CPU响应中断之后,经过某些操作转去执行中断服务程序。这 些操作是由硬件直接实现的,称为中断隐指令。 注意:中断隐指令不是指令系统中真正的指令,它没有操作 码,是不允许、也不可能为用户使用的特殊指令。 中断隐指令完成的主要操作:保存断点、关中断、引出中断服务程序
15:06:25
• 原因:为保证中断返回后原来的程序能正确地继续运行。 一般采用软、硬件结合的方法来保护和恢复现场。
四、多重中断与中断屏蔽
1、中断嵌套的概念
当CPU正在执行一个优先级较低的中断处理程序时,优先级较 高的事件可以中断其处理程序。处理完优先级较高的事件后,再返 回到刚才被暂停的优先级较低的中断处理程序,继续执行。这种重
中断源的优先级
1 2 3 … 15 16
屏蔽字(16位)
111…111 011…111 001…111 … 000…011 000…001
18
6.8.3 中断系统和程序中断方式
开/关中断与中断屏蔽的区别
15:06:25
• 开/关中断是由CPU内部的中断允许触发器控制,当EINT=1
时CPU才能响应中断;否则即使有中断请求信号,CPU也 不响应。
工作 外部设备 完成 工作 完成
中断请求
中断请求
中断返回
中断返回
中断服务程序 CPU 现行程序 启动
响应
响应
程序中断方式示意图
3
6.8.3 中断系统和程序中断方式
1、 程序中断与调用子程序的区别
相同点:执行过程类似 区别:
15:06:25
• 中断服务程序与中断时CPU正在运行的程序无逻辑关系,相互 独立;子程序调用时转入的子程序与正在执行的程序段一般有 逻辑联系。 • 中断一般由硬件的信号产生(软中断除外);子程序调用是由 转移指令引起的。 • 子程序调用是主程序安排在特定位臵上的;中断请求是随机发 生的,需进行现场保护。 • CPU获得中断服务程序起始地址的方法与子程序起始地址方式 不同。
20
15:06:25
6.8.3 中断系统和程序中断方式
15:06:25
【例】某计算机的中断系统有4个中断源,每个中断源对应一个 屏蔽码,如下表所示。
屏 程序级别 第1级 第2级 第3级 第4级 1级 1 0 0 0 2级 1 1 0 0 蔽 码 3级 1 1 1 0 4级 1 1 1 1
从表中可以看出,中断响应的优先次序为1→2→3→4,中 断的处理次序和中断的响应次序是一致的。
中断屏蔽 寄存器

向 量 地 址 排 队 逻 辑
……
编 码 器
& & &
0 1 0 1 0 1 0 1
中断请求 寄存器
17
6.8.3 中断系统和程序中断方式
15:06:25
【例】一个中断系统有16个中断源,每一个中断源按其优先级 别赋予一个屏蔽字。屏蔽字与中断源的优先级别是一一对应的, “0”表示开放,“1”表示屏蔽。第1级中断源优先级最高,第 16级中断源优先级最低,则各中断源的屏蔽字如下表所示:
相关文档
最新文档