微机原理与接口技术 周荷琴第五版课件 微型计算机的中断系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9
第七章:微型计算机的中断系统——概念及处理过程 中断优先级
当系统中有多个设备提出中断请求时,就有一个该响应谁的 问题,也就是一个优先级的问题,解决优先级的问题一般可有 三种方法:软件查询法、简单硬件方法及专用硬件方法。
10
软件查询方法
只需有简单的硬件电路,如将A、B、C三台设备的中断请求信 号“或”后作为系统INTR,这时,A、B、C三台设备中只要至少 有一台设备提出中断请求,都可以向CPU发中断请求。进入中断 服务子程序后,再用软件查询的方式分别对不同的设备的服务, 查询程序的设计思想同查询式,查询的前后顺序就给出了设备的 优先级。
微型计算机原理及其应用
——第七章:微型计算机的中断系统
1
第七章:微型计算机的中断系统
1.中断的概念及处理过程 2.8086中断系统 3.中断控制器8259A
2
第七章:微型计算机的中断系统
1. 中断的概念及处理过程 2. 8086中断系统 3. 中断控制器8259A
3
第七章:微型计算机的中断系统——概念及处理过程 什么是中断?

8086中断系统中的中断向量表是位于0段的0~3FFFH的存贮 区内,每个中断向量占四个单元,其中前两个单元存放中断处理 子程序的入口地址的偏移量(IP),低位在前,高位在后;后两个 单元存放中断处理子程序入口地址的段地址(CS),也是低位在前, 高位在后,整个中断向量的排列是按中断类型号进行的。
11
软件查询方法
12
第七章:微型计算机的中断系统——概念及处理过程 中断优先级——简单硬件方法 将所有的设备连成一条链,靠近CPU的设备优 先级最高,越远的设备优先级别越低,则发出中 断响应信号,若级别高的设备发出了中断请求, 在它接到中断响应信号的同时,封锁其后的较低 级设备使得它们的中断请求不能响应,只有等它 的中断服务结束以后才开放,允许为低级的设备 服务。
34
硬件查询优先方式——菊花链法
35
矢量中断优先级
36
中断嵌套
37
第七章:微型计算机的中断系统
1. 中断的概念及处理过程 2. 8086中断系统 3. 中断控制器8259A
38
第七章:微型计算机的中断系统——中断控制器8059A 8259A性能概述
23
第七章:微型计算机的中断系统
1. 中断的概念及处理过程 2. 8086中断系统 3. 中断控制器8259A
24
第七章:微型计算机的中断系统——8086的中断系统 中断分类及中断类型码
中断源可以分为两大类,即外部(硬件)中断和内部(软件)中断。 硬件中断:即通过外部的硬件产生的中断,如打印机、键盘等。硬 件中断又可分为:可屏蔽中断和不可屏蔽中断。 不可屏蔽中断:由NMI引脚引入,它不受中断允许标志的影响, 每个系统中仅允许有一个,都是用来处理紧急情况的,如掉电处 理。这种中断一旦发生,系统会立即响应。 可屏蔽中断:由INTR引脚引入,它受中断允许标志的影响,也就 是说,只有当IF=1时,可屏蔽中断才能进入,反之则不允许进 入,可屏蔽中断可有多个,一般是通过优先级排队,从多个中断 源中选出一个进行处理。 软件中断:即根据某条指令或者对标志寄存器中某个标志的设置而 产生,它与硬件电路无关,常见的如除数为0,或用INT n指令产生。
26
第七章:微型计算机的中断系统——8086的中断系统 中断分类及中断类型码
INT n指令 非屏蔽中断请求
中 断 逻 辑
NMI INTR 中 断 控 制 系 统
( 8259A)
INT 3 指令
INTO 指令
单步 中断
除数为0 中断
。 。 。
可 屏 蔽 中 断 请 求
软件中断
硬件中断
27
第七章:微型计算机的中断系统——8086的中断系统 中断分类及中断类型码
6
第七章:微型计算机的中断系统——概念及处理过程 中断服务程序: 为中断请求源服务的子程序。
中断类型号:根据中断服务程序入口地址在中断向 量表中的位置编号,该编号即中断类型号。中断 向量表存储器由0000H开始每4个连续单元为1个 类型号,共256个类型号。 中断向量表:CPU响应中断后,必须由中断源提供地 址信息,引导程序进入中断服务子程序,这些中 断服务子程序的入口地址存放在中断向量表中。
中断类型码:8086为每个中断源分配了一个中断类型码,其取值范围为0~ 255,即可处理256种中断。其中包括软件中断,系统占用的中断以及开放给用 户使用的中断。 中 断 优 先 级 最 高
内中断(除法错,INTO,INT) 非屏蔽中断NMI 可屏蔽中断INTR
单步中断
最 低
中断类型码或者包含在指令中,或者预先规定; 所有内部中断和NMI中断都不执行INTA总线周期; 除单步中断外,任何内部中断都无法禁止且都比外部中断优先级高;
17
第七章:微型计算机的中断系统——概念及处理过程 中断过程
中断处理和中断返回中的所有内容,也叫做中断服务程序。即:
18
第七章:微型计算机的中断系统——8086的中断系统
可屏蔽中断处理过程
19
20
第七章:微型计算机的中断系统——8086的中断系统 中断响应过程
21
22
第七章:微型计算机的中断系统——8086的中断系统 中断响应过程与时序
中断类型码5(保留)
系统保留中断
080H
用户自定义中断 3FFH
30
第七章:微型计算机的中断系统——8086的中断系统 中断向量和中断向量表



00H:除法出错中断 01H: 单步中断 02H: NMI端引入的不可屏蔽中断 03H: 断点中断 04H:溢出中断 05H~31H:---系统使用中断,不容许用户修改 (08H ~ 0FH:8259A中断向量;10H~1FH:---BIOS用) 20H~3FH:---DOS用 40H~FFH:---用户用
中断方式提高了CPU的工作效率,但是它同时也提高了系统的硬 件开销。因为系统需增加含有中断功能接口电路,用来产生中断请 求信号。以输入方式为例,接口电路如图所示。
外设发STB→数据入锁存器,中断请求触发器置1→若没有屏蔽则产 生INTR→CPU满足条件(允许中断;指令执行完)发→(进入中断服务子 程序)读数据和地址→清中断请求触发器,数据送D0~D7。
13
简单硬件方法
14
第七章:微型计算机的中断系统——概念及处理过程 中断优先级——专用硬件方法
采用可编程的中断控制器芯片,如Intel8259A。
15
第七章:微型计算机的中断系统——概念及处理过程 中断过程
是指中断请求、中断响应、中断处理、中断返回这四个过程。中 段请求、中断响应由硬件完成,中断处理、中断返回由软件完成。 中断请求 1)外部设备发中断请求的条件:当外设准备就绪或本身工作已经完 成时,才向CPU提出中断请求。 2)外部设备中断请求的标志:当外设要求和CPU进行数据交换时, 将中断请求信号送往中断请求触发器或中断控制器,经它们处理后, 向CPU发出中断请求。 中断响应 如果CPU处于开中断状态,经判优后响应其中最高优先级的中断 请求,关中断,将断点压入堆栈中(有的微机还将程序状态字和相 关寄存器的内容压入堆栈)保存,以备返回原程序,紧接着将相应 的中断处理程序入口地址或中断向量送CPU,转入中断服务程序。
7
中断响应:
中断请求何时发生是随机的。CPU在每条指 令的最后一个T周期去检测INTR引脚,CPU一旦 检测到有中断请求,在满足中断响应的条件下 (IF=1),CPU响应中断,向外设发INTA中断响 应信号。并保护断点(当前CS,IP和PSW值入 栈),然后转向中断服务程序。中断服务程序执 行完毕,CPU返回原执行程序的中断处,继续向 下执行,称为中断返回。
在CPU执行程序的过程中,由于某种突发事件的发生,强迫CPU暂 时停止正在执行的程序,转向对该突发事件进行处理,对这个事件 处理结束后又能回到原中止的程序,接着中止前的状态继续执行原来 的程序,这一个过程就称为中断。把引起中断的原因或触发中断请 求的来源称为中断源。
4
第七章:微型计算机的中断系统——概念及处理过程 中断请求信号的产生
28
第七章:微型计算机的中断系统——8086的中断系统 中断向量和中断向量表


中断向量:把各个中断服务子程序的入口都称为一个中断向量;
中断向量表:将这些中断向量按一定的规律排列成一个表,就是所谓的中断向 量表,当中断源发出中断请求时,即可查找该表,找出其中断向量,就可转入 相应的中断服务子程序。 向量表地址:中断向量在中断向量表中的位置。
29
第七章:微型计算机的中断系统——8086的中断系统 中断向量和中断向量表
000H 004H 008H 00CH 014H
· · · · · ·
IP偏移地址 CS段基地址 IP偏移地址 CS段基地址 IP偏移地址 CS段基地址
中断类型码0(除法错) 中断类型码1(单步中断) 中断类型码2(NMI中断) 中断类型码3(断点中断) 中断类型码4(溢出中断)
8
第七章:微型计算机的中断系统——概念及处理过程
中断源:引起程序中断的事件称为中 断源。 8086中断源:外部中断源和内部中断 源,都包含于256个中断类型中; 内部中断源:中断指令 INT n引起的中 断;由CPU的某些运算错误引起的中断; 由调试程序debug设置的中断 外部中断源:外部硬件产生。分为不 可屏蔽中断(请求线NMI) 可屏蔽中 断(请求线 INTR)

25
第七章:微型计算机的中断系统——8086的中断系统 中断分类及中断类型码
8086/8088系统最多可处理256级不同类型的中断。
可屏蔽中断(INTR) 外部中断(硬件中断) 非屏蔽中断(NMI,中断类型码2) 中断分类 单步中断(中断类型码1) 内部中断(软件中断) 断点中断(中断类型码3) 溢出中断(中断类型码4) Int n 中断
31
中断向量:中断服务程序的入口地址
中断向量的获取:
8086/8088 CPU根据中断类型号在中断向量表中取得。
中断向量表:中断服务程序的入口地址存放的区域
(也称中断矢量表)
中断类型号的获取:
1.中断指令INT n 中直接得到;
2.外部中断类型寄存器从DB输入。
32
8086/8088CPU中对应于256个中断类型的中断向量必须设 置于0000H至03FFH的1KB内存空间的中断向量表中。
16
第七章:微型计算机的中断系统——概念及处理过程 中断过程
中断处理 保护现场。将在中断处理程序中使用的有关寄存器的内容压入堆栈 保护起来。在现场保护的过程中,绝对不允许被中断(应禁止中断), 否则现场将被破坏。当现场保护好后应开中断。 中断服务。即该中断所要执行的具体指令内容。 恢复现场。当中断服务结束后,应用中断结束命令清除中断标志, 立即关中断,以保证恢复现场的过程不受干扰。恢复现场就是把原 来压入堆栈的有关寄存器的内容弹出。现场恢复后应开中断,以便 CPU响应更高级的中断请求。 中断返回 将压入的断点地址弹出,保证被中断的程序按原来状态执行下去。
PA0 PA1 PA1 PA0 P0
Baidu Nhomakorabea
P1
中 断 服 务 程 序
PA255 PA255
P255
33
8086/8088 CPU中断优先级: 内中 最高 不可屏蔽中断 可屏蔽中断 单步中断 最低
可屏蔽中断优先级设定三种方式:
软件查询中断优先级 硬件查询优先级——菊花链 矢量中断优先级
多中断源的中断嵌套
① 进入中断处理程序时,系统自动关中断; 中断服务程序中必须有STI开中断指令允许其 它中断进入实现中断嵌套。 ② 中断结束返回前要有EOI中断结束命令,EOI结束 命令应放在中断返回指令 IRET前面。 RET
5
第七章:微型计算机的中断系统——概念及处理过程 中断优先级
中断优先级
(1)如果有多个不同优先级的中断源同时提出中断请求时, CPU应当先响应最高优先级的中断源。 (2)如果CPU正在对某一中断源服务时,比它优先级更高 的中断源提出中断请求时,CPU能够暂停正在执行的中断 服务程序转向对优先级高的中断源进行服务,当服务结束 后再返回原优先级较低的中断服务程序继续执行。 中断嵌套 正在运行的中断处理程序,被优先级高的中断源中断, 从而转入新的中断处理程序,当新的中断处理程序执行完 再回到原来的中断处理程序,这一现象称为中断嵌套。
相关文档
最新文档