第7章 中断控制器
第七章 微型计算机中断系统-103页精选文档

(3)由调试程序debug设置的中断 在调试程序时,为了检查中间结果或寻
找程序中的错误,在程序中可设置断点或进 行单步跟踪,调试程序debug有此功能它也是 由中断来实现的。 ①单步中断:单步是每次只执行一条指令, 然后屏幕显示当前各寄存器和有关存储单元 的内容,以及下条要执行的指令。这样逐条 运行指令,来跟踪程序的流程,以检查出程 序中的错误。单步中断是在标志位TF=1时, 每条指令执行后,CPU自动产生中断类型号 为1的中断。
和中断优先级次序。
2. 内部中断 内部中断又称为软件中断。软件中断通
常有三种情况引起:
①由中断指令INT引起的中断; ②由CPU的某些运算错误引起的中断; ③由调试程序debug设置的中断。
※内部中断只要由上面三种情况引起了,是 不可屏蔽的!
(1)由中断指令INT引起的中断 例7-1 C测P试U执存行储一器条容I量NT n指令后立即产生中 断,并IN且T 调1用2H系统中相应的中断处理程序去 完成中CP断U功执能行,这指条令指中令的时n,指立出即了产中生断一类个型 中号断。。并从中断向量表的0:12H×4开始的 单元中取出4个字节,其内容为中断服务子 程序的段地址和偏移地址,然后转去此入口 去执行中断服务子程序,完成对存储器的测 试。
(2)由CPU的某些运算错误引起的中断 CPU在运行程序时,会发现一些运算中
出现的错误,此时CPU就会中断,让用户去 处理这些错误。主要有:
①除法错中断:除法错中断类型号为0,在 除法运算中,若除数为0或商超过了寄存器 所能表达的范围,就产生一个类型号为0的 中断,转去类型号为0的中断处理。 ②溢出中断:溢出中断类型号为4,专用指 令例为7I-2NT测O试。加若法O的F=溢1执出行中断指令INTO; 若OF=A0,DD不执AX行,中B断X指令。通常INTO放 在加、I减NT法O运算指令的后面。
微机原理及应用ch7-stu

22
7.3 8259A中断控制器
中断服 务寄存 器
中断请 求寄存 器
中断屏蔽寄存器
23
1. 中断控制
1. 中断请求寄存器IRR
锁存外部IR0~IR7的8个中断请求信号 Di位为1表示IRi引脚有中断请求;为0表示无请求
2.
中断屏蔽寄存器IMR(即OCW1)
保存对中断请求信号IRi的屏蔽状态 Di位为1表示IRi中断被屏蔽(禁止);为0表示允许
第7章 中断控制接口
西南石油大学计算机科学学院 教师 郑 津
如何设计实现抢答器?
问题:
选手按下抢答器后微处理器如何处理?
2
第7章 中断控制接口
教学重点
8088 CPU的中断系统
8259A的中断工作过程和工作方式 中断服务程序的编写
3
第七章 中断控制接口
7.1 8088中断系统 8259A中断控制器 8259A在IBMPC系列机上的应用 中断处理程序的设计
IF=1:可屏蔽中断会被响应
中断控制器管理可屏蔽中 断请求
常称为:开中断、允许中断、中断开放 执行指令STI,使IF=1
执行中断返回指令IRET恢复原IF状态
明确IF标志的状态是关键
11
7.1 8088中断系统
A
8088的中断类型
B
8088的中断响应过程
C
8088的中断向量表
12
7.1.2 8088的中断响应过程
例如:DEBUG.EXE调试程序中:G 0123 设置的断点,就是利用INT 3指令实现的
8
7.1.1 8088的中断类型
内部中断
3、单步中断(——中断向量号1)
——单步中断TF=1时,则在每条指令执行结束后产生一个向 量号为1的内部中断 例如:DEBUG.EXE调试程序中:单步命令T 就利用单步中断实现对程序的单步调试
《微机原理与接口》知识点第7章中断控制器8259

五、引入中断请求的方式
1、边沿触发方式
特点:将中断请求输入端出现的上升沿作为中断请求信号。
2、电平触发方式 特点:将中断请求输入端出现的高电平作为中断请求信号。
3、中断查询方式 特点: 1.外设通过向8259A发中断请求信号要求CPU服务。
2.CPU内部的中断允许触发器复位。
3.CPU使用软件查询来确认中断源。
第7章 中断控制器
7.1 8259A概述
7.2 8259A的引脚信号、编程结构和工作原理 7.3 8259A的工作方式 7.4 8259A的初始化命令字和操作命令字
7.5 8259A使用举例
第7章 中断控制器8259A 重点: 1、8259A的编程结构和工作原理 2、8259A的初始化命令字、操作命令字 3、8259A的初始化流程和初始化编程 4、8259A的应用
;×××10×11B ;设置ICW1 ;00011000B~ 00011111B ;设置ICW2 ;00000001B ;设置ICW4
三、8259A的操作命令字
1、OCW1 :中断屏蔽操作命令字
D7 M7 D6 M6 D5 M5 D4 M4 D3 M3 D2 M2 D1 M1 D0 M0 A0 1
中断 触发 方式
A0
0
是否设 置ICW4 规定单片或 级连方式
1:设置ICW4 0:不设ICW4
1:单片方式 0:级连方式
2、ICW2 :设置中断类型码初始化命令字
ICW2高五位与中断类型码的高五位相同。 注:该命令字必须写入“奇地址”端口,即A0=1。
3、ICW3 :标志主/从片初始化命令字
D7 D6 D5 D4 D3 D2 D1 D0
特点:发结束命令时,指令内不指定清除ISR中的哪一位, 由8259A自动将最高优先级对应的ISR中非零位复位,结 束当前正在处理的中断。 用于全嵌套方式。
第7章 中断和DMA

(3) 优先权判决电路从IRR中检测出优先级最 高的中断请求位,并将其与ISR中记录的正 在被CPU服务的中断进行优先级比较。当提 请的中断优先级高于正在服务的中断优先级 时,中断优先权判决电路就向控制逻辑发出 有效的中断请求信号。 (4) 当控制逻辑收到有效的中断请求信号时, 向CPU发出高电平信号INT,请求中断服务。 (5) 在中断允许的情况下(IF=1),CPU接受中 断请求INT,并发出中断响应信号INTA,对 8086/8088 CPU,将连续发出两个INTA脉 冲。
IMR7 IMR6 IMR5 IMR4 IMR3 IMR2 IMR1 IMR0 IMR
IRR7 IRR6 IRR5 IRR4 IRR3 IRR2 IRR1 IRR0 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0
IRR
④优先权判决器PR:实现中断优先级判别。 • 如果当前CPU没有执行中断服务,则优先 权判决器对IRR中的各个有效中断进行排 队判优,选出优先级最高的中断给予处理, 且将 优先权编码送ISR。 • 如果当前CPU正执行中断服务,则优先权 判决器将新的中断请求优先权编码与ISR 进行比较,如果优先权高给予处理(中断 嵌套),并置新中断的优先权编码到ISR。 否则不予响应。
③具有多种优先权管理模式; ④可直接向CPU提供中断类型码; ⑤单+5V电源供电。 7.2.1 8259的结构及功能 1.与系统总线接口电路 ①数据总线缓冲器:是8位双向的三态数据 缓冲总线接口,D0~D7。所有数据输入输 出都是通过该接口完成。 ②读写控制电路:负责对选中的内部寄存器 进行读写操作。
IRRn=1,表示该 引脚有中断请求
IRR7 IRR6 IRR5 IRR4 IRR3 IRR2 IRR1 IRR0 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0
微机原理第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转去执行除法错中断处理程序。
微型计算机原理及应用教程第7章 中断与DMA技术

7.1 中断原理
7.2 8086/8088 CPU 中断系统 7.3 可编程中断控制器8259A 7.4 8259A的应用举例 7.5 DMA控制器
引 言
中断在计算机中是非常重要的。中断提高了计算机的并
行度和处理器的效率,改善了计算机的性能。它解决了CPU
与各种外围设备之间的速度匹配问题。 中断在故障检测、实时处理与控制、分时系统、多级系 统与通信、并行处理、人机交互等诸多领域都得到了广泛应 用和不断发展。 本章就中断的管理、 8086/8088 CPU 中断系统、可编程 中断控制器8259进行介绍。
挥了CPU高速性的特点。 实现实时处理:例如键盘、打印机、显示器的使用等 实现故障处理:电源故障、除法溢出、非法操作、存储 器出错等
中断系统应具有以下功能:
中断响应:当中断源发出中断请求后,CPU能够决定是否 暂时中止当前程序的执行,去响应 该中断请求。 断点保护: CPU在响应中断请求后,保护被暂时中止的当 前程序的运行环境和结果(例如:下一条指令地址的CS和
7.1.3中断优先权与中断嵌套
1.中断优先权
在实际系统中,常常遇到多个中断源同时请求中断的情况, 这时 CPU 必须确定首先为哪一个中断源服务,以及服务的 次序。解决的方法是用中断优先排队的处理方法。即根据中 断源要求的轻重缓急,先排好中断处理的优先次序,即优先
级(又称优先权)。CPU先响应优先级最高的中断请求。对
7.1
中断原理
当 CPU 与外设交换信息时,若用查询的方式,则 CPU 就
要浪费很多时间去等待外设,这样就存在一个快速的 CPU 与 慢速的外设之间的矛盾,这也是计算机在发展过程中遇到的 严重问题之一。为解决这个问题,一方面要提高外设的工作 速度;另一方面就必须要使用中断处理。
中断及中断控制器本章学习要点中断技术概述8086的中断

第7章中断及中断控制器本章学习要点●中断技术概述、8086的中断类型●中断优先权及其管理、中断矢量●中断处理过程●可编程中断控制器8259A及其应用7-1 本章知识重点7-1-1 中断技术的基本概念1.中断的概念所谓“中断”是指CPU在正常执行程序时,由于内部/外部事件或程序的预先安排引起CPU暂时终止执行现行程序,转而去执行请求CPU为其服务的服务程序,待该服务程序执行完毕,又能自动返回到被中断的程序继续执行。
2.中断源能引起中断的外部设备或内部原因称为中断源。
按照与CPU的位置关系可分为内部中断和外部中断。
内部中断是CPU在处理某些特殊事件时所引起或通过内部逻辑电路自己去调用的中断。
外部中断是由于外部设备要求数据输入/输出操作时请求CPU为之服务的一种中断。
通常中断源有以下几种:(1)一般的输入/输出设备,如键盘、打印机等。
(2)实时时钟。
(3)故障源。
(4)软件中断。
3.中断源识别识别中断源通常有两种方法:查询中断和矢量中断。
(1)查询中断:就是用软件查询的方法确定中断源。
当CPU收到中断请求信号时,通过执行一段查询程序,从多个可能的外设中查询申请中断的外设。
(2)矢量中断:又称向量中断。
每个中断源预先指定一个矢量标志,要求外设在提出中断请求的同时,提供该中断矢量标志。
当CPU响应某个中断源的中断请求时,控制逻辑就将该中断源的矢量标志送入CPU,CPU根据矢量标志自动找到相应的中断服务程序入口地址,转入中断服务。
这种中断源识别方法比查询中断要快很多。
4.中断技术的优点(1)同步操作:中断方式不仅可以实现CPU和外设之问的并行工作,而且CPU可命令多个外设同时工作,这大大提高r CPU的利用率,也加快了输A./输出的速度。
(2)实现实时处理:利用中断技术可以及时处理随机输入到微型计算机的各种参数和信息,使微型计算机具备实时处理与控制的能力。
(3)故障处理:CPU可以就根据故障源发出的中断请求,立即去执行相应的故障处理程序,自行处理故障而不必停机,因此提高了微型计算机工作的可靠性。
第7章 中断系统与中断控制器

2 中断源
引起CPU中断的事件——中断源。 例如:
外设——请求输入输出数据,报告故障等 事件——掉电、硬件故障、软件错误、非法操作、定 时时间到等
中断源分为:外部中断、内部中断 内部中断:CPU内部执行程序时自身产生的中断 外部中断:CPU以外的设备、部件产生的中断
3 中断技术的优点
中断操作
7.2.2 中断处理过程
五个步骤: 中断请求 中断判优(有时还要进行中断源识别) 中断响应 中断服务 中断返回
以下以外部中断为主介绍这五个步骤。
1.中断请求
外设请求服务时,经接口电路向CPU发请求信号。
2.中断判优
同时出现多个中断请求(>1),响应优先级最高的。
7.4 PC/XT(8088/8086CPU)的中断系统
采用向量型中断结构,可以管理256个不同类型
的中断请求。
中断源有两类:内部中断和外部中断。外部中
断又分为非屏蔽中断NMI和可屏蔽中断INTR。
1.内部中断
内部中断是由CPU内部事件引起的中断。
非屏蔽中断 NMI INTR 可屏蔽 中断 INTA 9259A 除法 错误 IR0 IR1 8086/8088中断管理逻辑 IR2 IR3 IR4 IR5 IR6 IR7
7.5.1 8259A的内部结构与引脚信号
1.8259A的内部结构
由以下8个部分组成:
数据总线缓冲器 控制逻辑
中断请求寄存器
IRR(Interrupt Re 中断服务寄存器ISR 优先级比较器PR quest Register) (Interrupt Service Register) (priority relatively) 读/写逻辑
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.2 8259A的工作方式
• 1 设置优先级的方式(续)
– (3)优先级自动循环方式
• (初始优先级队列为IR0 → IR7)。 • 当某个当某个外设的中断请求得到CPU响应后,其中断的 优先级自动降为最低,而将最高优先级赋给原来比它低一 级的中断请求
7.2 8259A的工作方式
• 1 设置优先级的方式(续)
– (1)全嵌套方式 固定优先级:一个中断源的中断处理过程仅能 被比该中断级别更高的中断请求打断
IR0
降
IR7
– (2)特殊全嵌套方式
固定优先级:一个中断源的中断处理过程可
以被比该中断级别更高或同一级别的中断请求 打断(该种方式多用于8259级联时主片工作方 式)
8259级联时主片工作于特殊全嵌套方式
7.3.1 8259A的初始化命令字
• 4 ICW4的格式和含义
D7 D6 0 特殊嵌套=1 一般嵌套=0
D7 D6 D5 = 000 ICW4的标志
D5 0
D4
D3
D2
D1
D0 1
A0=1
0
SFNM BUF
M/S AEOI 0 非 自 动 EOI
0X 非缓冲方式 10 缓冲方式(主片) 11 缓冲方式(从片)
第7章 中断控制器
重点
8259A的编程结构; •8259A的工作方式以及工作方式的分类依据; •8259A的初始化命令字及其含义; •8259A的初始化方法; •8259A的操作命令字和设置方法; •多片8259A构成的主从式中断系统。(简单了解)
回顾
8088/8086中断系统
除法错中断
内部中断 256 个中 断源
溢出中断 单步中断 软件中断
• 优先级从高到低 的顺序为:
– 内部中断
– NMI中断 – INTR中断 – 单步中断
外部中断
非屏蔽中断 可屏蔽中断
可编程中断控制器8259A
00000H
8086/8088中断源类型:
CS
软件中断指令 n 4 中断逻辑 2 NMI
. . .
003FFH
IPห้องสมุดไป่ตู้
溢出中断
非屏蔽中断请求 可 屏 蔽 中 断 请 求
7.2 8259A的工作方式
• 3 结束中断处理的方式
• 结束中断处理的含义:将中断服务寄存器的对应位 清“0”
IRR:中断请求寄存器,PR:优先级裁决器,ISR:中断服务寄存器
7.2 8259A的工作方式
• 3 结束中断处理的方式(续)
– (1)中断自动结束方式 利用中断响应时第二个INTA负脉冲ISR中相应的位 清0
– (4)优先级特殊循环方式
优先级特殊循环方式与自动循环方式相比,只有一点不 同,即初始化的优先级是由程序控制的,而不是默认的 IR0—IR7。
IR7IR6IR5IR4IR3IR2IR1IR0 升 低 高 IR4 IR3IR2IR1IR0IR7IR6IR5
7.2 8259A的工作方式
• 2 屏蔽中断源的方式
断点中断
3
除法错
0 1
INTR
中断控 制器 8259A
单步中断 8086/8088CPU内部逻辑
第7章 中断控制器
中断控制器有什么基本功能?
7.1
8259A的引脚信号、编程结构和工作原理
CS WR RD D7 D6 D5 D4 D3 D2 D1 D0 CAS0 CAS1 GND
28 1 27 2 26 3 25 4 24 5 23 6 7 8259A 22 21 8 20 9 19 10 18 11 17 12 16 13 15 14 VCC A0 INTA IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 INT SP/EN CAS2
• 2 ICW2的格式和含义
D7 A0=1 T7 D6 T6 D5 T5 D4 T4 D3 T3 D2 X D1 X D0 X
中断向量码的高5位
中断源的序号
7.3.1 8259A的初始化命令字
• 3 ICW3的格式和含义
主片ICW3格式
D7 A0=1 S7 D6 S6 D5 S5 D4 S4 D3 S3 D2 S2 D1 S1 D0 S0
1 自 动 EOI
7.3.2. 8259A的初始化流程
①ICW1必须写入偶地 址,ICW2~ICW4必须写 入奇地址 ②ICW1~ICW4的设置 次序固定,不可颠倒
③ICW1和ICW2都是必 须的16位和32位系统中 ICW4也是必须的 ④只有在级联情况下 ICW3才是必须的,而且 主片和从片的格式不一样
从片标识码,即 说明从片接到主 片的哪个引脚上 例:若从片8259A接在主片8259A的IR6上, 则从片8259A的ICW3设定:ID2ID1ID0=110
7.3.1 8259A的初始化命令字
• 3 ICW3的格式和含义(续)
• ICW3是在级联方式下设置的初始化命令字。 • 当ICW1中D1=1,单片使用,不需要ICW3; • 当ICW1中D1=0 ,表示8259A工作于级联方式,必须设 置ICW3。
7.2 8259A的工作方式
• 5 引入中断请求的方式
– (1)边沿触发方式 – (2)电平触发方式 – (3)中断查询方式
A0=0
D7 X D6 X D5 X D4 D3 1 LTIM 特 征 位 D2 X D1 SNGL D0 IC4
1单片8259A 0多片级联
1 IR0—IR7高电平触发 0 IR0—IR7上升沿触发
1 对应IR线上接了从片 0 对应IR线上没有接从片 例:若只在IR2和IR6上接有从片8259A, 则ICW3为01000100
7.3.1 8259A的初始化命令字
• 3 ICW3的格式和含义(续)
从片ICW3格式
D7 A0=1 0 D6 0 D5 0 D4 0 D3 0 D2 ID2 D1 ID1 D0 ID0
7.4 8259A的操作命令字
• 2 OCW2的格式和含义
A0=0
• R、SL、EOI三位配合使用选择中断结束和
优先权循环的操作方式。
7.4 8259A的操作命令字
• 2 OCW2的格式和含义 (续)
R 1 0 1 1 1 0 0
SL 0 0 1 0 1 1 0
EOI 0 0 0 1 1 1 1
• 连接系统总线的方式
– 缓冲方式 – 非缓冲方式
• 引入中断请求的方式
– 边沿触发方式 – 电平触发方式 – 中断查询方式
• 屏蔽中断源的方式
– 普通屏蔽方式 – 特殊屏蔽方式
• 结束中断处理的方式
– 中断自动结束方式 – 一般的中断结束方式 – 特殊的中断结束方式
7.2 8259A的工作方式
• 1 设置优先级的方式
8259A应用举例
例1(续)
8259A应用举例
例1(续)
例2
•
8259A应用举例
设中断为边沿触发式,从IR7引入的中断的中 断类型号为C7H
A15 A14 . . . + . A8 A6 A4 A3 A2 A7 G1 Y0 Y1 74LS138 A0 M/IO Y7 + + CS A1 A0 8259A D7 . . . . D0 IR7 IR0 IR1
7.2 8259A的工作方式
• 3 结束中断处理的方式(续)
– (2)一般的中断结束方式(适合于全嵌套方式) 8259A每得到一次CPU的编程EOI命令(OCW2 (A0=0)),就将ISR中优先级最高的位复位。
EOI=1, SL=0, R=0, L2L1L0:对应中断的编码,SL=0时无意义
7.2 8259A的工作方式
– (1)普通屏蔽方式 中断屏蔽寄存器IMR的8位与中断请求IR0~IR7 一一对应(OCW1(A0=1))。
7.2 8259A的工作方式
• 2 屏蔽中断源的方式(续)
– (2)特殊屏蔽方式(OCW3设置) 仅对本级中断进行屏蔽,但可以响应较低级或 较高级的中断请求 当ESMM=1且SMM=1时,表示8259A工作在特 殊屏蔽方式
功能 优先级自动循环方式 结束优先级循环方式 特殊优先级循环方式 发中断结束命令,并仍用优先级循环方式 发中断结束命令,并用特殊优先级循环方式 特殊中断结束命令 一般中断结束方式
7.4 8259A的操作命令字
• 3 OCW3的格式和含义
D7 A0=0 X D6 D5 D4 0 D3 1 D2 P D1 RR D0 RIS ESMM SMM
特征位 10清除特殊屏蔽 11设置特殊屏蔽
10读IRR 11读ISR A0=1读IMR 0非查询方式 1查询方式
查询的 中断状态字
8259A应用举例
例1
• 对8259A按下述要求进行初始化编程: ① 工作于80x86系统,单片8259A,边沿触发方式 ②中断类型码初始值为08H,即IR0~IR7对应的中断类型 码为08H~0FH ③中断处理结束时,用普通中断结束命令,固定优先级 ④设8259A的端口地址为20H,21H
G2A
A5 G2B
C B A
CPU
INTR
例2(续)
Main . segment . . . CLI MOV AL,13H ;ICW1 MOV DX,0084H OUT DX, AL MOV AL, 0C7H ;ICW2 MOV DX, 0086H OUT DX, AL MOV AL,01H ;ICW4 OUT DX,AL STI Main ends . . . .
7.3.1 8259A的初始化命令字
• 1 ICW1的格式和含义
A0=0
D7 X D6 X D5 X D4 1 特 征 位 D3 LTIM D2 X D1 SNGL