微机原理课件 第七章 微型计算机中断系统
《微机原理与应用教学资料》第七章 中断(课件)
中断源 硬件屏蔽 CPU的IF
CPU
ppt课件
7
二、中断分类
1、内部中断(软件中断)
⑴中断指令 INT n
n—中断类型码 n=0~255
⑵由CPU的运算错误引起的:
a.除法错中断: INT 0 (除数为零或商超过范围,自动产生中断)
b.溢出中断: INT 4 (当OF=1,且在程序中有INTO指令,产生中断)
b.中断请求
显然,中断请求的方法较合理
中断定义:当有外部数据输入或内部异常时,发送请求给 CPU,CPU暂时停止正在运行的程序,处理中断结束后, 返回继续运行先前的程序。
两个最重要的特点:可返回性,现场保护
ppt课件断点保护
2
一、中断概念
1、中断源:引起程序中断的事件,内部中断、外部中断
2、中断响应:对外部中断而言,INTA对INTR的响应
ppt课件
00103H 13H 5
★各个外设的中断服务子程序的入口地址集中在一个表
(中断向量表)中,CPU响应中断时,根据中断源提供 的中断类型号 i, →i×4→在中断向量表查找对应的中断 服务子程序 i 的入口地址,内容装入CS、IP,转而执行 中断服务子程序 i
ppt课件
6
4、中断优先级: ①当同时有多个中断请求,先响应优先级高的 ②当一个中断服务程序正在执行时,又一个中断源申请中断:
ppt课件
9
2、外部中断(硬件中断) ⑴不可屏蔽中断NMI
a. 上升沿触发 b. CPU必须予以响应,不能用IF屏蔽 c. INT 2,中断类型码为2,
中断向量固定存放于00008H~ 0000BH中 d. 用于发生重大故障时申请中断
《微机原理中断技术》PPT课件
精选PPT
22
第7章 输入/输出与中断
“ 1” 1#中 断 请 求
响应
&
&
应 答 1# 2#中 断 请 求
&
&
应 答 2#
3#中 断 请 求
&
&
应 答 3#
图7.15 链式中断优先级电路
精选PPT
IN T
23
第7章 输入/输出与中断
上述两种方法虽然可以解决中断优先级控制问题,但实现 起来在硬件和软件上都要做大量的工作,十分麻烦。目前,最 方便的办法就是利用厂家提供的可编程中断控制器,这样的器 件在各种微机中得到普遍应用。本章后面将介绍广泛应用于 80x86微机系统中的专用可编程中断控制芯片8259A。
精选PPT
26
第7章 输入/输出与中断
7.4 8086/8088中断系统
7.4.1 8086/8088的中断源类型
8086/8088 CPU可以处理256种不同类型的中断,每一种中断
都给定一个编号(0255),称为中断类型号,CPU根据中断类型号
来识别不同的中断源。8086/8088的中断源如图7.17所示。从图中
精选PPT
9
第7章 输入/输出与中断
4) 中断处理
中断处理的过程实际就是CPU执行中断服务程序的过程。 用户编写的用于CPU为中断源进行中断处理的程序称为中断服 务程序。由于不同中断源在系统中的作用不同,所要完成的功 能不同,因此,不同中断源的中断服务程序内容也各不相同。 例如,对于图7.11所示的输入设备,其中断服务程序的主要任 务是用输入指令(IN)从接口中的数据端口向CPU输入数据。
精选PPT
20
微机原理课件_第七章_微型计算机中断系统
位IF的影响,中断类型号由指令INT n中的n决定。正在执行软 件中断时,如果有不可屏蔽中断请求,就会在当前指令执行完 后立即予以响应。如果有可屏蔽中断请求,并且IF=1,也会在 当前指令执行完后予以响应。 二、中断向量表 寻找中断源可以用查询中断及矢量中断两种方法。 查询中断是采用软件查询方法,中断响应后启动中断查 询程序,依次查询哪个设备的中断请求触发器为1,检测到后, 转向此设备预先设置的中断服务程序入口地址。此方法较简单, 但花费时间多,并且后面的设备服务机会少,在8086系统中一 般采用矢量中断方法。 矢量中断是将每个设备的中断服务程序的入口地址(矢 量地址)集中,依次放在中断向量表中。当CPU响应中断后, 控制逻辑根据外设提供的中断类型号查找中断向量表,然后将 中断服务程序的入口地址送到CS段寄存器和指令指针IP,CPU 转入中断服务子程序。这样大大加快了中断处理的速度。
图7-2 可屏蔽中断处理流程图
一、CPU响应中断过程 CPU响应中断要有三个条件: ●外设提出中断申请 ●本中断位未被屏蔽 ●中断允许 当中断接口电路中的中断屏蔽触发器未被屏蔽时,外设 可通过中断接口发出中断申请。外设向CPU发出中断请求的时 间是随机的,而CPU在每条指令的最后一个机器周期的最后一 个T状态去采样中断请求输入线INTR,当CPU在INTR引脚上 接收到一个有效的中断请求信号,而CPU内部的中断允许触发 器是开放的,则在当前指令执行完后CPU响应中断。 CPU响应中断后,对外设接口发出两个中断响应信号 ,第一个 INT A信号通知外设,CPU已响应申请的中断请 INT A 求,准备发送中断类型号;当外设收到第二个 INT A 以后,立即 往数据线上给CPU送中断类型号。CPU在响应外部中断,并转 入相应中断服务子程序的过程中,自动依次做以下工作:
微型计算机接口技术课件:第七章 微型计算机中断系统
类型码后的处理过程是一样的。图7-3给出中断响应
过程。
©北京工业大学计算机学院®
6
7-2 中断处理过程
微机接口
二、中断向量表
寻找中断源可以有查询中断和矢量中断两种方 法。
• 查询中断:中断响应后启动中断查询程序,依次查 询设备中断触发器,转向此设备预先设置的中断服 务程序入口地址。
• 矢量中断:将每个设备的中断服务程序的入口地址 依次放在中断向量表中,当CPU响应中断,控制逻 辑根据外设提供的中断类型号查找中断向量表,然 后将中断的服务程序的入口地址送到段寄存器和指 令指针寄存器,CPU转入中断服务子程序。
(27个)
。
CS
0007CH
。
类型31
IP
CS
00080H
类型32
IP
CS
用户使用
。
IP
(224个)
。
CS
003FCH
。
类型255
IP
003FFH
CS
7-2 中断处理过程
2、中断入口地址的设置
用DOS功能来设置
设置中断向量
预置:AL=中断类型号 DS:DX=中断服务程序入口地址 AH=25H
执行:INT 21H
1、INT n
2、运算错误
除法错 溢出
3、debug
单步中断 断点中断
©北京工业大学计算机学院®
4
7-2 中断处理过程
微机接口
可屏蔽中断处理过程:中断请求;中断响应;保 护现场;转入执行中断服务子程序;恢复现场 和中断返回。其流程图7-2所示
一、CPU响应中断过程
CPU响应中断的三个条件:
• 外设提出中断申请
的段地址为A000H,偏移量为2050H.
微型计算机中断系统
第7章 微型计算机中断系统
① ② ③ ④ ⑤ ⑥
取中断类型号N(放入内部暂存器) 当前PSW的内容入栈 清IF、TF标志为0 保护现场 当前CS的内容入栈 当前IP的内容入栈 取内存单元(0:N×4)字内容送IP
取中断子程序
⑦ 取内存单元(0:N×4+2)字内容送CS
入口地址
18
2016/2/16
第7章 微型计算机中断系统
– 如:
JB JB 中断源1的触发器,ZDCHL1; 中断源2的触发器,ZDCHL2;
JB
JB JB
中断源3的触发器,ZDCHL3;
中断源4的触发器,ZDCHL4; 中断源5的触发器,ZDCHL5;
19
2016/2/16
第7章 微型计算机中断系统
ZDCHL1: ZDCHL2:
所谓中断源的识别,是指当CPU要响应
某个中断源的中断请求时,如何找到该
中断源的中断服务程序入口地址,执行
相应的中断处理程序,进行中断处理。
17
2016/2/16
第7章 微型计算机中断系统
(1) 软件法 软件法是利用程序来识别中断源。 CPU响应中断后,硬件只提供一个中断入□, 所有的中断源都从这个中断入口进入中断源识 别程序,再依照事先编好的中断源的优先级次 序,依次查询每个中断源的中断请求触发器的 状态,若某个触发器的状态为“1”,则找到了 申请中断的中断源,即转去执行相应中断处理 程序。
第7章 微型计算机中断系统
三、中断服务子程序
(略)
26
2016/2/16
第7章 微型计算机中断系统
四、中断响应周期时序
第一个 中断响应周期 T1 T2 T3 T4 CLK INTA AD7~AD0
微机原理课件第七章微型计算机中断系统
CPU根据中断优先级和状态等信 息,判断哪个中断请求应先被响 应。
中断响应
CPU响应中断请求,将当前程序 的计数器PC和状态寄存器PSW保 存到堆栈中,并跳转到相应的中 断处理程序入口地址。
执行中断服务程序
CPU执行相应的中断处理程序, 完成对突发事件的响应和处理。
中断请求
当某个事件发生时,相应的中断 源向CPU发出中断请求。
中断的历史与发展
中断的概念最早出现在1950年代的真空管计算机中,当时主要用于实现人机交互。
随着集成电路和计算机技术的发展,中断系统逐渐完善,并广泛应用于各种计算机 系统中。
现代计算机的中断系统已经实现了向量中断、可编程中断控制器等技术,能够更好 地满足各种应用需求。
02
中断的基本概念
中断的定义与特点
VS
实时处理广泛应用于工业控制、航空 航天、医疗设备等领域,对于这些领 域来说,系统的实时性至关重要,中 断系统的快速响应和高效处理能力能 够保证系统的稳定性和可靠性。
多任务处理
多任务处理是指计算机系统同时处理多个任务的能力。在多任务处理中,中断系统同样扮演着重要的角色。当多个任务同时 请求计算机系统进行处理时,中断系统能够根据任务的优先级和紧急程度进行调度和管理,确保系统能够高效地完成多个任 务。
中断向量包括中断处理程序的地址和中断类型号,通过中 断向量表可以快速找到对应的中断处理程序地址,从而实 现快速响应和处理中断。
04
中断处理过程
中断请求与优先级
中断请求
当某个外部事件需要CPU立即处 理时,相应的设备会向CPU发出 中断请求信号。
中断优先级
多个中断同时发生时,CPU会根 据中断优先级的高低来决定先处 理哪个中断。
微机原理PPT课件
6
7.2.1 8259A的组成和接口信号
D7~D0
RD WR A0 CS
数据 总线 缓冲器
读/写 控制 逻辑
CAS0 CSA1 CAS2 SP/EN
级联 缓冲 比较器
中断请求寄存器 优先权判别电路 中断服务寄存器
(与CPU中F中IF位不同)
8
说明:
4,INT中断请求
向CPU(INTR*引脚)或主8259A(IR0~IR7 引脚)提中断请求
5,INTA*中断响应
由CPU(INTA*引脚)来
6,数据总线缓冲器
传送控制字、状态、中断向量
9
说明:
7,读/写控制逻辑
A0:端口选择线 读,IN CS*=0,A0=0,RD*=0时,CPU读8259 IRR、ISR、
15
ICW2 (A0=1,奇地址)
D7 D6 D5 D4 D3 D2 D1 D0
T7
T6
T5
T4
T3
×
பைடு நூலகம்
×
×
设置中断向量号
T7~T3为中断向量号的高5位 低3位由8259A自动确定: IR0为000、IR1为001、……、 IR7为111
16
ICW3 (A0=1,奇地址)
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
×××
1 LTIM × SNGL IC4
×为中LL规SS是IICCTTNN1—1断定否—为II44GGMM—==触单LL写—0==表都==10发片入只,,10示可10方或, ,I能, ,要 不C可以式级电 边为单 级W写 写以(:连平 沿1片 连4入 入,任建方触 触方 方IICC作意议式发 发式 式WW为为:方 方44标0,式 式)志即 ICW4规定的位全为0
第7章微型计算机中断系统-1共108页
发出中断请求的外部设备或引起中断的内部原因称为中断 源。
常见的中断源有:
(1)故障中断,如电源掉电、内存奇偶错等; (2)软件中断,如CPU执行某些指令或操作引起的中断等; (3)输入输出设备中断,如打印机、CRT、磁盘等; (4)实时时钟,如定时器提供的实时信号等。
7.1.1 中断与中断源
中断外,其余均为专用的软件中断,它们通常是由某个标志位 引起的中断。
•① 0型中断——除法出错中断。 •② 1型中断——单步中断(TF=1)。 •③ 3型中断——断点中断(INT 3)。 •④ 4型中断——溢出中断(INTO指令,条件:OF=1 ) (2)指令中断: INT n指令,其类型号就是给定的n。
图 中断处理过程-1
7.1.3中断处理过程
保护现场
中断处理
执行中断服务程序
恢复现场
中断返回
CPU开放中断 返回原程序断点处
开中断 关中断
图 中断处理过程-2
7.1.3中断处理过程 结束
7.1.4 中断判别的方法
软件查询判优 链式电路判优 专用硬件方式 中断的多级嵌套
1.软件查询判优
CPU D0~D7
3. 中断识别: 即找出是哪一个中断源发出的中断请求。 中断识别的目的是要形成该中断源的中断服务程序的入
口地址,以便CPU将此地址置入 CS:IP寄存器 ,从而实现程 序的转移。
7.1.1 中断及中断源此 结束
7.1.2 中断系统的功能
中断系统是指实现中断功能的软硬件的统称。 中断系统的功能:
1.正确识别中断请求,实现中断响应、中断处理及中断返回。 2.实现中断优先级排队。 3.实现中断嵌套。
中断响应
中断响应
请求
微机原理课件第七章 中断系统
第七章中断系统一、中断的概念设20H存放按键次数,每按键一次,20H加1。
也就是每次有中断,就要执行一条指令:INCB 20H程序的执行过程:若无按键按下,程序一直处于显示过程,显示20H中的按键次数,一旦按键按下,产生中断,程序中断显示过程,执行一条指令(INCB 20H),然后再回到显示过程,显示20H中的新内容。
MAIN:LCALL INITLOOP1:LCALL DISPLA YLJMP LOOP1问题:INCB 20H放在什么位置?解决方案:将INCB 20H放在单独的位置,将此指令的地址存入某固定地址(中断向量表:每种中断都有不同的地址),当中断产生时,将当前程序运行的PC指针的内容存入堆栈,然后CPU在某个固定地址中去寻找INCB 20H这条指令的存放地址,并将当前程序运行的PC指针的内容改成INCB 20H这条指令的存放地址,执行这条指令,指令执行完,通过RET指令,从堆栈中取出原来保存的程序中断前运行的地址,并根据此内容改变PC指针,使程序从中断处,继续运行。
程序清单:ORG 200EHDCW ANINTORG 2080HMAIN:LCALL INITLOOP1:LCALL DISPLA YLJMP LOOP1INIT:∞∞∞RETDISPLA Y:∞∞∞RETANINT:INCB 20HRET二、中断向量在CPU的地址空间中特殊规定的存储空间,里面存放特定中断服务程序的首地址,不同种类的中断有独立的中断向量。
一个中断向量占2个字节。
由不同种类的中断向量组成的集合叫中断向量表。
三 8098的中断系统1、中断源:共9种。
软件中断、外中断、串行口中断、软件定时器中断、HSI.0中断、高速输出中断、高速输入数据有效中断、A/D 转换完毕中断、定时器溢出中断。
2、中断优先级:当CPU 同时有几个中断申请,CPU 可根据不同种类的中断优先级,来判断先响应哪个中断。
见书P71-表3.13、8098中断结构图:见书P70-图3.1A 、 信号跳变检测器:8098所有中断源可分为两类,外部中断和内部中断。
《微机中断控制》课件
中断控制的应用场景
在工业控制、智能家居、交通控制等领域广 泛应用。
在多任务操作系统中的应用
多任务操作系统的特点
同时运行多个任务,需要合理分配资源。
中断控制的作用
微机中断控制器能够根据优先级处理任务,保证关 键任务优先执行,提高系统效率。
中断控制的应用场景
在服务器、嵌入式系统等领域广泛应用。
在多媒体系统中的应用
早期可编程中断控制器功能较为单一,只能处理简单的中断请求。
现代的可编程中断控制器具备更强大的功能,如可编程优先级、向量中断 、嵌套中断等,能够更好地满足复杂系统的需求。
中断优先级分配策略的优化
01
中断优先级分配是微机中断控 制中的重要环节,合理的优先 级分配能够提高系统的响应速 度和效率。
02
传统的中断优先级分配策略通 常基于固定的硬件配置,缺乏 灵活性。
转入处理程序
根据中断源的优先级和识别码,自动转去相应的处理程序进行处理。
中断返回
恢复现场
将保存的现场信息恢复,使程序能继续执行。
返回执行
返回原程序继续执行。
04
微机中断控制的应用
Chapter
在实时控制系统中的应用
实时控制系统的特点
需要快速响应外部事件,对时间要求严格。
中断控制的作用
微机中断控制器能够快速响应外部事件,及 时处理并控制实时系统的运行。
THANKS
感谢观看
03
优化的中断优先级分配策略采 用可编程方式,允许软件根据 实际需求动态调整优先级,提 高了系统的适应性。
中断处理程序的优化设计
中断处理程序是微机系统中用于处理中断的程序,其性能直接影响到整个系统的性能。
传统的中断处理程序通常采用固定的代码结构,缺乏灵活性。
微机原理与接口技术 周荷琴第五版课件 微型计算机的中断系统
26
第七章:微型计算机的中断系统——8086的中断系统 中断分类及中断类型码
INT n指 令
非屏蔽中断请求
中 断 逻 辑
INT 3 INTO 单 步 除数为0 指令 指令 中断 中断
NMI INTR
中
断 控 制 系 统
可 屏 蔽 中 断
( 8259A)
。 。
请 求
。
软件中断
硬件中断
27
第七章:微型计算机的中断系统——8086的中断系统
9
第七章:微型计算机的中断系统——概念及处理过程 中断优先级
当系统中有多个设备提出中断请求时,就有一个该响应谁的 问题,也就是一个优先级的问题,解决优先级的问题一般可有 三种方法:软件查询法、简单硬件方法及专用硬件方法。
10
软件查询方法
只需有简单的硬件电路,如将A、B、C三台设备的中断请求信 号“或”后作为系统INTR,这时,A、B、C三台设备中只要至少 有一台设备提出中断请求,都可以向CPU发中断请求。进入中断 服务子程序后,再用软件查询的方式分别对不同的设备的服务, 查询程序的设计思想同查询式,查询的前后顺序就给出了设备的 优先级。
中断返回 将压入的断点地址弹出,保证被中断的程序按原来状态执行下去。
17
第七章:微型计算机的中断系统——概念及处理过程 中断过程
中断处理和中断返回中的所有内容,也叫做中断服务程序。即:
18
第七章:微型计算机的中断系统——8086的中断系统
可屏蔽中断处理过程
19
20
第七章:微型计算机的中断系统——8086的中断系统 中断响应过程
件中断又可分为:可屏蔽中断和不可屏蔽中断。 ▪ 不可屏蔽中断:由NMI引脚引入,它不受中断允许标志的影响,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例7-2 测试加法的溢出 ADD AX,BX , INTO (3)由调试程序 )由调试程序debug设置的中断 设置的中断 在调试程序时,为了检查中间结果或寻找程序中的错误, 在调试程序时,为了检查中间结果或寻找程序中的错误, 在程序中可设置断点或进行单步跟踪,调试程序debug有此功能 在程序中可设置断点或进行单步跟踪,调试程序 有此功能 它也是由中断来实现的。 它也是由中断来实现的。 单步中断:单步是每次只执行一条指令, ①单步中断:单步是每次只执行一条指令,然后屏幕显示当前各 寄存器和有关存储单元的内容,以及下条要执行的指令。 寄存器和有关存储单元的内容,以及下条要执行的指令。这样逐 条运行指令,来跟踪程序的流程,以检查出程序中的错误。 条运行指令,来跟踪程序的流程,以检查出程序中的错误。 单步中断是在标志位 是在标志位TF=1时,每条指令执行后,CPU自动 单步中断是在标志位 时 每条指令执行后, 自动 产生中断类型号为 的中断。 中断类型号为1的中断 产生中断类型号为 的中断。 断点中断:中断类型号为3。 调试程序时, ②断点中断:中断类型号为 。用debug调试程序时,可用 命令 调试程序时 可用G命令 设置断点。 执行到断点时便产生中断, 设置断点。当CPU执行到断点时便产生中断,同时显示当前各寄 执行到断点时便产生中断 存器和有关存储单元的内容,以及下条要执行的指令, 存器和有关存储单元的内容,以及下条要执行的指令,供用户检 设置断点实际上是把一条断点指令INT 3插入到断点设置处。 插入到断点设置处。 查。设置断点实际上是把一条断点指令 插入到断点设置处
中断类型号。 中断类型号。 例7-1 测试存储器容量 INT 12H CPU执行这条指令时,立即产生一个中断。并从中断向 执行这条指令时, 执行这条指令时 立即产生一个中断。 量表的0: 开始的单元中取出4个字节 量表的 :12H×4开始的单元中取出 个字节,其内容为中断服 × 开始的单元中取出 个字节, 务子程序的段地址和偏移地址, 务子程序的段地址和偏移地址,然后转去此入口去执行中断服 务子程序,完成对存储器的测试。 务子程序,完成对存储器的测试。 (2)由CPU的某些运算错误引起的中断 ) 的某些运算错误引起的中断 CPU在运行程序时 会发现一些运算中出现的错误, CPU在运行程序时,会发现一些运算中出现的错误,此 在运行程序时, 就会中断, 时CPU就会中断,让用户去处理这些错误。主要有: 就会中断 让用户去处理这些错误。主要有: 除法错中断:除法错中断类型号为0,在除法运算中, ①除法错中断:除法错中断类型号为 ,在除法运算中,若除数 或商超过了寄存器所能表达的范围, 为0或商超过了寄存器所能表达的范围,就产生一个类型号为 或商超过了寄存器所能表达的范围 就产生一个类型号为0 的中断,转去类型号为0的中断处理 的中断处理。 的中断,转去类型号为 的中断处理。 溢出中断:溢出中断类型号为4,专用指令为INTO。若OF=1 ②溢出中断:溢出中断类型号为 ,专用指令为 。 执行中断指令INTO;若OF=0,不执行中断指令。通常 执行中断指令 ; ,不执行中断指令。通常INTO放 放 在加、减法运算指令的后面。 在加、减法运算指令的后面。
引脚上。 中设有中断屏蔽寄存器, 的INTR引脚上。8259A中设有中断屏蔽寄存器,它的 位对应 引脚上 中设有中断屏蔽寄存器 它的8位对应 控制8个外设 通过设置这个寄存器的某位为0或 , 个外设, 控制 个外设,通过设置这个寄存器的某位为 或1,可以允许 或禁止某个外设的中断请求。一块8259A可管理 个中断,当 可管理8个中断 或禁止某个外设的中断请求。一块 可管理 个中断, 外设超过8个时 可以使用多个8259A进行级联,扩大到 级 个时, 进行级联, 外设超过 个时,可以使用多个 进行级联 扩大到64级 中断。外设与8259A的连接是由用户来设计的,硬件连线决定 的连接是由用户来设计的, 中断。外设与 的连接是由用户来设计的 了中断类型号和中断优先级次序。 了中断类型号和中断优先级次序。 CPU是否允许响应中断,与中断允许位 有关。IF=1 是否允许响应中断, 有关。 是否允许响应中断 与中断允许位IF有关 CPU允许响应中断;IF=0,CPU禁止响应中断。 允许响应中断; 禁止响应中断。 允许响应中断 , 禁止响应中断 2. 内部中断 内部中断又称为软件中断。软件中断通常有三种情况引 内部中断又称为软件中断。 由中断指令INT引起的中断;②由CPU的某些运算错误 引起的中断; 起:①由中断指令 引起的中断 的某些运算错误 引起的中断; 由调试程序debug设置的中断。 设置的中断。 引起的中断;③由调试程序 设置的中断 内部中断只要由上面三种情况引起了,是不可屏蔽的! ※内部中断只要由上面三种情况引起了,是不可屏蔽的! (1)由中断指令 )由中断指令INT引起的中断 引起的中断 CPU执行一条 执行一条INT n指令后立即产生中断,并且调用系 指令后立即产生中断, 执行一条 指令后立即产生中断 统中相应的中断处理程序去完成中断功能,指令中的n指出了 统中相应的中断处理程序去完成中断功能,指令中的 指出了
中断请求何时发生是随机的。 中断请求何时发生是随机的。CPU在每条指令的最后一 在每条指令的最后一 周期去检测INTR引脚,CPU一旦检测到有中断请求,在满 引脚, 一旦检测到有中断请求, 个T周期去检测 周期去检测 引脚 一旦检测到有中断请求 足中断响应的条件下( ),CPU响应中断,会向外设发出 响应中断, 足中断响应的条件下(IF=1), ), 响应中断 中断响应信号。并保护断点(当前CS、 和 值 INTA中断响应信号。并保护断点(当前 、IP和PSW值 入栈 ),然后转向中断服务程序 中断服务程序执行完毕, 然后转向中断服务程序。 ),然后转向中断服务程序。中断服务程序执行完毕,CPU返 返 回原执行程序的中断处,继续向下执行,称为中断返回。 回原执行程序的中断处,继续向下执行,称为中断返回。 3. 中断向量表 CPU响应中断后,必须由中断源提供地址信息,引导程 响应中断后, 响应中断后 必须由中断源提供地址信息, 序进入中断服务子程序,这些中断服务子程序的入口地址 中断服务子程序的入口地址存放 序进入中断服务子程序,这些中断服务子程序的入口地址存放 在中断向量表中。内存中专门开辟了一个区域,存放中断向量 中断向量表中。内存中专门开辟了一个区域, 表中 也称中断矢量表)。 表(也称中断矢量表)。 4. 中断优先级 当有多个中断源请求中断时, 当有多个中断源请求中断时,中断系统判别中断申请的 优先级, 响应优先级高的中断, 优先级,CPU响应优先级高的中断,挂起优先级低的中断。当 响应优先级高的中断 挂起优先级低的中断。 CPU在运行中中断服务子程序时,又有新的更高优先级的中断 在运行中中断服务子程序时, 在运行中中断服务子程序时 申请进入, 要挂起原中断进入更高级的中断服务子程序, 申请进入,CPU要挂起原中断进入更高级的中断服务子程序, 要挂起原中断进入更高级的中断服务子程序
1. 外部中断 8086/8088 CPU有两个外部中断请求线:不可屏蔽中断 有两个外部中断请求线: 有两个外部中断请求线 请求线NMI和可屏蔽中断请求线 和可屏蔽中断请求线INTR。 请求线 和可屏蔽中断请求线 。 引脚引入的不可屏蔽中断请求, (1) 由NMI引脚引入的不可屏蔽中断请求,采用边沿触发, ) 引脚引入的不可屏蔽中断请求 采用边沿触发, 上升沿之后维持两个时钟周期高电平有效。 上升沿之后维持两个时钟周期高电平有效。对于不可屏蔽中断 用户是不能用软件来屏蔽的,一旦有不可屏蔽中断请求, 用户是不能用软件来屏蔽的,一旦有不可屏蔽中断请求,CPU 必须予以响应。不可屏蔽中断请求的中断类型号为2, 必须予以响应。不可屏蔽中断请求的中断类型号为 ,即中断 处理程序的入口地址在0段的 段的0008H~000BH的4个单元中。 个单元中。 处理程序的入口地址在 段的 ~ 的 个单元中 引脚引入的外设提出的可屏蔽中断请求, (2) 由INTR引脚引入的外设提出的可屏蔽中断请求,采用 ) 引脚引入的外设提出的可屏蔽中断请求 电平触发,高电平有效,INTR信号的高电平必须维持到 电平触发,高电平有效, 信号的高电平必须维持到CPU 信号的高电平必须维持到 响应中断才结束。 响应中断才结束。可屏蔽中断是用户可以通过软件设置来屏蔽 的外部中断,即使外部设备有中断请求, 可以不予响应。 的外部中断,即使外部设备有中断请求,CPU可以不予响应。 可以不予响应 由外设引起的可屏蔽中断请求要得到响应应有两个条件: 由外设引起的可屏蔽中断请求要得到响应应有两个条件:①外 设中断请求是否被屏蔽; 是否允许响应中断。 设中断请求是否被屏蔽;②CPU是否允许响应中断。 是否允许响应中断 系统中, 在8086 CPU系统中,外设的中断请求信号接入可编程 系统中 中断控制器8259A的IRi端,而8259A的中断输出 的中断输出INT连到 连到CPU 中断控制器 的 端 的中断输出 连到
实现中断嵌套功能。 实现中断嵌套功能。 5. 中断屏蔽 当中断源申请中断时, 可以由软件设置, 当中断源申请中断时,CPU可以由软件设置,使之不能 可以由软件设置 响应,称为中断屏蔽。 响应,称为中断屏蔽。 本章讨论与8086/8088 CPU相配合的中断系统及中断接 本章讨论与 相配合的中断系统及中断接 口芯片8259A。 口芯片 。 二、中断分类 8086/8088有一个强有力的中断系统,可以处理256种不 有一个强有力的中断系统,可以处理 种不 有一个强有力的中断系统 同的中断。 系统上的中断源如图7-1所示 同的中断。 8086/8088系统上的中断源如图 所示。以产生中 系统上的中断源如图 所示。 断的方法来分类, 种中断可以分为两大类 外部中断和 种中断可以分为两大类: 断的方法来分类,256种中断可以分为两大类:外部中断和内 部中断。 部中断。
7-2 中断处理过程
可屏蔽中断处理的过程一般分成几步:中断请求; 可屏蔽中断处理的过程一般分成几步:中断请求;中断 响应;保护现场;转入中断服务子程序;恢复现场和中断返回。 响应;保护现场;转入中断服务子程序;恢复现场和中断返回。 其流程如图7-2所示 所示。 其流程如图 所示。