微机原理与接口技术课件-7.中断向量表

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
溢出中断:类型号4,这是一个软件中断,即INTO指令。
若算术指令的执行结果发生举出(OF=1),则执行指 令后立即产生一个中断类型码为4的中断。
软件中断:即INT n指令,类型号n(0-255)。
7
外部中断的种类
非屏蔽中断:类型号2,不可用软件屏蔽,CPU必 须响应它。 可屏蔽中断:类型号n由PIC(8259)提供,IF=1 时CPU才能响应。
⑦ 取中断向量送入IP’和CS’
19
可编程中断控制器8259A
PIC,Programmable Interrupt
Controller
可对8个中断源实现优先级控制 (单个管8个) 可扩展至对64个中断源实现优 先级控制(9个管64个)
可编程设置不同工作方式(多套 管理方案)
根据中断源向x86提供不同中断 类型码n(来访者1人1号)
外部中断:来自处理器外部的中断,如键盘引起的 中断;
内部中断:由处理器电路或中断指令产生的中断, 如除0中断,int指令等。
4
8086的中断向量表
存放各类中断的中断服务程序的入口地址CS:IP(段 CS和偏移IP)——中断向量
表的地址位于内存的00000H~003FFH,大小为 1KB,共256个中断向量(中断向量表)
NMI DB
n
INTR
INTA
中断控 制器 8259A PIC
非屏蔽中断请求
可 屏 蔽
中 断 请 求
中断请求\排队\屏蔽
11
中断源的识别
8088/8086系统采用中断类型码n来识别不同的中断 源。每个中断源都有一个与它相对应的中断类型码n 。 溢出、断点、除法溢出、单步、非屏蔽中断的类型 码为固定值(4、3、0、1、2) 软件中断的类型码由指令INT n 给出(n) 可屏蔽中断的类型码由PIC(8259)给出(n)
CPU响应INTR中断时,会产生两个中断响应总线周期 INTA,要求PIC在第2个中断响应总线周期把中断类 型码 n 放到数据总线上,供CPU读入。
12
中断优先级
背景:系统有多个终端,而CPU同一个时刻
只能响应一个中断,为了解决这个矛盾 应按中断的轻重缓急来确定中断的优先 级别.
13
8088/8086系统中各中断的优先级
每个中断向量占用4 Bytes,低字为段内偏移IP,高 字为段基址CS
根据中断类型号n获得中断服务程序入口的方法: 中 断向量在IVT中的存放地址=4×n (中断向量地址)
5
初始化——将中断服务程 序的入口地址放入向量 表 例:中断类型码n为48H 的中断处理子程序的名 字为int48h.
高8位 低8位
优先级从高到低顺序如下:

软件中断、内部中断 (除单步中断外)
NMI
INTR
单步中断

14
中断判优
中断优先级控制要处理两种情况: 对同时产生的中断:应首先处理优先级别较高的中断; 若优先级别相同,则按先来先服务的原则FIFO处理; 对非同时产生的中断:低优先级别的中断处理程序允 许被高优先级别的中断源所中断——即允许中断嵌套。
6
内部中断的种类
除法溢出:类型号0,执行除法指令时,若发现除数为0或商大于目
的操作数所能表达的范围时产生。
单步中断:类型号1,TF=1时产生(当前指令需执行完)。 断点中断:类型号3,这是一个软件中断,即INT 3指令。一般
用于程序调试,在断点中断服务程序中,可显示有关寄存器、存储 单元等内容,以便程序员分析到断点为止程序是否正确。
通常将中断判优与中断源识别合并在一起进行处理。 x86系统中,这项任务由PIC(8259)和 CPU(8086/8088)共同完成。
15
CPU响应中断的条件
内部中断请求:直接转入中断周期,由 内部硬件自动执行预定的操作。
外部中断请求:中断屏蔽触发器开 放;CPU内部是中断开放的;没有更高 级的中断请求正在被响应或正在发出; CPU现行指令结束;
返回
服务/ 处理 IRET
以下以外部中断为主介绍这五个步骤。 10
8086/8088中断源类型
中断指令 INT n
软件 硬件
(n=0~255)
内部/软件中断请求
外部/硬件中断请求
软件中断指令 溢出中断 断点中断 除法错 单步中断
n 2
4
3 中断逻辑
0百度文库
内部排队
1
中断开关
8086/8088 CPU内部逻辑
引脚分配及功能见右图
8259A
第七讲 中断技术
1
中断之概念
“中断”意思为打断操作的顺序。CPU正在执行程 序,有个“中断”打断了指令的正常执行顺序,使得 CPU中止正在执行的程序转而去执行被称为中断服务程 序(ISR)的其它程序。
2
中断之目的
计算机系统中引入中断的目的主要有两个: 数据的传送; 异常的处理;
3
中断之种类
非屏蔽中断NMI,中断类型码为固定(2)
与内部中断响应过程类似
可屏蔽中断INTR
① INTA(1)PIC进行优先级排队判优处理
② INTA(2)PIC把中断类型码n放到DB上,CPU读入
③ PUSH FLAG
④ IF=TF=0(关可屏蔽中断和单步中断) ⑤ PUSH CS
与内部中断一样
⑥ PUSH IP
8
与(外部)中断有关的引脚
与中断有关的控制线为:NMI和INTR、INTA NMI:上升沿出发。 INTR:高电平出发。 INTA:可屏蔽中断的响应信号。
9
中断过程
五个步骤:
中断请求
中断判优/排队
(有时还要进行中断源
识别)
请求
中断响应
中断服务/处理
中断返回
主程序
中断服务程序
响应
排队 硬/ 软 INT n
16
中断处理过程
在满足中断响应条件以后,CPU就响应中断请求, 并自动关中断,然后进入中断服务程序,在中断服务程 序中要完成以下工作:
保护现场
开中断
完成输入输出或异常处理的服务程序
关中断
恢复现场
开中断
中断返回
17
8086/8088 CPU的中断响应过 程
内部中断响应过程 :
无INTA周期
中断类型码固定(0、1、3、4)或由指令给出(n)
响应过程主要步骤:
① PUSH FLAGS ② IF=TF=0(关可屏蔽中断和单步中断) ③ PUSH CS ④ PUSH IP ⑤ 取中断向量送入IP’和CS’
PUSH CS/IP/FLAGS JMP CS’:IP’
18
中断响应过程(续)
外部中断响应过程
相关文档
最新文档