微机原理中断.ppt
合集下载
微机原理和汇编语言 第7章 输入输出和中断.ppt
7.1 I/O接口概述
7.1.1 I/O接口的作用
1. I/O接口
微处理器与存储器构成了微型计算机系统的 主机部分,为了使微型计算机工作,还必须配上 各种外部设备,简称外设,将外设中主要用来实 现数据的输入/输出、实现人机联系的设备称为 输入/输出设备,即I/O设备。
当要把外设与微处理器相连时,往往需 要配上相应的电路。通常把介于主机和外设之间 的一种缓冲电路称为I/O接口电路,简称I/O接口。
(1) 数据信息:它是CPU与外设之间传送的 主要信息,可分为数字量、模拟量和开关量三种 形式。
(2) 状态信息:是外设通过接口送往CPU的 信息,作为外设与CPU之间交换数据的联络信号, 反映了当前外设所处的工作状态。
(3) 控制信息:是CPU通过接口传送给外设 的信息,用来设置外设(包括接口)的工作方式、 控制外设的工作等。
数据信息
DB
状态信息
CPU
I/O接口
外设
控制信息
图7.2 CPU与外设交换的信息
7.1.3 I/O接口的基本结构(接口与端口) 接口(Interface):介与主机和外设之间的 缓冲电路。 端口(Port):接口中可以进行寻址读写的 寄存器,简称口。 一个接口往往含有几个端口,CPU通过输入 输出指令向这些端口取或存信息。端口主要有三 类:一类为状态口,一类为命令口(或控制口), 一类是数据口。 CPU通过输入指令从状态口获取外设的状态 信息,通过输出指令从命令口发出控制命令,控 制外设的工作。通过输入输出指令可以从数据端 口与外设交换数据。因此说,计算机主机与外设 之间交换信息都是通过接口中的端口来实现的。
CPU
I/O 接口
外设
图7.1 主机与外设的连接
微机原理第7章 8086中断系统和中断控制器
3)高级中断源能中断低级的中断处理
中断嵌套 当CPU正在响应某一中断源的请求,执行为其服务的中断服务程序时, 如果有优先级更高的中断源发出请求,CPU将中止正在执行的中断服务程 序而转入为新的中断源服务,等新的中断服务程序执行完后,再返回到被 1 中止的中断服务程序,这一过程称为中断嵌套。 • 中断嵌套可以有多级,具体级数原则上不限,只取决于堆栈深度。
外部中断 非屏蔽中断 可屏蔽中断
可屏蔽中断源
CPU 中断逻辑
INTR
8259A 中断 INTA 控制器
INT N 指令
INTO 指令
除法 错误
单步 中断
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
外 设 中 断 源
内部中断: 除法错中断 指令中断 溢出中断 单步中断
硬件(外部)中断 非屏蔽中断请求 INT 2 NMI(17号引脚) 中 断 逻 辑 可屏蔽中断请求 中断类型号32~255 INTR(18号引脚)
中断指令 INT n N=32~255
溢出中断 INTO INT 4
断点 中断 INT 3
单步中断 (TF=1) INT 1
除法 错误 INT 0
软件(内部)中断
8086/8088中断源
1.软件中断(内部中断) 8086/8088的软件中断主要有三类共五种。 (1) 处理运算过程中某些错误的中断 执行程序时,为及时处理运算中的某些错误 ,CPU以中断方式中止正在运行的程序,提醒程 序员改错。 ① 除法错中断(中断类型号为0)。在8086 /8088 CPU执行除法指令(DIV/IDIV)时,若发现 除数为0,或所得的商超过了CPU中有关寄存器所 能表示的最大值,则立即产生一个类型号为0的 内部中断,CPU转去执行除法错中断处理程序。
微机原理与接口技术——中断系统
2、内部中断——软件中断
内部中断指由指令的执行或软件对标志寄存器中 某个标志的设置产生的中断
专用中断
指令中断
内部中断的种类
(1)除法出错中断 类型号为00H
除法出错中断既不是外部硬件产生,也不是用 软件指令产生,而是CPU自身产生的,因此0型中 断没有对应的中断指令,即指令系统中没有INT 0 这条指令。
30~3FH 40~FFH
DOS保留使用 DOS内部使用 DOS保留使用 用户自定义
DOS 可调用
1、外部中断——硬件中断
1、非屏蔽中断(NMI):不受中断标志位的控制,中断类型 号为2,所以中断向量放在0000:0008开始的4个单元中。NMI 中断一般用于紧急情况的处理,不受中断标志位IF影响 。 2、可屏蔽中断(INTR):受中断标志位的控制,IF=1, CPU才能响应INTR中断。CPU响应INTR中断时,往INTA引 脚上发两个负脉冲,外设接到第二个负脉冲后,立即往数据总 线上送出中断类型码,供CPU读取。
中断源
引起CPU中断的事件,发出中断请求的来源。
异常中断 内部中断
软件中断
异常事件引起 中断指令引起
可屏蔽中断 外部中断
非屏蔽中断
INTR中断 NMI中断
引入中断的原因
提高数据传输率; 避免了CPU不断检测外设状态的过程,提高了
CPU的利用率。 实现对特殊事件的实时响应。
中断系统
中断系统是指实现中断功能的软硬件的统称。功 能有: 正确识别中断请求,实现中断响应、中断处理
INTR
IRQ0 系统定时器 IRQ1 键盘 IRQ2 彩色/图形接口
8259A
IRQ3 保留(串口) IRQ4 串口
IRQ5 保留(LPT)
微机原理14162中断处理过程
8
§7.2 中断处理过程
二、CPU对中断的响应
3. 识别中断源
CPU要对中断进行处理,必须找到相应的中断服 务程序的入口地址,这就是中断源的识别。
4. 保护现场
为了不使中断服务程序的运行影响主程序的状态, 必须把断点处的相关寄存器及标志寄存器压栈保 护。
5. 执行中断服务程序
6. 恢复现场 7. 开中断及返回
2019/10/3
4
§7.2 中断处理过程
一、CPU响应中断的条件
中断允许触发器的状态可用指令CLI和 STI来改 变,下述三种情况可关闭中断:
1) 当CPU复位时,中断允许触发器处于关中 断状态;
2) 中断请求被响应后,CPU自动关中断; 3) CPU执行关中断指令CLI后,中断关闭。
2019/10/3
2019/10/3
7
§7.2 中断处理过程
二、CPU对中断的响应
CPU进入中断响应周期后,中断响应过程如下:
1. 关中断
CPU在响应中断后,发出中断响应信号INTA,同 时内部自动关中断,以禁止接受其它的中断请求。
2. 保护断点 把断点处的IP及CS值入栈保存,以备中断处理完 后能正确返回断点。
2019/10/3
四、中断优先级
17
§7.2 中断处理过程
实现方法:
将8个外 设的中断 请求触发 器组合为 一个端口, 并给这个 端口赋以 设备号 (口地址),
2019/10/3
四、中断优先级
18
§7.2 中断处理过程
四、中断优先级
然后,把各外设的中断请求信号相或后作为INTR信 号。任何外设有中断请求时,都可向CPU发出INTR 信号。CPU响应中断后,把中断寄存器的状态作为 一个输入端口读进CPU,然后逐位检测其状态,若 有中断请求就转入相应的中断服务程序,这样优先 级的级别取决于软件查询的顺序,先测试的中断源 具有较高的优先级。
微机原理与接口技术课件 7.中断向量表(已看)
8259A的工作过程
8259A对中断请求的处理过程如下:
当某IRi有效时,IRR相应位置1 若有效的IRi未被屏蔽,则向CPU发出中断请求INT 检测到第1个INTA信号后,置ISRi=1,IRRi=0 检测到第2个INTA信号后,把ISRi=1中最高优先级 的中断类型码 n 放到DB上
19
可编程中断控制器8259A
PIC,Programmable Interrupt
可对8个中断源实现优先级控制 (单个管8个) 可扩展至对64个中断源实现优 先级控制(9个管64个) 可编程设置不同工作方式(多套 管理方案) 根据中断源向x86提供不同中断 类型码n(来访者1人1号) 引脚分配及功能见右图
的中断;
内部中断:由处理器电路或中断指令产生的中断,
如除0中断,int指令等。
4
8086的中断向量表
存放各类中断的中断服务程序的入口地址CS:IP(段 CS和偏移IP)——中断向量 表的地址位于内存的00000H~003FFH,大小为 1KB,共256个中断向量(中断向量表) 每个中断向量占用4 Bytes,低字为段内偏移IP,高 字为段基址CS 根据中断类型号n获得中断服务程序入口的方法: 中 断向量在IVT中的存放地址=4×n (中断向量地址)
中断指令 INT n
(n=0~255)
软件 硬件
外部/硬件中断请求
2
NMI
非屏蔽中断请求
可 屏 蔽
中 断 请 求
11
DB
3 中断逻辑
n 中断控 制器 8259A PIC
0
1
单步中断
内部排队 中断开关
微机原理ppt全
第5章 输入输出基本方式
1.无条件方式
这种方式在传送信息时,已知外设是准备好的状态,所以 输入输出时都不需要查询外设的状态。可直接用IN和OUT指令 完成与接口之间的数据传送。但这种方式必须确保外设已经准 备好时才可使用,否则就会出错,故很少使用。采用无条件传 送方式的接口电路如图5-3所示。
图5-3 无条件传送方式接口电路
第5章 输入输出基本方式
2.查询方式
当CPU与外设之间进行数据传递源自, 很难保证CPU在执行输入操作时,外设一 定是“准备好”的;而在执行输出操作时 ,外设一定是“空闲”的。为保证数据传 送的正确进行,CPU必须在数据传送之前 对外设的状态进行查询,确认外设已经满 足了传送数据的条件后再与外设进行数据 交换,否则一直处于查询等待状态,这就 是查询方式。
第5章 输入输出基本方式
使用查询方式工作的外设必须至少有两个部 件,其中之一是状态部件。CPU每一次与外设进行 数据交换之前,先从状态部件读取信息,判断外 设是否处于“就绪”(Ready)状态。如果来自外 设的状态信息反映出外设“没有准备好”或正 “忙”(Busy),说明还不能进行数据传递;反 之,当CPU检测到外设已准备好(Ready)后,才 可以与外设进行一次数据传递。 (1)查询方式输入
第5章 输入输出基本方式
5.1 输入输出方式 5.2 8086/8088的中断系统 5.3 8086/8088的中断控制与DMA控制 5.4 接口与总线
第5章 输入输出基本方式
5.1 输入输出方式 5.2 8086/8088的中断系统 5.3 8086/8088的中断控制与DMA控制 5.4 接口与总线
第5章 输入输出基本方式
“统一编址” 的特点是:内存和I/O端口共用一 个地址空间;所有访问内存的指令都可用于I/O端口 ,包括内存的算术逻辑运算指令。
1.无条件方式
这种方式在传送信息时,已知外设是准备好的状态,所以 输入输出时都不需要查询外设的状态。可直接用IN和OUT指令 完成与接口之间的数据传送。但这种方式必须确保外设已经准 备好时才可使用,否则就会出错,故很少使用。采用无条件传 送方式的接口电路如图5-3所示。
图5-3 无条件传送方式接口电路
第5章 输入输出基本方式
2.查询方式
当CPU与外设之间进行数据传递源自, 很难保证CPU在执行输入操作时,外设一 定是“准备好”的;而在执行输出操作时 ,外设一定是“空闲”的。为保证数据传 送的正确进行,CPU必须在数据传送之前 对外设的状态进行查询,确认外设已经满 足了传送数据的条件后再与外设进行数据 交换,否则一直处于查询等待状态,这就 是查询方式。
第5章 输入输出基本方式
使用查询方式工作的外设必须至少有两个部 件,其中之一是状态部件。CPU每一次与外设进行 数据交换之前,先从状态部件读取信息,判断外 设是否处于“就绪”(Ready)状态。如果来自外 设的状态信息反映出外设“没有准备好”或正 “忙”(Busy),说明还不能进行数据传递;反 之,当CPU检测到外设已准备好(Ready)后,才 可以与外设进行一次数据传递。 (1)查询方式输入
第5章 输入输出基本方式
5.1 输入输出方式 5.2 8086/8088的中断系统 5.3 8086/8088的中断控制与DMA控制 5.4 接口与总线
第5章 输入输出基本方式
5.1 输入输出方式 5.2 8086/8088的中断系统 5.3 8086/8088的中断控制与DMA控制 5.4 接口与总线
第5章 输入输出基本方式
“统一编址” 的特点是:内存和I/O端口共用一 个地址空间;所有访问内存的指令都可用于I/O端口 ,包括内存的算术逻辑运算指令。
微机原理(中断概念)
必要性及应用 中断功能便于实现 1.分时操作
CPU和外设同时工作;CPU可以通过 分时操作启动多个外设同时工作,统一 管理。大大提高了CPU的利用率,也提 高了输入、输出的速度。
2.实时处理
3.故障处理
4.主机与外设之间的速度匹配
计算机在运行过程中,往往会出现事 先预料不到的情况,或出现一些故障: 如电源突跳,存储出错,运算溢出等等。 计算机就可以利用中断系统自行处理, 而不必停机或报告工作人员。
3. 8086从0030H开始读取4字节中断处理程 序的入口地址,前两字节装入IP,后两 字节装入CS,8086执行中断处理程序。
中断向量的装入
• 中断向量的装入方法:用MOV指令 • 假设中断类型号为60H,中断服务程序的偏移地
址是1234H,段地址5678H
• MOV AX,00H • MOV ES,AX; 0段 • MOV BX,60H*4; (=180H)中断向量指针 • MOV AX,1234; 中断服务程序偏移地址 • MOV ES:[BX],AX;装入偏移地址 • MOV AX,5678H; 中断服务程序段地址 • MOV ES:[BX+2],AX;装入段地址
8086中断时序
➢ 8086对外部硬件中断请求INTR的响应:
当INTR有一高电平,即有可屏蔽中断请求。 若此时IF=1且当前指令执行完,进入中断响 应周期,处理过程如下:
1. INTA*在两个总线周期中分别发出有效信号, 在第二个周期中8086读到中断类型码,然后 乘以4,得到中断向量。
2. 下一条指令地址CS和IP入栈,标志寄存器入 栈,清除IF和TF标志位。
中断嵌套
CPU正在执行 主程序
CPU正在执行 低级中断服务
微机原理 第七章中断控制器
CAS2
3
2 . 8259A的编程结构和工作原理
4
编程结构 (1)上半部分:处理部件 中断请求寄存器IRR 中断优先级裁决器PR 当前中断服务寄存器ISR (2)下半部分:7个寄存器 ICW1~ICW4 OCW1~OCW3
5
中断请求寄存器IRR
保存8条外界中断请求信号IR0-IR7的请求状态 Di位为1表示IRi引脚有中断请求;为0表示无请求
1. 中断优先权管理方式: 可见,8259A (1) 全嵌套方式 (2)特殊全嵌套方式 有多中工作方式, (3)自动循环方式 (4)特殊循环方式 使用起来很灵活, 2. 屏蔽中断源的方式 不易掌握,所以介 (1)普通屏蔽方式 (2)特殊屏蔽方式 绍编程之前,先对 3. 中断结束方式 其工作方式分类进 (1) 自动结束(AEOI)方式 行简要的介绍。 (2) 非自动结束(EOI)方式: ① 普通EOI方式;② 特殊EOI方式 4. 系统总线的连接方式(8259A级连方式) (1) 缓冲方式 (2)非缓冲方式 5. 中断请求的引入方式 (1) 边沿触发 (2)电平触发 (3)中断查询
• 优先级特殊循环方式:初始优先级队列是由编程确定的。 也可由操作命令字OCW2来设定。
10
2、屏蔽中断源的方式
• 普通屏蔽方式:8259A的每个中断请求输入端都可以通过 对应屏蔽位的设置被屏蔽,通过设置操作命令字OCW1使 屏蔽器中任一位或几位置1(对中断的屏蔽总是暂时的, eg:计算机网络通信)
5.
6.
16
五、中断响应过程(CPU与8259A的操作过程)
1、申请中断 外设 对应IR0 ~ IR7为“1”, 为“1” CPU的INTR输入“1”,申请中断。 2、响应中断的条件 CLI 使 IF = 0,禁止中断。 STI 使 IF = 1,允许中断。 判优后使INT
微机原理-05 中断
P1.3
绿灯
SJMP DDD
P3.2
3.如果想通过中断方式实现上述功能,软件怎样编程序? 仿前 例。
ORG 0000H
+5V
AJMP MAIN
P1.0
红灯
ORG 0003H
P1.1
红灯
AJMP INT
ORG 0050H
P1.2
绿灯
MAIN: MOV SP,#60H
P1.3
绿灯
MOV IE,#1000 0001B;
• 若ITi=0(电平触发),则输入到INTi 的外部中断源必须保持低电平有效,直到该 中断被响应。同时在中断返回前必须使电平 变高,否则将会再次产生中断。
SCON-串行口控制寄存器(98H)
位地址 9F 9E 9D 9C 9B 9A 99 98
SCON
TI RI
发送中断标志
接收中断标志
一帧数据发送完毕置“1”TI,请求CPU发送下一帧 一帧数据接收完毕置“1”RI,请求CPU取走数据
§5.1.2 查询传送方式(条件传送)
通过查询外设的状态信息,确信外设已处于“准备好”, 计算机才发出访问外设的指令,实现数据的传送。
状态信息:一般为1位二进制码。
输入时,需要查询外设的输入数据是否准备好;
输出时,要查询外设是否把上一次CPU输出的数据处理完毕。
查询方式程序流程图
优点:通用性好,可以用于各类
…………… ORG 0080H PH:PUSH PSW PUSH A SETB P3.0 ACALL DELAY1S CLEAR P3.0 ANL P1,#0BFH;撤申请 ORL P1,#40H POP A POP PSW RETI END
当发送和接收中任何一个标志被置位时,都可以向CPU提出 申请。必须在中断服务程序中判断,并由软件将RI和TI标志位 清0。
微机原理 微型计算机中断系统剖析
23
第九章
② 利用DOS功能调用设置中断服务程序的入口地址表
…… PUSH DS MOV AX,SEG INTRAD; MOV DS,AX MOV DX,OFFSET INTRAD MOV AL,N MOV AH,25H INT 21H POP DS ……
24
第九章
3、中断类型号的获取 矢量中断中,中断入口地址依赖中断类型号,中断型号获取
方法:
对于专用中断:除法出错、单步中断、不可屏蔽中断、断点
中断和溢出中断,由CPU分别提供中断类型号0~4;
对于用户自己确定的软件中断INT n,类型号由n决定;
对于INTR引脚上的中断:
–由硬件电路设计产生中断类型号。 –可用8259A获取中断类型号。
25
第九章
三、中断服务子程序
1、中断服务子程序特点 为”远”过程(类型为FAR) 要用IRET指令返回 2、中断服务子程序一般结构形式 保护现场(PUSH reg’s) 开中断(STI) 进行中断处理 关中断(CLI) 恢复现场(POP reg’s) 中断返回(IRET)
9
第九章
2、内部中断(软件中断) 由三种情况引起:
由软中断指令INT n引起
INT n指令,类型号n(0-255)。
由CPU运算错误引起
① 除法出错中断:类型号0 ② 溢出中断:类型号4,由INTO指令引起的中断;
10
第九章
2、内部中断(软件中断)(续)
由调试程序debug设置的中断 ① 单步中断:
教材第七章内容
第九章 微型计算机中断系统
9-1 概述
9-2 可屏蔽中断处理过程 9-3 中断优先级和中断嵌套 9-4 可编程中断控制器8259A
微机原理及单片机应用技术第8章 80C51的中断与定时计数器
定时/计数器的结构
T1引脚
TH1
TL1
TH0
T0引脚
TL0
机器周 期脉冲
TH1、TL1
内部总线
TH0、TL0
TF1 TR1 TF0 TR0 GATE C/T M1 M0 GATE C/T M1 M0
TCON
TMOD
TCON
外部中断相关位
T1方式
T0方式
TMOD
2020/10/27
21
计数脉冲源
定时/计数器的工作原理
76543210
TCON TF1 TR1 TF0 TR0
字节地址:88H
TFx:Tx溢出标志位。响应中断后TFx有硬件自动清0。 用软件设置TFx可产生同硬件置1或清0同样的效果。
TRx:Tx运行控制位。置1时开始工作;清0时停止工作。 TRx要由软件置1或清0(即启动与停止要由软件控制)。
2020/10/27
2020/10/27
24
定时/计数器的控制示意图
M1M0 工作方式
说
明
00 方式0 13位定时/计数器
01 方式1 16位定时/计数器
10 方式2 8位自动重装定时/计数器
11
方式3
T0分成两个独立的8位定时/计数器; T1此方式停止计数
注意:TMOD不能进行位寻址
2020/10/27
26
控制寄存器TCON
第八章 80C51的中断系统与定时计数器
8.1 80C51单片机的中断系统 8.2 80C51中断处理过程 8.3 80C51单片机的串行口
8.1 80C51单片机的中断系统
5.1.1 80C51中断系统的结构
中断的概念
与子程序调用相似 但有本质的区别
微机原理第六章 输入输出和中断技术 part 2 (2)
回复断点和硬件现场
中断处理的一般过程
6.4.3 8088/8086中断系统
8086/8088为每个中断源分配 一个中断类型码(中断向量码),其取值范围为 0~255,实际可处理56种中断。其中包括软件中断,系统占用的中断,已经开放 给用户使用的中断。所有中断又可分为两大类:内部中断和外部中断。
内部中断
6.4.2 中断处理的一般过程
1. 中断请求 2. 中断源识别及中断判优 3. 中断响应 4. 中断处理(服务) 5. 中断返回
1. 中断请求 ➢ INTR中断请求信号应保持到中断被处理为止 ➢ CPU响应中断后,中断请求信号应及时撤销
2. 中断源识别 ➢ 软件判优:由软件来安排中断源的优先级别。顺序查询中断请求,先查询的
➢ (4)能向存储器或外设发出读/写命令。 ➢ (5)能决定传送的字节数,并判断DMA传送是否结束。 ➢ (6)在DMA过程结束后,能向CPU发出DMA结束信号,将总线控制权交
还给CPU。
2. DMA控制器的工作过程 ➢ (1)当外设准备好,可以进行DMA传送时,外设向DMA控制器发出
“DMA传送请求”信号DRQ ➢ (2)DMA控制器收到请求后,向CPU发出“总线请求”信号HOLD ➢ (3)CPU在完成当前总线周期后会立即发出HLDA信号,对HOLD信号进
➢ (2)单步中断——1型中断,标志寄存器中有一位陷阱标志TF。 ➢ (3)断点中断——3型中断,专用于设置断点的指令INT 3,用于程序中设
置断点来调试程序。
➢ (4)溢出中断——4型中断,在算数指令的执行过程发出溢出 ➢ (5)用户自定义的软件中断——n型中断,执行中断指令INT n引起内部中
断。
需要时,CPU回到原来被中断的地方继续执行自己的程序。 优点: ➢ CPU效率高,实时性好 缺点 ➢ 程序编制相对较为复杂
中断处理的一般过程
6.4.3 8088/8086中断系统
8086/8088为每个中断源分配 一个中断类型码(中断向量码),其取值范围为 0~255,实际可处理56种中断。其中包括软件中断,系统占用的中断,已经开放 给用户使用的中断。所有中断又可分为两大类:内部中断和外部中断。
内部中断
6.4.2 中断处理的一般过程
1. 中断请求 2. 中断源识别及中断判优 3. 中断响应 4. 中断处理(服务) 5. 中断返回
1. 中断请求 ➢ INTR中断请求信号应保持到中断被处理为止 ➢ CPU响应中断后,中断请求信号应及时撤销
2. 中断源识别 ➢ 软件判优:由软件来安排中断源的优先级别。顺序查询中断请求,先查询的
➢ (4)能向存储器或外设发出读/写命令。 ➢ (5)能决定传送的字节数,并判断DMA传送是否结束。 ➢ (6)在DMA过程结束后,能向CPU发出DMA结束信号,将总线控制权交
还给CPU。
2. DMA控制器的工作过程 ➢ (1)当外设准备好,可以进行DMA传送时,外设向DMA控制器发出
“DMA传送请求”信号DRQ ➢ (2)DMA控制器收到请求后,向CPU发出“总线请求”信号HOLD ➢ (3)CPU在完成当前总线周期后会立即发出HLDA信号,对HOLD信号进
➢ (2)单步中断——1型中断,标志寄存器中有一位陷阱标志TF。 ➢ (3)断点中断——3型中断,专用于设置断点的指令INT 3,用于程序中设
置断点来调试程序。
➢ (4)溢出中断——4型中断,在算数指令的执行过程发出溢出 ➢ (5)用户自定义的软件中断——n型中断,执行中断指令INT n引起内部中
断。
需要时,CPU回到原来被中断的地方继续执行自己的程序。 优点: ➢ CPU效率高,实时性好 缺点 ➢ 程序编制相对较为复杂
微机原理--第八章-中断系统
裁决器
0
IR6
0
IR7
选 CS 译 码
RD
WR
INTA INT
ICW1 芯片控制 A0
A0
1 × I3 I4 0 1 0 0 1 0 1 0 0 1
ICW2 中断类型号 1
ICW3 主从片连接关系
1 ICW4 方式控制
1
OCW1 中断屏蔽寄存器 IMR
00
0
SP/EN
CA0
OCW2 优先级设置、发EOI
上有中断申请,则将IRR相应位置1;
总线
D0 ~ D7 A0
A5 ~ A9
IOR IOW INTA INTR
数据线 D0 ~ D7
A0
ISR 0
当前 0
中断 服务
• 非屏蔽中断 – 由NMI引脚引起的中断,称非屏蔽中断。 – 当NMI引脚上产生上升沿信号,CPU必响应此中断请 求,即NMI引脚上的中断请求不受IF标志的控制, – IF不能屏蔽NMI引脚上的中断请求。
8086/8088CPU的中断分类图
中断源
外部中断 内部中断
非屏蔽中断 可屏蔽中断 内部硬件中断
SP/EN CA0 CA1 CA2
GND
+ 5V
电子钟时间基准
键盘 保留 串 口2 串 口1 硬盘 软盘 打印机
用于多片 8259A
级连情况
7.3.4 8259A的控制字
8259A中断控制器
处理部分
0
ISR 0
当前 0
中断 0
服务 0
寄存器
0 0
0
IRR
中断申请
0 0
寄存器 0
0
PR
0
优先级
微机原理第八章:中断技术讲解
二、中断(zhōngduàn)源识别及中断(zhōngduàn) 判优
1.中断源识别
★ 软件查询法:
★ 中断矢量法:中断源提供中断类型号,CPU根据类型确定中断源 2.中断判优
★ 对同时产生的中断,首先处理优先级别较高的中断;
若优先级别相同,则按先来先服务的原则。
★ 对非同时产生的中断:
低优先级的中断程序允许被高优先级的中断源所中断
1.中断服务子程序的特点: 为“远过程”,用 IRET 指令返回
2.中断服务程序完成的工作
1)保护现场(通用寄存器的内容)
2)开中断(STI)
3)中断处理
4)关中断(CLI)
5)恢复现场 6)IRET
中断服务程序结构
保护有关寄存器内容 开中断
执行中断服务程序 关中断
恢复有关寄存器内容 执行IRET
精品资料
④ 执行 IRET 指令
4.退出中断(zhōngduàn) ① 关中断(zhōngduàn)
退
出
② 恢复现场中
③ 恢复断点 ④ 开中断(zhōngduàn) 断
精品资料
关中断 保存断点,保存现场
判别中断源 转入中断服务程序 保护寄存器、开中断 执行中断服务程序
IRET
关中断 恢复现场,恢复断点
开中断
STOSW
;串存储(字)
;AX→ES∶[DI]、 [DI+1]
MOV AX,SEG_INTR
;中断服务程序段基址送AX
STOSW
;串存储(字)
STI
;开中断
精品资料
2.用 MOV将直接(zhíjiē)中断向量写入中断向量表中
;将中断向量直接(zhíjiē)写入中断向量表中的程序段为
1.中断源识别
★ 软件查询法:
★ 中断矢量法:中断源提供中断类型号,CPU根据类型确定中断源 2.中断判优
★ 对同时产生的中断,首先处理优先级别较高的中断;
若优先级别相同,则按先来先服务的原则。
★ 对非同时产生的中断:
低优先级的中断程序允许被高优先级的中断源所中断
1.中断服务子程序的特点: 为“远过程”,用 IRET 指令返回
2.中断服务程序完成的工作
1)保护现场(通用寄存器的内容)
2)开中断(STI)
3)中断处理
4)关中断(CLI)
5)恢复现场 6)IRET
中断服务程序结构
保护有关寄存器内容 开中断
执行中断服务程序 关中断
恢复有关寄存器内容 执行IRET
精品资料
④ 执行 IRET 指令
4.退出中断(zhōngduàn) ① 关中断(zhōngduàn)
退
出
② 恢复现场中
③ 恢复断点 ④ 开中断(zhōngduàn) 断
精品资料
关中断 保存断点,保存现场
判别中断源 转入中断服务程序 保护寄存器、开中断 执行中断服务程序
IRET
关中断 恢复现场,恢复断点
开中断
STOSW
;串存储(字)
;AX→ES∶[DI]、 [DI+1]
MOV AX,SEG_INTR
;中断服务程序段基址送AX
STOSW
;串存储(字)
STI
;开中断
精品资料
2.用 MOV将直接(zhíjiē)中断向量写入中断向量表中
;将中断向量直接(zhíjiē)写入中断向量表中的程序段为
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Y 有中断请求
N
Y 响应中断
返回
关中断
恢复现场
保护断点 寻找中断源
转中断服务程序
中断服务 保护现场
可屏蔽中断处理流程图 14
第九章
一、CPU响应可屏蔽中断过程
1、CPU响应可屏蔽中断的条件 (1)外设提出中断申请; (2)本中断未被中断控制器屏蔽; (3)本中断优先级最高; (4)CPU允许中断;
5
第九章
4、与中断相关的基本概念
中断源 中断类型号 中断请求 中断响应 中断服务程序 中断返回
中断向量 中断向量表 中断优先级 中断嵌套 中断屏蔽
6
第九章
5、中断系统的基本功能 (1)中断响应,中断服务,中断返回,中断屏蔽; (2)中断优先级排队; (3)中断嵌套。
注意: 这些功能是由软件与硬件共同构成的系统完成的。 本章讨论与8086/8088CPU相配合的中断系统
7
第九章
二、中断的分类(中断源的分类)
8086/8088可以处理256种不同的中断。 两类:内部中断和外部中断。 中断源示意图如下图:
非屏蔽中断请求 NMI
中断逻辑
外部中断 非屏蔽中断
INTR 8259A
可屏蔽 中断请求
INT n INTO 指令 指令
8086/8088CPU
除法 出错
单步 (TF=1)
9
第九章
2、内部中断(软件中断) 由三种情况引起:
由软中断指令INT n引起 INT n指令,类型号n(0-255)。
由CPU运算错误引起 ① 除法错中断:类型号0 ② 溢出中断:类型号4,由INTO指令引起的中断;
10
第九章
2、内部中断(软件中断)(续) 由调试程序debug设置的中断 ① 单步中断:
19
第九章
1、中断向量表 又称:中断服务程序的入口地址表。 中断服务程序的入口地址又称中断向量
8086在存储器最低的1KB(00000H~003FFH)空间内 ,存放256个中断的中断向量。
每个类型号的中断向量占4字节,高2字节存放段 基址,低2字节存放偏移地址;
按照中断类型号的顺序依次将其中断向量存在1K 的内存表中,格式如下:
指令 INT n、INTO、IRET
12
第九章
9-2 中断处理过程
不同类型的中断处理过程略有不同,本节所介绍的 内容主要针对可屏蔽中断的处理过程。 可屏蔽中断处理过程步骤: 中断请求 中断响应 保护现场 转入执行中断服务子程序 恢复现场 中断返回
13
第九章
执行指令
N
指令结束
取下一条指令
从堆栈中弹出断点的地址和flags的内容,返回主程 序的断点处,继续执行主程序。
17
第九章பைடு நூலகம்
18
第九章
二、中断向量表
确定中断源的方法:查询中断和矢量中断。 ① 查询中断:一种软件查询法,中断响应后,启动中断查询
程序,依次查询哪个外设申请了中断,检测以后,转到此 设备预先设置的中断服务程序处执行。这种中断处理过程 称为查询中断。 特点:速度慢,且后检测的设备服务机会少。 ② 矢量中断:中断响应后,外设中断接口电路将中断类型号 送给CPU,CPU根据中断类型号找到对应的中断服务程序的 入口地址送入CS或IP,然后转入相应的中断服务程序处执行 。这种中断处理过程称为矢量中断,也叫向量中断。 特点:速度快。
2
第九章
2、中断的定义 CPU正常运行程序时,由于CPU的内部事件或外
设请求,引起CPU暂时中断正在运行的程序,转 去执行相应的外设(或内部事件)的服务程序 ,程序执行完后又返回到原先的程序继续执行 ,这一过程称为中断。 中断流程如下页图所示
3
第九章
4
第九章
3、使用中断的好处 分时操作 提高效率
类型号1,TF=1时产生(当前指令需执行完); Debug状态下的T命令执行时产生; ② 断点中断: 类型号3,INT 3指令引起的中断,属于软件中断 Debug状态下由G命令设置,相当于是在程序的某个 位置设置了一条INT 3 。
11
第九章
三、与中断有关的引脚和指令
引脚 INTR、INTA#、NMI
CPU在启动外设后与外设同时工作。当外设的数据准备 好向CPU发中断请求,CPU响应处理。CPU可让多个外设 同时工作,这将加快数据传送速度、提高CPU的效率。 实现实时处理 实时控制时,现场各种信息可随时发出中断请求 故障自行处理 将计算机在运行的过程中常遇到的意外情况,如:电源 突跳,存储器出错,运算溢出等设计成中断,计算机可 利用中断系统自行处理或告警。
8
内部中断
可屏蔽中断
第九章
1、外部中断(硬件中断) 不可屏蔽中断NMI
不能用软件屏蔽,CPU必须响应; 上升沿触发; 中断的类型号为2。 可屏蔽中断INTR IF=1,CPU响应中断;IF=0,CPU不响应; 高电平触发,高电平维持到CPU响应中断时结束; 中断类型号由中断控制器8259A或硬件电路提供。
15
第九章
CPU响应中断的过程
2、CPU响应可屏蔽中断的过程 CPU在每条指令的最后一个T周期,检测INTR,若为
高电平,且IF=1,则CPU响应中断。 响应过程中自动依次完成以下工作: ① CPU向外设发两个/INTA ,外设收到第2个/INTA 后
,立即往数据线上给CPU送中断类型号。 ② CPU从数据线上读取中断类型号; ③ 将flags入栈;
保护现行程序运行结果产生的状态和控制标志。
16
第九章
CPU响应中断的过程
④ 关中断(清IF和TF) 为了防止在进入中断处理,但并未执行中断程序这 段时间内又响应新的中断。
⑤ 保护断点 将当前指令的下一条指令的CS和IP压入堆栈,使中 断处理完成后能正确的回到原程序继续执行。
⑥ 转入相应的中断服务子程序; ⑦ 中断返回
教材第七章内容
第九章 微型计算机中断系统
9-1 概述 9-2 中断处理过程 9-3 中断优先级和中断嵌套 9-4 可编程中断控制器8259A
1
第九章
9-1 概述
一、中断概念
1、中断思想的提出 CPU与外设数据传送时的矛盾:高速CPU与慢速外设; 数据传送方式:无条件方式、查询方式
缺点: 外设有限制或处理器运行时间极大浪费,工作效率低。 解决办法: 一方面设法提高外设的工作速度; 另一方面提出设想: 外设主动提出请求,处理器响应处理--中断思想