微机原理精品课件牛勇第六章 中断系统
合集下载
《微机原理与接口技术》课件——第6章输入输出及中断系统
பைடு நூலகம்
CB
AB
DB
CPU
数据端口
状态端口
I/O
设
备
译
码
控制端口
图7.3 I/O接口的基本结构
I/O接口
5、I/O端口的编址 微机系统中,I/O端口的编址方式分为统一编址和独立编址两大类。在Intel 80x86系列微机中,采用独立编址方式。 (1). I/O端口的统一编址方式 统一编址又称存储器映象编址(Memory-mapping Address Coding),就是将I/O端口看成是存储器空间的一个组成部分,按照存储器单元的编址方法统一编排地址号,每个I/O端口占用一个地址。这样,CPU对I/O端口的输入/输出操作如同对存储单元的读/写操作一样,对存储器的各种寻址方式也同样适用于I/O端口。
DB
输
出
设
备
&
数据
地址
译码器
数据端口
译码输出
地址总线
DB
状态端口
译码输出
状态
寄存器
BUSY
+5 V
锁
存
器
Q
D
数据总线DB
来自CPU
选通信号
ACK
WR
IO
/
M
R
&
RD
IO
/
M
图7.9 查询式输出的接口电路
(2)程序中断的输入/输出方式 该方式借助于CPU响应外部中断请求的能力,实现输入输出的控制。简单地说,就是外设将准备就绪的信号转换成有效的中断请求信号通知给CPU,CPU响应中断后,在中断服务子程序中执行I/O指令,进行数据传送。 查询传送方式是由CPU来查询外设的状态,CPU处于主动地位,而外设处于被动地位。中断传送方式则是由外设主动向CPU发出请求,等候CPU处理,在没有发出请求时,CPU和外设都可以独立进行各自的工作。
微机原理与应用课件 第6章输入输出和中断技术1-2-09
第6章 输入/输出和中断技术
5. 接口(interface)与端口(port)
传送I/O信息(数据、状态、控制)的接口电路中的寄存器 称为端口(数据端口、状态端口和控制端口)。 不同的寄存器有不同的端口地址,用地址来访问。 端口由一个或多个寄存器组成。接口由若干个端口加上相 应的控制逻辑组成。
注意:地址不是对接口而言。
第6章 输入/输出和中断技术
6.1 输入输出及接口 6.2 输入和输出的传送方式 6.3 中断技术 6.4 80X86/Pentium中断系统 6.5 8259A可编程中断控制器* 6.6 中断程序设计*
第6章 输入/输出和中断技术
地址总线 AB
CPU
存 I/O 输 储 接入 器 口设
备
输
I/O 接 口
6. I/0接口电路的结构
第6章 输入/输出和中断技术
实现对CPU数据总线速度 和驱动能力的匹配
DB 总线驱动
主 AB 地址译码
机 CB 控制逻辑
数据 缓冲器
状态 寄存器
控制 寄存器
数据信息
状态信息 外 设
控制信息
接CPU一侧 接外设一侧
接口
端口
实现各寄存器端口 寻址操作
实现接口电路中的各寄存器端口的 读/写操作和时序控制
出 设 备
数据总线 DB 控制总线 CB
微型计算机系统结构示意图
第6章 输入/输出和中断技术
6.1 输入输出及接口
键盘
计算机
接 口
外设
鼠标 CRT
打印机
绘图仪 为什么外设不能象存贮器一样直接挂在CPU上?
存贮器功能单一:
(1)传送方式单一 (传送一个字节)
(2)品种单一 RAM、ROM(控制信号确定)
微机原理与接口技术——中断系统
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)
第六课Interrupt优质获奖课件
中断源
自
低
0
然
级
优
先
级 中断入口
中断源
SCON
2 、 (P3.3 ) 。 可 由 IT1(TCON.2) 选 择 其 为 低 电 平有效还是下降沿有效。当CPU检测到P3.3引脚 上出既有效旳中断信号时,中断标志IE1(TCON.3) 置1,向CPU申请中断。
2024/9/22
21
TCON
IE
IP
——按序执行(极难遇到) ☞正处理低优先级中断又接到高级别中断
——高打断低 ☞正处理高优先级中断又接到低档别中断
——高不理低
2024/9/22
14
在中断源提出了中断申请且CPU此前已经允 许中断旳前提下,还须满足下列三个条件:
☞没有同级旳中断或更高级别旳中断正在处理;
☞正在执行旳指令必须执行完最终 1个机器周期;
ES 1
PX0 1
0 PT0 1
0 PX1 1
0 PT1 1
0 PS 1
0
自
高
然
级
1
优
先
级 中断入口
中断源
自
低
0
然
级
优
先
级 中断入口
中断源
18
80C51旳中断源
一、中断源
TCON
IE
INT0 IT0 1
01
T0 INT1 IT1 1
01
T1
RX TX
2024/9/22
EX0 1 EA 1 IE0
ET0 1 TF0
IT0/IT1:外部中断祈求旳触发方式选择位: =0:在INT0/INT1端申请中断旳信号低电平有效; =1:在INT0/INT1端申请中断旳信号负跳变有效.
微机原理第6章PPT课件
模拟量:能连续变化的量 ,如电压、电流等,在利用计 算机处理这类量时,一般要经过A/D和D/A;
(3) 控制信息—CPU发给外设的命令信息。
9
一CP般U通CP过U接不口直电接路与与外外设设连连接接
CPU
接口
I/O设备
10
什么是I/O接口(电路)?
I/O接口是位于系统与外设间、用来协助 完成数据传送和控制任务的逻辑电路
用于与CPU连接 主要是数据、地址和控制信号
面向外设一侧的信号:
用于与外设连接 提供的信号五花八门 功能定义、时序及有效电平等差异较大
15
3. 接口电路芯片的分类
接口电路核心部分往往是一块或数块大规 模集成电路芯片(接口芯片): 通用接口芯片
支持通用的数据输入输出和控制的接口芯片
面向外设的专用接口芯片
第6章 微型计算机的输入/输出
1
第一部分
整体概述
THE FIRST PART OF THE OVERALL OVERVIEW, PLEASE SUMMARIZE THE CONTENT
2
6.1 CPU与外设通讯的特点 6.2 输入/输出方式 6.3 CPU与外设通信的接口 6.4 可用于输入/输出接口的8212芯片 6.5 CPU的输入/输出 6.6 DMA传送方式与DMA控制器8237A
针对某种外设设计、与该种外设接口
面向微机系统的专用接口芯片
与CPU和系统配套使用,以增强其总体功能
16
4. 接口电路的可编程性
许多接口电路具有多种功能和工作方式, 可以通过编程的方法选定其中一种
接口需要进行物理连接,还需要编写接口 软件
接口软件有两类:
初始化程序段——设定芯片工作方式等 数据交换程序段——管理、控制、驱动外设,
(3) 控制信息—CPU发给外设的命令信息。
9
一CP般U通CP过U接不口直电接路与与外外设设连连接接
CPU
接口
I/O设备
10
什么是I/O接口(电路)?
I/O接口是位于系统与外设间、用来协助 完成数据传送和控制任务的逻辑电路
用于与CPU连接 主要是数据、地址和控制信号
面向外设一侧的信号:
用于与外设连接 提供的信号五花八门 功能定义、时序及有效电平等差异较大
15
3. 接口电路芯片的分类
接口电路核心部分往往是一块或数块大规 模集成电路芯片(接口芯片): 通用接口芯片
支持通用的数据输入输出和控制的接口芯片
面向外设的专用接口芯片
第6章 微型计算机的输入/输出
1
第一部分
整体概述
THE FIRST PART OF THE OVERALL OVERVIEW, PLEASE SUMMARIZE THE CONTENT
2
6.1 CPU与外设通讯的特点 6.2 输入/输出方式 6.3 CPU与外设通信的接口 6.4 可用于输入/输出接口的8212芯片 6.5 CPU的输入/输出 6.6 DMA传送方式与DMA控制器8237A
针对某种外设设计、与该种外设接口
面向微机系统的专用接口芯片
与CPU和系统配套使用,以增强其总体功能
16
4. 接口电路的可编程性
许多接口电路具有多种功能和工作方式, 可以通过编程的方法选定其中一种
接口需要进行物理连接,还需要编写接口 软件
接口软件有两类:
初始化程序段——设定芯片工作方式等 数据交换程序段——管理、控制、驱动外设,
第六章中断系统-PPT精品文档
第六章
第一节
中断系统
基本概念
一、中断
1、中断的定义 当CPU正常运行时,由于随机事件(内部或外部)引 起CPU暂时中止正在运行的程序,转去执行请求中断的外 设(或内部事件)的中断服务程序,中断服务程序结束后 再返回被中止的程序,这一过程称为中断。 2、中断源和中断请求 能够向CPU发出中断请求的中断来源称为中断源。I/O设 备(CRT、打印机等)、数据设备(磁盘、磁带等)、实 时时钟、故障信号、软件中断等都是中断源。 中断源能发出中断请求信号到CPU,所以中断源中一般 要求有中断请求触发器,请求信号有边沿请求和电平请求 两种。
若允许中断嵌套,则一般在中断服务程序中保存寄存器 后,就安排一条STI指令,以便响应优先权较高的中断。 在中断服务程序末尾安排一条IRET返回指令。 至于不可屏蔽NMI中断,与上述操作基本类似,只是不需 要读取中断类型码,因为它的中断类型码由CPU内部自动产 生。 2、中断类型号的获得 ⑴ 除法错误,单步中断,非屏蔽中断。断点中断和溢出中 断分别由CPU内部自动提供中断类型号(0-4)。 ⑵ 软件中断则是从指令流中,即在第2个字节中读得中断 类型号。 ⑶ 外部中断INTR可以用不同的方法获得中断类型号,通 常由硬件提供,如8259A芯片可以将中断类型号送到数据总 线上,由CPU读取而获得。
0000:009C 2AH 0000:009D 43H 0000:009E 65H 0000:009F 87H 则该中断类型号27H的中断向量(中断服务程序 入口地址)的逻辑地址是8765H:432AH,即 (CS)=8765H,(IP)=432AH;物理地址是8B97AH。
4、8086/8088中断的分类
例2:为中断类型N设置中断向量,该中断的中断服务程 序的符号地址是INTHAND。 mov ax, 0 mov es, ax ;中断向量表的段地址 mov bx, N*4 ;中断向量表的偏移地址 mov ax, offset INTHAND ;得到INTHAND的偏 移地址 mov ES:word PTR[bx], ax ;放到中断向量表中 mov ax, seg INTHAND ;得到INTHAND的段 地址 mov ES:word PTR[bx+2], ax;放到中断向量表中 … INTHAND: ;中断服务处理程序 … IRET
第一节
中断系统
基本概念
一、中断
1、中断的定义 当CPU正常运行时,由于随机事件(内部或外部)引 起CPU暂时中止正在运行的程序,转去执行请求中断的外 设(或内部事件)的中断服务程序,中断服务程序结束后 再返回被中止的程序,这一过程称为中断。 2、中断源和中断请求 能够向CPU发出中断请求的中断来源称为中断源。I/O设 备(CRT、打印机等)、数据设备(磁盘、磁带等)、实 时时钟、故障信号、软件中断等都是中断源。 中断源能发出中断请求信号到CPU,所以中断源中一般 要求有中断请求触发器,请求信号有边沿请求和电平请求 两种。
若允许中断嵌套,则一般在中断服务程序中保存寄存器 后,就安排一条STI指令,以便响应优先权较高的中断。 在中断服务程序末尾安排一条IRET返回指令。 至于不可屏蔽NMI中断,与上述操作基本类似,只是不需 要读取中断类型码,因为它的中断类型码由CPU内部自动产 生。 2、中断类型号的获得 ⑴ 除法错误,单步中断,非屏蔽中断。断点中断和溢出中 断分别由CPU内部自动提供中断类型号(0-4)。 ⑵ 软件中断则是从指令流中,即在第2个字节中读得中断 类型号。 ⑶ 外部中断INTR可以用不同的方法获得中断类型号,通 常由硬件提供,如8259A芯片可以将中断类型号送到数据总 线上,由CPU读取而获得。
0000:009C 2AH 0000:009D 43H 0000:009E 65H 0000:009F 87H 则该中断类型号27H的中断向量(中断服务程序 入口地址)的逻辑地址是8765H:432AH,即 (CS)=8765H,(IP)=432AH;物理地址是8B97AH。
4、8086/8088中断的分类
例2:为中断类型N设置中断向量,该中断的中断服务程 序的符号地址是INTHAND。 mov ax, 0 mov es, ax ;中断向量表的段地址 mov bx, N*4 ;中断向量表的偏移地址 mov ax, offset INTHAND ;得到INTHAND的偏 移地址 mov ES:word PTR[bx], ax ;放到中断向量表中 mov ax, seg INTHAND ;得到INTHAND的段 地址 mov ES:word PTR[bx+2], ax;放到中断向量表中 … INTHAND: ;中断服务处理程序 … IRET
微机原理及接口技术 第6章
– SEOI:由CPU发出一条SEOI命令,该EOI 命令中指出了所要复位的ISR的位号。
»用于特殊屏蔽方式
– NSEOI:由CPU发出正常EOI命令,该EOI 命令使ISRi=1的位中优先级最高的那一位复 位。
»用于普通全嵌套方式
特殊全嵌套方式 下的EOI处理
只有当从PIC的
中断服务程序 ┇ 向从PIC发EOI命令 读从PIC的ISR 全0? Y 向主PIC发EOI命令 恢复现场 IRET N
D. 特殊嵌套方式: IR4 的 中 断 被 服
务时,只封锁 IR5-IR7。
特殊嵌套方式: 因主片不封锁从片的 INT ,故级别高的 IR0IR2 中断可以得到响应。 ( 但 IR3-IR7 仍 被 本 从 片封锁)
中断结束处理方式
当某一IRi中断被服务时,ISR中的相应 位ISRi=1。当服务结束后,则必须清零 该ISRi位。使ISRi=0是通过向8259A发 出中断结束命令(EOI命令)实现的。 三种EOI命令
特殊屏蔽例:
。 CLI MOV OUT IN OR OUT STI : : CLI IN AND OUT MOV OUT STI : MOV OUT IRET ;IR4中断处理程序 AL,68H 0C0H,AL AL,0C2H AL,10H 0C2H,AL ;OCW3:0 1 1 0 1 0 0 0 ;设置特殊屏蔽方式 ;屏蔽IR4
可编程中断控制器8259A
PIC,Programmable Interrupt Controller 可对8个中断源实现优先级控制 可扩展至对64个中断源实现优先级控制 可编程设置不同工作方式 根据中断源向80x86提供不同中断类型码
8259A的内部结构
《的中断系统》课件
实现人机交互
中断系统可以实现用户与计算机 之间的交互,如键盘输入、鼠标 操作等。
01
02
实时处理
中断系统可以实现实时控制,如 数据采集、报警处理等。
03
04
故障检测与处理
中断系统可以用于检测硬件故障 或软件错误,并进行相应的处理 。
02
中断系统的组成
中断控制器
它负责接收来自各种外部设备的 中断信号,并将这些信号传递给 处理器。
04
软件设计复杂度高
中断系统的软件设计需要考虑 中断请求的优先级、中断嵌套 、中断处理程序的设计等多个 方面,增加了软件设计的复杂 度。
06
中断系统的未来发展
中断系统的技术发展趋势
集成化和模块化设计
实时性更强
随着技术的进步,中断系统的 实时性将得到进一步提升,能 够更快速地响应外部事件,满 足实时控制和数据处理的需求 。
中断的实质
是一种使处理机从一个执行状态转变为另一种执行状态的控制流程。
03
中断的特性
自动性、随机性、异步性、及时性。
中断的分类
根据中断源的数量: 单一中断和多中断。
根据中断发生的时间 :定时中断、外中断 和异常中断。
根据中断是否可屏蔽 :可屏蔽中断和非可 屏蔽中断。
中断的作用
多任务并发
中断系统可以支持多个任务同时 执行,提高处理机的利用率。
处理该中断信号。
03
中断处理过程
中断请求与接收
中断请求
当某个硬件设备完成一项工作或 发生某种事件时,向CPU发送中 断请求。
中断接收
CPU通过特定的硬件机制接收并 响应中断请求,暂时停止当前正 在执行的程序,转而执行中断处 理程序。
newch6 中断系统
•提供级联控制 •提供缓冲控制
26/62
INTA
INTA
INTR
INT
CAS0 CAS1 CAS2
IR0 IR1
SP/EN IR7
+5V
8259级联工作示意图
CAS0 IR0 CAS1 IR1 CAS2 IR2
IR3 INTA IR4
IR5 INT IR6
IR7 SP/EN
CAS0 IR0 CAS1 IR1 CAS2 IR2
19/62
多级中断
原主程序
1#中断 服务程序
2#中断 服务程序
3#中断 服务程序
响应
响应
响应
1#中断请求 2#中断请求 3#中断请求
返回
返回
返回
中断优先级3#>2#>1#
20/62
§6.4 中断优先权及多重中断
21/62
§6.5 中断控制器8259A
6.5.1 8259A的内部结构
INTA INT
用于和CPU的数据总线连接。 2.中断请求寄存器(IRR)
中断请求寄存器用来寄存所有IR输入线输入的中断请 求信号,即保存正在请求服务的中断级。
23/62
§6.5 中断控制器8259A
3.优先权电路(PR) 优先权电路的主要作用是确定中断请求寄存器IRR中各
位的优先等级,并确定能否向CPU申请中断。 4.中断服务寄存器(ISR)
IRET指令—中断返回
4/62
§6.1 中断概述 6.1.3 中断系统的功能
1.实现中断及返回 2.能实现优先排队 3.高级中断源能中断低级的中断处理
5/62
§6.2 8086/8088的中断向量表
中断向量:中断处理子程序的入口地址;
26/62
INTA
INTA
INTR
INT
CAS0 CAS1 CAS2
IR0 IR1
SP/EN IR7
+5V
8259级联工作示意图
CAS0 IR0 CAS1 IR1 CAS2 IR2
IR3 INTA IR4
IR5 INT IR6
IR7 SP/EN
CAS0 IR0 CAS1 IR1 CAS2 IR2
19/62
多级中断
原主程序
1#中断 服务程序
2#中断 服务程序
3#中断 服务程序
响应
响应
响应
1#中断请求 2#中断请求 3#中断请求
返回
返回
返回
中断优先级3#>2#>1#
20/62
§6.4 中断优先权及多重中断
21/62
§6.5 中断控制器8259A
6.5.1 8259A的内部结构
INTA INT
用于和CPU的数据总线连接。 2.中断请求寄存器(IRR)
中断请求寄存器用来寄存所有IR输入线输入的中断请 求信号,即保存正在请求服务的中断级。
23/62
§6.5 中断控制器8259A
3.优先权电路(PR) 优先权电路的主要作用是确定中断请求寄存器IRR中各
位的优先等级,并确定能否向CPU申请中断。 4.中断服务寄存器(ISR)
IRET指令—中断返回
4/62
§6.1 中断概述 6.1.3 中断系统的功能
1.实现中断及返回 2.能实现优先排队 3.高级中断源能中断低级的中断处理
5/62
§6.2 8086/8088的中断向量表
中断向量:中断处理子程序的入口地址;
《中断系统》PPT课件 (2)
关中断(需要时) 中断服务主体 恢复现场
取下一条指令 N
开中断
图5-3 中断流程图
返回
1.中断请求
• 中断源发出中断请求信号,相应的中断请求 标志位〔在中断允许控制存放器TCON中〕置 “1〞。CPU将不断地及时查询这些中断请求 标志,一旦查询到某个中断请求标志置位, CPU就会响应该中断源中断。
(2) 正在执行的指令尚未执行完。
(3) 正在执行中断返回指令 RETI或者对专用存放器IE、IP 进展读/写的指令。CPU在执行完上述指令之后,要再 执行一条指令,才能响应中断请求。
中断优先级的判定 中断源的优先级别分为高级和低级,通过由软件设置
中断优先级存放器IP相关位来设定每个中断源的 级别。
优先权排列,相互之间间隔8B。一般来说,8B 空间安排不下一个中断效劳程序,但可安排一 条转移指令,跳转到其他适宜的区域编写真正 的中断效劳程序。
3.中断处理
• 中断处理就是执行中断效劳程序,从中断入口地址 开场执行,直到返回指令(RETI)为止。此过程一般 包括三局部内容,一是保护现场,二是处理中断源 的请求,三是恢复现场。
• 〔2〕开中断和关中断
• 在中断处理进展的过程中,可能又有新的中断 请求到来,如果制止被中断,可以先关闭中断系 统,待任务执行完后再翻开中断系统。当然,如 系统本身需要中断嵌套,那么不能将中断系统关 闭,所有中断的发生按照系统“优先级〞的设置 自动“决策〞行事。
• 〔3〕中断效劳程序主体
• 中断效劳程序主体是进展中断处理的具体内容, 以子程序的形式存在,任何中断发生并被响应后, 程序将自动进入相关的入口地址,执行中断效劳 程序。
2. 中断响应
CPU的中断响应条件
CPU响应中断必须首先满足以下三个根本条件。
取下一条指令 N
开中断
图5-3 中断流程图
返回
1.中断请求
• 中断源发出中断请求信号,相应的中断请求 标志位〔在中断允许控制存放器TCON中〕置 “1〞。CPU将不断地及时查询这些中断请求 标志,一旦查询到某个中断请求标志置位, CPU就会响应该中断源中断。
(2) 正在执行的指令尚未执行完。
(3) 正在执行中断返回指令 RETI或者对专用存放器IE、IP 进展读/写的指令。CPU在执行完上述指令之后,要再 执行一条指令,才能响应中断请求。
中断优先级的判定 中断源的优先级别分为高级和低级,通过由软件设置
中断优先级存放器IP相关位来设定每个中断源的 级别。
优先权排列,相互之间间隔8B。一般来说,8B 空间安排不下一个中断效劳程序,但可安排一 条转移指令,跳转到其他适宜的区域编写真正 的中断效劳程序。
3.中断处理
• 中断处理就是执行中断效劳程序,从中断入口地址 开场执行,直到返回指令(RETI)为止。此过程一般 包括三局部内容,一是保护现场,二是处理中断源 的请求,三是恢复现场。
• 〔2〕开中断和关中断
• 在中断处理进展的过程中,可能又有新的中断 请求到来,如果制止被中断,可以先关闭中断系 统,待任务执行完后再翻开中断系统。当然,如 系统本身需要中断嵌套,那么不能将中断系统关 闭,所有中断的发生按照系统“优先级〞的设置 自动“决策〞行事。
• 〔3〕中断效劳程序主体
• 中断效劳程序主体是进展中断处理的具体内容, 以子程序的形式存在,任何中断发生并被响应后, 程序将自动进入相关的入口地址,执行中断效劳 程序。
2. 中断响应
CPU的中断响应条件
CPU响应中断必须首先满足以下三个根本条件。
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主程序 中断服务程序 中断请求 断点 继续执行 对外设 进行处理 返回断点
图 6.3 CPU实现中断的过程示意:
6.1.1
中断控制系统的作用
1、分时处理(按规定的时间处理某个过程)
2、故障处理(对系统运行过程中出现的特殊情 况及时给予处理,例如除数为0时) 3、实时处理(对系统有特殊要求的部分需要在 整个运行过程中实时处理 , 了解系统的运行状 态),此为我们学习的主要内容!!
2)外部硬件中断(续)
(2)可屏蔽中断 出现在INTR线上的中断请求信号。是否响 应INTR的请求,取决于中断允许标志位IF的状 态。只有当中断允许标志位IF为1时,CPU才能 响应INTR的中断请求。 如果IF为0,即使INTR端有中断请求信号CPU 也不会响应。这种情况称为中断屏蔽。
3.中断类型号和中断向量表(重点掌握)
此节内容为要解决的第二个问题:如何处理中断请求 处理一个中断请求的过程,就是如何处理以下一 些基本问题的过程: 1)如何产生中断输入信号(请求中断)。 2)如何识别中断源。 3)如何把控制转给中断服务程序。 4)如何保护和恢复中断的现场。 5)如何识别优先级较高的中断。 6)如何开放和关闭中断。 也就是说如何实现图6-1所示的过程
问题的提出:如何确定中断服务的入口地址?中断号 与中断服务程序对应关系? 8086解决的方法为设置中断类型号与中断向量表: 中断类型号(中断向量):8086对每种中断都指定一 个中断类型号,共256个,从0~255(00H ~ FFH), 每一个中断类型号都与一个中断服务程序相对应(如 果有该类型号的中断)。中断服务程序存放在存储区 内,但该中断服务程序的入口地址存在内存储器的中 断向量表内(固定区域),供中断被响应后能正确的 找到该类型号的中断服务程序的入口。
IP CS
图6-10给出了8086中断向量(类型号)与入口地址存 放位置的表。该表的物理地址为00000H~003FFH。
注意中断服务程序入口地址存放的顺序
由于该表中的实际中断服务程序的入口地址要由用户 通过程序写入,所以该存储区必须留做RAM。这就是 为什么在存储器设计时要把最小地址空间设计为RAM 的原因。
中断嵌套 中断服务 关中断
恢复现场
开中断 中断返回
结尾部分
与 程中 序断 示服 例务 程 序 框 图
图 6 7
-
;中断返回
6.3
8086/8088中断系统结构
6.3.1 8086/8088CPU的中断结构体系 1、8086的中断源 8086系统的中断源分为外部中断(中断源来自 CPU外部,即外部设备的中断)和内部中断(来自 CPU内部的中断)两大类。 1)内部中断: (1)除法溢出中断――0号中断 (2)单步中断――1号中断 (3)INT指令中断 (4)溢出中断――4号中断 (5)软件中断
为调试程序设置的中断 (1) 单步中断(中断类型号为1):当TF=1时,每执行 一条指令,CPU会自动产生一个单步中断。单步中断 可一条一条指令地跟踪程序流程,观察各个寄存器及 存储单元内容的变化,帮助分析错误原因。 (2) 断点中断(中断类型号为3):调试程序时可以在一 些关键性的地方设置断点,它相当于把一条INT 3 指 令插入到程序中,CPU每执行到断点处,INT 3 指令 便产生一个中断,使CPU转向相应的中断服务程序。
6.1
中断系统基本概念
什么是中断? 定义:中断就是指当CPU正在执行程序时,外设 (或其它中断源)向CPU发出请求,CPU暂停当前 程序的执行,转向该外设服务(或称中断服务) 程序,当中断服务程序运行结束后,返回原程 序继续执行的过程。
6.1
中断系统基本概念
实现中断服务的两个条件:如何引起中断?如何 处理中断的请求? 本章节核心就是解决上述的两个问题 中断服务的实现一般需要经历下述过程: 中断请求→中断响应→断点保护→中断源识别 →中断服务→断点恢复→中断返回 中断的作用就是完成或实现上述的过程!
6.2.1
中断请求与中断屏蔽
1 .中断请求的定义:用某种信号通知 CPU 指明某个外 设正在请求中断,需要 CPU 中断现行程序的执行 ( 系统 能识别出是那个设备或事件要求中断)。 2.中断请求的条件: (1)外设具有提出中断请求功能; (2)CPU允许该外设发中断请求。 3.中断屏蔽:当此触发器在程序控制下,使触发器输 出端置“1”时,允许中断(EI),若触发器输出端置 “ 0”时,则关闭中断( DI )。 ( 通过软件可以实现是 否容许中断,既:可以有中断,也可以没有中断)
3 .单级中断处理和多级中断处理 (中断嵌套 ) :单级中 断处理不允许其他设备再中断 CPU 的程序;多级中断处 理允许优先级高的中断打断优先级低的中断服务程序。
B请求 A
CPU B处理 CPU A请求
A处理
C请求 CPU
C 处理
CPU
(A)单级中断处理 A的级别更高,可以打断B, A请求 处理完A后才处理B C请求 A处理 CPU B处理 CPU C处理
第六章
中断系统
本章主要知识点: 1、中断的基本概念 2、8086中断管理 3、8086中断向量系统 4、8259可编程中断控制器的功能与使用方法 本章学习的重点: 1、8086中断管理 2、8086中断向量系统 3、8259的控制字 4、8259的工作方式及初始化命令和操作命令的基 本编写方法 本章的特点: 基本概念多
N
检查IRQ2的中断状态是否为“1”
N
IRQ2的服务程序
Y
检查IRQ3的中断状态是否为“1”N YIRQ3 Nhomakorabea服务程序
恢复现场 中断返回
硬件查询法(1) 中断优先权排队电路, 可用硬件编码器和比较 器组成的优先权排队电路
图6-5硬件优先权排队电路
硬件查询法(2) 链式优先权排队电 路也称菊花链,将所 有的中断源排成一 个链。 各中断源在链中的 前后顺序是根据中 断源优先级别的高 低来排列。排在链 前面的优先级最高。 图6-6硬件优先权排队电路
中断指令INT n引起的中断(中断类型号为n) 程序设计时,可以用INT n指令来产生软件中断, 中断指令的操作数n给出了中断类型号,CPU执行INT n指令后,会立即产生一个类型号为n的中断,转入相 应的中断处理程序来完成中断功能。
2)外部硬件中断(外部中断) 外部硬件中断有两种形式
(1) 非屏蔽中断 非屏蔽中断NMI:出现在NMI线上的中断请求为非 屏蔽中断,这种中断不受中断允许标志IF的影响, 它总是被CPU接受的。非屏蔽中断的优先权高于可 屏蔽中断。其中断请求信号是发生在NMI上的电压 跳变(边沿触发)中端类型号为2。
B
CPU B处理
(B)多级中断处理
图6-4 同时中断请求的处理方法
4.中断排队与中断源的识别 (1个以上中断源时) (1)程序查询识别(软件查询法) (2)单线串行顺序链识别(硬件查询法) (3)中断向量法识别(为重点)
中断处 理入口
( 1 )程序查询识别中断方法 流程图
IRQ1的服务程序
Y
保护现场 检查IRQ1的中断状态是否为“1”
6.1.2
中断源
此节内容为要解决的第一个问题:如何引起中断
1 .外部设备请求中断:系统外设所发出的中 断(外部设备提出的实时处理请求)请求。 2 .故障请求中断:同机器硬件错误有关的中 断系统称谓硬件故障中断。 3 .程序性中断:与用户程序有关的中断,统 称为程序性中断(如DOS中断等)。
6.2 中断的处理过程(重点掌握内容)
(4) 恢复现场---完成中断服务后,中断返 回前将原来保存的现场信息从堆栈弹出,恢 复CPU内部相关寄存器的内容,这个过程要有 相关的指令来完成。 (5) 开中断与返回 --- 为使 CPU 能再次响应中 断,在中断服务程序的最后执行开中断,同 时紧跟一条返回指令(RET),从堆栈弹出IP、 CS(自动完成),恢复原程序的执行。
8086/8088的中断源
8086/8088 CPU NMI 非屏蔽中断请求
单步(TF=1)
除法出错 INTO 溢出 INT3 断点 INTn 指令 内部中断
中
断 逻 辑 可屏蔽中断请求 INTR
8259A
外部中断
图6-8 8086/8088的中断源
内部中断的作用:
(1)除法错中断(中断类型号为0):在执行除法指令时, 若发现除数为0,则产生一个类型号为0的内部中断, CPU转去执行除法错中断处理程序。 (2) 溢出中断INTO(中断类型号为4):进行带符号数的 算术运算时,若发生了溢出,则标志位OF=1,若此时 执行INTO指令,会产生溢出中断,结束时不返回,而 把控制权交给操作系统。若OF=0,则INTO不产生中断, CPU继续执行下一条指令。INTO指令通常安排在算术指 令之后,以便在溢出时能及时处理。例如: ADD AX,BX INT 0 ;测试加法的溢出
6.2.2
中断优先级排队
问题的提出: 如果有几个外设同时有中断请求时CPU如何处理?
解决的方法: 1.中断排对:当系统有2个或2个以上的中断时,需按 中断的紧急程度排队,最紧急的排序最高,依此排列, 称中断优先排队。
2 、中断优先级:当 CPU 正在处理一个中断时,能响应 更高级别的中断请求,而暂时停止正在执行的中断服 务,既中断可以嵌套(中断服务程序中还可以有中断, 如图6.1中的中断服务子程序2就为中断嵌套)。
6.2.3 CPU对中断的响应(中断向量识别法) 中断向量识别法的响应的方法
1、CPU中断响应的条件
(1) 中断源发出中断请求信号
(2)设置中断屏蔽触发器,当此触发器为“1” 时,允许外设的中断请求送出至CPU。 (3)CPU处于开中断状态。
(4)CPU在一条现行指令结束之后响应中断。
2、CPU对中断响应的过程(重点掌握内容) (1) 关中断 --- 响应中断后 , 首先发出中断响应 信号,内部自动完成关中断操作(本级中断源)。
图 6.3 CPU实现中断的过程示意:
6.1.1
中断控制系统的作用
1、分时处理(按规定的时间处理某个过程)
2、故障处理(对系统运行过程中出现的特殊情 况及时给予处理,例如除数为0时) 3、实时处理(对系统有特殊要求的部分需要在 整个运行过程中实时处理 , 了解系统的运行状 态),此为我们学习的主要内容!!
2)外部硬件中断(续)
(2)可屏蔽中断 出现在INTR线上的中断请求信号。是否响 应INTR的请求,取决于中断允许标志位IF的状 态。只有当中断允许标志位IF为1时,CPU才能 响应INTR的中断请求。 如果IF为0,即使INTR端有中断请求信号CPU 也不会响应。这种情况称为中断屏蔽。
3.中断类型号和中断向量表(重点掌握)
此节内容为要解决的第二个问题:如何处理中断请求 处理一个中断请求的过程,就是如何处理以下一 些基本问题的过程: 1)如何产生中断输入信号(请求中断)。 2)如何识别中断源。 3)如何把控制转给中断服务程序。 4)如何保护和恢复中断的现场。 5)如何识别优先级较高的中断。 6)如何开放和关闭中断。 也就是说如何实现图6-1所示的过程
问题的提出:如何确定中断服务的入口地址?中断号 与中断服务程序对应关系? 8086解决的方法为设置中断类型号与中断向量表: 中断类型号(中断向量):8086对每种中断都指定一 个中断类型号,共256个,从0~255(00H ~ FFH), 每一个中断类型号都与一个中断服务程序相对应(如 果有该类型号的中断)。中断服务程序存放在存储区 内,但该中断服务程序的入口地址存在内存储器的中 断向量表内(固定区域),供中断被响应后能正确的 找到该类型号的中断服务程序的入口。
IP CS
图6-10给出了8086中断向量(类型号)与入口地址存 放位置的表。该表的物理地址为00000H~003FFH。
注意中断服务程序入口地址存放的顺序
由于该表中的实际中断服务程序的入口地址要由用户 通过程序写入,所以该存储区必须留做RAM。这就是 为什么在存储器设计时要把最小地址空间设计为RAM 的原因。
中断嵌套 中断服务 关中断
恢复现场
开中断 中断返回
结尾部分
与 程中 序断 示服 例务 程 序 框 图
图 6 7
-
;中断返回
6.3
8086/8088中断系统结构
6.3.1 8086/8088CPU的中断结构体系 1、8086的中断源 8086系统的中断源分为外部中断(中断源来自 CPU外部,即外部设备的中断)和内部中断(来自 CPU内部的中断)两大类。 1)内部中断: (1)除法溢出中断――0号中断 (2)单步中断――1号中断 (3)INT指令中断 (4)溢出中断――4号中断 (5)软件中断
为调试程序设置的中断 (1) 单步中断(中断类型号为1):当TF=1时,每执行 一条指令,CPU会自动产生一个单步中断。单步中断 可一条一条指令地跟踪程序流程,观察各个寄存器及 存储单元内容的变化,帮助分析错误原因。 (2) 断点中断(中断类型号为3):调试程序时可以在一 些关键性的地方设置断点,它相当于把一条INT 3 指 令插入到程序中,CPU每执行到断点处,INT 3 指令 便产生一个中断,使CPU转向相应的中断服务程序。
6.1
中断系统基本概念
什么是中断? 定义:中断就是指当CPU正在执行程序时,外设 (或其它中断源)向CPU发出请求,CPU暂停当前 程序的执行,转向该外设服务(或称中断服务) 程序,当中断服务程序运行结束后,返回原程 序继续执行的过程。
6.1
中断系统基本概念
实现中断服务的两个条件:如何引起中断?如何 处理中断的请求? 本章节核心就是解决上述的两个问题 中断服务的实现一般需要经历下述过程: 中断请求→中断响应→断点保护→中断源识别 →中断服务→断点恢复→中断返回 中断的作用就是完成或实现上述的过程!
6.2.1
中断请求与中断屏蔽
1 .中断请求的定义:用某种信号通知 CPU 指明某个外 设正在请求中断,需要 CPU 中断现行程序的执行 ( 系统 能识别出是那个设备或事件要求中断)。 2.中断请求的条件: (1)外设具有提出中断请求功能; (2)CPU允许该外设发中断请求。 3.中断屏蔽:当此触发器在程序控制下,使触发器输 出端置“1”时,允许中断(EI),若触发器输出端置 “ 0”时,则关闭中断( DI )。 ( 通过软件可以实现是 否容许中断,既:可以有中断,也可以没有中断)
3 .单级中断处理和多级中断处理 (中断嵌套 ) :单级中 断处理不允许其他设备再中断 CPU 的程序;多级中断处 理允许优先级高的中断打断优先级低的中断服务程序。
B请求 A
CPU B处理 CPU A请求
A处理
C请求 CPU
C 处理
CPU
(A)单级中断处理 A的级别更高,可以打断B, A请求 处理完A后才处理B C请求 A处理 CPU B处理 CPU C处理
第六章
中断系统
本章主要知识点: 1、中断的基本概念 2、8086中断管理 3、8086中断向量系统 4、8259可编程中断控制器的功能与使用方法 本章学习的重点: 1、8086中断管理 2、8086中断向量系统 3、8259的控制字 4、8259的工作方式及初始化命令和操作命令的基 本编写方法 本章的特点: 基本概念多
N
检查IRQ2的中断状态是否为“1”
N
IRQ2的服务程序
Y
检查IRQ3的中断状态是否为“1”N YIRQ3 Nhomakorabea服务程序
恢复现场 中断返回
硬件查询法(1) 中断优先权排队电路, 可用硬件编码器和比较 器组成的优先权排队电路
图6-5硬件优先权排队电路
硬件查询法(2) 链式优先权排队电 路也称菊花链,将所 有的中断源排成一 个链。 各中断源在链中的 前后顺序是根据中 断源优先级别的高 低来排列。排在链 前面的优先级最高。 图6-6硬件优先权排队电路
中断指令INT n引起的中断(中断类型号为n) 程序设计时,可以用INT n指令来产生软件中断, 中断指令的操作数n给出了中断类型号,CPU执行INT n指令后,会立即产生一个类型号为n的中断,转入相 应的中断处理程序来完成中断功能。
2)外部硬件中断(外部中断) 外部硬件中断有两种形式
(1) 非屏蔽中断 非屏蔽中断NMI:出现在NMI线上的中断请求为非 屏蔽中断,这种中断不受中断允许标志IF的影响, 它总是被CPU接受的。非屏蔽中断的优先权高于可 屏蔽中断。其中断请求信号是发生在NMI上的电压 跳变(边沿触发)中端类型号为2。
B
CPU B处理
(B)多级中断处理
图6-4 同时中断请求的处理方法
4.中断排队与中断源的识别 (1个以上中断源时) (1)程序查询识别(软件查询法) (2)单线串行顺序链识别(硬件查询法) (3)中断向量法识别(为重点)
中断处 理入口
( 1 )程序查询识别中断方法 流程图
IRQ1的服务程序
Y
保护现场 检查IRQ1的中断状态是否为“1”
6.1.2
中断源
此节内容为要解决的第一个问题:如何引起中断
1 .外部设备请求中断:系统外设所发出的中 断(外部设备提出的实时处理请求)请求。 2 .故障请求中断:同机器硬件错误有关的中 断系统称谓硬件故障中断。 3 .程序性中断:与用户程序有关的中断,统 称为程序性中断(如DOS中断等)。
6.2 中断的处理过程(重点掌握内容)
(4) 恢复现场---完成中断服务后,中断返 回前将原来保存的现场信息从堆栈弹出,恢 复CPU内部相关寄存器的内容,这个过程要有 相关的指令来完成。 (5) 开中断与返回 --- 为使 CPU 能再次响应中 断,在中断服务程序的最后执行开中断,同 时紧跟一条返回指令(RET),从堆栈弹出IP、 CS(自动完成),恢复原程序的执行。
8086/8088的中断源
8086/8088 CPU NMI 非屏蔽中断请求
单步(TF=1)
除法出错 INTO 溢出 INT3 断点 INTn 指令 内部中断
中
断 逻 辑 可屏蔽中断请求 INTR
8259A
外部中断
图6-8 8086/8088的中断源
内部中断的作用:
(1)除法错中断(中断类型号为0):在执行除法指令时, 若发现除数为0,则产生一个类型号为0的内部中断, CPU转去执行除法错中断处理程序。 (2) 溢出中断INTO(中断类型号为4):进行带符号数的 算术运算时,若发生了溢出,则标志位OF=1,若此时 执行INTO指令,会产生溢出中断,结束时不返回,而 把控制权交给操作系统。若OF=0,则INTO不产生中断, CPU继续执行下一条指令。INTO指令通常安排在算术指 令之后,以便在溢出时能及时处理。例如: ADD AX,BX INT 0 ;测试加法的溢出
6.2.2
中断优先级排队
问题的提出: 如果有几个外设同时有中断请求时CPU如何处理?
解决的方法: 1.中断排对:当系统有2个或2个以上的中断时,需按 中断的紧急程度排队,最紧急的排序最高,依此排列, 称中断优先排队。
2 、中断优先级:当 CPU 正在处理一个中断时,能响应 更高级别的中断请求,而暂时停止正在执行的中断服 务,既中断可以嵌套(中断服务程序中还可以有中断, 如图6.1中的中断服务子程序2就为中断嵌套)。
6.2.3 CPU对中断的响应(中断向量识别法) 中断向量识别法的响应的方法
1、CPU中断响应的条件
(1) 中断源发出中断请求信号
(2)设置中断屏蔽触发器,当此触发器为“1” 时,允许外设的中断请求送出至CPU。 (3)CPU处于开中断状态。
(4)CPU在一条现行指令结束之后响应中断。
2、CPU对中断响应的过程(重点掌握内容) (1) 关中断 --- 响应中断后 , 首先发出中断响应 信号,内部自动完成关中断操作(本级中断源)。