第7章中断系统
微计算机原理(第2版)课后习题答案潘名莲马争丁庆生编著
第七章微计算机的中断系统7-1 什么是中断类型码、中断向量、中断向量表?在基于8086/8088的微机系统中,中断类型码和中断向量之间有什么关系?解:处理机可处理的每种中断的编号为中断类型。
中断向量是指中断处理程序的入口地址,由处理机自动寻址。
中断向量表是存放所有类型中断处理程序入口地址的一个默认的内存区域。
在8086系统中,中断类型码乘4可得到向量表的入口,从此处读出4字节内容即为中断向量。
7-2 什么是硬件中断和软件中断?在PC机中两者的处理过程有什么不同?解:硬件中断通过中断请求线输入电信号来请求处理机进行中断服务;软件中断是处理机内部识别并进行处理的中断过程。
硬件中断一般由中断控制器提供中断类型码,处理机自动转向中断处理程序;软件中断完全由处理机内部形成中断处理程序的入口地址并转向中断处理程序,不需外部提供信息。
7-3 试叙述基于8086/8088的微机处理硬件中断的过程。
解:以INTR中断请求为例。
当8086收到INTR的高电平信号时,在当前指令执行完毕且IF=1的条件下,8086在两个总线周期中分别发出INTA#有效信号;在第二个INTA#期间,8086收到中断源发来的一字节中断类型码;8086完成保护现场的操作,CS、IP内容进入堆栈,清除IF、TF;8086将类型码乘4后得到中断向量入口地址,从此地址开始读取4字节的中断处理程序的入口地址,8086从此地址开始执行,完成INTR中断请求的响应过程。
7-4 在PC机中如何使用“用户中断”入口请求中断和进行编程?解:PC机中分配用户使用的中断是IRQ9,经扩展槽B40h亿引出,故把用户的中断请求线连接到B40h上。
在应用程序中,利用25H号系统调用将中断服务程序的入口地址写入对于0AH 类型中断对应的中断向量表中去。
在应用程序中把主片8259A D2屏蔽位清零,把从主片8259A D1屏蔽位清0,使主片的IR2、从片的IR1可以输入中断请求。
第七章 微型计算机中断系统-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运算指令的后面。
微机原理第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 与 慢速的外设之间的矛盾,这也是计算机在发展过程中遇到的 严重问题之一。为解决这个问题,一方面要提高外设的工作 速度;另一方面就必须要使用中断处理。
第7章 中断系统
可 屏 蔽 中 断 请 求
软件中断
硬件中断
小结: 中断分类及中ຫໍສະໝຸດ 类型码8086/8088系统最多可处理256级不同类型的中断。
可屏蔽中断(INTR) 外部中断(硬件中断) 非屏蔽中断(NMI,中断类型码2) 中断分类 单步中断(中断类型码1) 内部中断(软件中断) 断点中断(中断类型码3) 溢出中断(中断类型码4) Int n 中断
器退出暂停状态,响应中断,进入中断处理程序。
若现行指令为WAIT指令,且 TEST 引脚加入低电平信号, 则中断请求信号INTR产生后,便使处理器脱离等待状态,响 应中断,进入中断处理程序。
HLT: 暂停指令
(4) 8259A连续两次接收(2个总线周期) INTA = 0的中断 响应信号后,便通过总线将中断矢量号送CPU。 (5) 保护断点。将标志寄存器内容、当前CS内容及当前IP 内容压入堆栈: (SP)←(SP)-2
((SP)+1:(SP))←(PSW)
(SP)←(SP)-2 ((SP+l:(SP))←(CS) (SP)←(SP)-2 ((SP)+1:(SP))←(IP)
(6) 清除IF及TF(IF←0,TF←0),以便禁止其它可屏蔽中 断或单步中断发生。 (7) 求中断程序的入口地址 :根据8259A向CPU送的中断 矢量号n求得矢量地址,再查中断矢量表,得相应中断处理程 序首地址(段内偏移地址和段地址),并将 位首地址置入CS及
7.1 概述
中断和异常是处理器处理突发事件时所采取的两种不同 的处理方法,具体来说,中断指的是处理器暂停当前的程序, 转而去处理中断事件;而异常虽然也会对异常事件作出反应, 但不一定会暂停当前的程序。 在8086/8088处理器时代,中断主要包括外部中断 和 内 部中断两种。 在386/486等32位处理器时代,内部中断的数量和功能被 扩充,习惯上,称内部中断为异常,而中断则主要指外部中 断。
单片机讲义第七章
一、中断的起因
什么可以引起中断? 生活中很多事件可以引起中断:有人 按了门铃了,电话铃响了,你的闹钟闹响 了,你烧的水开了….等等诸如此类的事件, 我们把可以引起中断的称之为中断源,单 片机中也有一些可以引起中断的事件, 8051中一共有5个:两个外部中断,两个 计数/定时器中断,一个串行口中断。
三、中断的响应过程
当有事件产生,进入中断之前我们必须先记住现 在看书的第几页了,或拿一个书签放在当前页的位置, 然后去处理不同的事情(因为处理完了,我们还要回 来继续看书):电话铃响我们要到放电话的地方去, 门铃响我们要到门那边去,也说是不同的中断,我们 要在不同的地点处理,而这个地点通常还是固定的。 89C51中也是采用的这种方法,五个中断源,每个 中断产生后都到一个固定的地方去找处理这个中断的 程序,当然在去之前首先要保存下面将执行的指令的 地址,以便处理完中断后回到原来的地方继续往下执 行程序。
二、中断的嵌套与优先级处理
设想一下,我们正在看书,电话铃响了,同时又 有人按了门铃,你该先做那样呢?如果你正是在等一 个很重要的电话,你一般不会去理会门铃的,而反之, 你正在等一个重要的客人,则可能就不会去理会电话 了。如果不是这两者(即不等电话,也不是等人上 门),你可能会按你通常的习惯去处理。总之这里存 在一个优先级的问题, 单片机中也是如此,也有优先级的问题。优先级 的问题不仅仅发生在两个中断同时产生的情况,也发 生在一个中断已产生,又有一个中断产生的情况,比 如你正接电话,有人按门铃的情况,或你正开门与人 交谈,又有电话响了情况。考虑一下我们会怎么办吧。
电平触发的外部中断的清除
对于电平触发的外部中断,CPU响应中断后, 虽然也是由硬件清除了相应的标志位,但是不 能对外部引脚上的电平进行处理,也就是说, 这时如果外部引脚上的低电平依然存在,会造 成重复中断,因此我们应该在电路上增加对外 部引起中断的信号进行处理。P148图7-5是一 个可行的方案之一。通过I/O口输出一个信号, 使得外部引脚上的中断请求信号变为高电平。
第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) 读/写逻辑
第7章 中断处理
多道程序或多重任务的运行:分时中断处理。 多道程序或多重任务的运行:分时中断处理。
4. 中断源 任何能够引发CPU中断的事件都称为中 中断的事件都称为中 任何能够引发 中断的事件 断源。 断源。
二、多中断源情况下的特殊问题
1. 中断源的识别
对于软件中断而言,CPU对中断源的识别靠 对于软件中断而言, 对中断源的识别靠 软件中断指令( 来识别, 软件中断指令(INT n)中的中断号 来识别,并 )中的中断号n来识别 转到响应中断服务程序去执行。 转到响应中断服务程序去执行。 对于硬件中断,CPU只有一个 只有一个NMI和INTR引 对于硬件中断,CPU只有一个NMI和INTR引 当有多个外设要申请中断时, 脚,当有多个外设要申请中断时,就必须通过中 断接口电路来连接, 断接口电路来连接,同时给每个中断外设编排一 个中断号( 系统称为中断类型码)。 个中断号(8086系统称为中断类型码)。当任一 系统称为中断类型码)。当任一 外设有中断申请时, 外设有中断申请时,通过中断接口电路将外设中 断信号转发给CPU,然后再由 断信号转发给 ,然后再由CPU从中断接口电 从中断接口电 路读取该中断源的编号。 路读取该中断源的编号。
中 断 控 制 器
IRQ0 IRQ1
外设0 外设1
IRQn
外设n
软硬件结合的简易中断控制器
≥1
2. 中断优先级 对于多中断源而言, 对于多中断源而言,存在各中断源的优先级别 问题。当两个及以上的中断源同时申请中断时, 问题。当两个及以上的中断源同时申请中断时,最 先响应哪个中断源的中断请求, 先响应哪个中断源的中断请求,则由它们的优先级 别决定。 别决定。 可屏蔽中断源的优先级别由中断控制器决定。 可屏蔽中断源的优先级别由中断控制器决定。 8086系统中各类中断的优先级别如下: 系统中各类中断的优先级别如下: 系统中各类中断的优先级别如下
第7章 中断处理技术与DMA技术
7.1 中断的基本概念
(4)在中断响应周期的第二个总线周期中, 读取中断类型号,找到中断服务程序的入口地 址,自动将程序转移到该中断源设备的中断处 理程序的首地址,即将中断处理程序所在段的 段地址及第一条指令的有效地址分别装入CS及 IP,一旦装入完毕,中断服务程序就开始执行。 上述过程,即从CPU响应中断请求,到中断 现行程序并将程序转移到中断处理地址的过程 称为中断响应过程。不同的机器,在中断响应 期间所完成的功能基本类似,但实现方法不尽 课件制作人:刘永华 相同。
* 7.4
* 7.5
第7章 中断处理技术与DMA技术
* 7.6 DMA控制器8237A 7.6.1 主要特性 7.6.2 8237A引脚及结构 7.6.3 8237A的软件命令 7.6.4 8237A的工作时序 * 7.7 8237A初始化编程 * 7.8 8237A应用实例 7.8.1 初始化 7.8.2 应用实例
刘永华7280868088的中断系统类型号中断名称类型号中断名称0003h0h除法出错6063h18h常驻basic入口0407h1h单步6467h19h引导程序入口080bh2h不可屏蔽686bh1ah时间调用0c0fh3h断点6c6fh1bh键盘ctrlbreak控制1013h4h溢出7073h1ch定时器报时1417h5h打印屏幕7477h1dh显示器参数表181bh6h保留787bh1eh软盘参数表1c1fh7h保留7c7fh1fh字符点阵结构参数2023h8h定时器8083h20h程序结束返回dos2427h9h键盘8487h21h系统功能调用282bh0ah保留888bh22h结束地址2c2fh0bh通信口28c8fh23hctrlbreak退出地址表71ibmpcxt机的中断向量表课件制作人
微机原理与接口技术(第三版) 第7章
4) 中断请求的检测 CPU在每条指令执行的最后一个时钟周期,检测其中断 请求引脚(INTR)有无中断请求信号。如果有中断请求信号, 就把内部的中断锁存器置“1”,在下一个总线周期到来时, 进入中断响应状态。
2. CPU对中断的响应 当CPU响应外设的中断后,还要具体完成一些工作。 1) 关中断 当响应中断后,首先要进行关中断操作。对8086微处理 器,CPU在发出中断响应信号的同时,在内部自动完成关中 断操作。 2) 断点保护 当CPU响应中断源的中断请求后,将停止下一条指令的 执行,把当前相关寄存器的内容压入堆栈,为中断返回做好 准备。
3) 中断的开放 在CPU内部有一个中断允许触发器,用来决定是否响应 CPU中断请求引脚(INTR)送来的中断请求。当中断开放(触 发器为“1”)时,CPU才能响应中断;当关闭中断(触发器 为“0”)时,CPU不响应中断请求。这个中断允许触发器的 状态可以用STI和CLI指令来改变。在CPU复位或是当中断 响应后,CPU就处于中断关闭状态,这样就必须在中断服务 程序中用STI指令来让中断开放。
1. 分时操作 中断技术实现了CPU和外部的并行工作,从而消除了 CPU的等待时间,提高了CPU的利用率。另外,CPU可同时 管理多个外部设备的工作,提高了输入/输出数据的吞吐量。 2. 实时处理 在实时控制系统中,现场定时或随机地产生各种参数、 信息,要求CPU立即响应。利用中断机制,计算机就能实时 地进行处理,特别是对紧急事件能进行实时处理。 3.故障处理 计算机运行过程中,如果出现某些故障,如电源掉电、 运算溢出等,.2 中断的响应过程 1.中断源 所谓中断源,就是引起中断的原因或者发出中断请求的
设备。中断源一般分为两类:内部中断源和外部中断源。内 部中断源即中断源在微处理器内部。
《单片机原理与技术》课件第7章-中断
1.定时器/计数器控制寄存器TCON
位7
位6
位5
位4
位3
位2
位1
位0
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
IT0:外部中断INT0触发方式选择 位。可由用户用软件选择。 • IT0=1:设定外部中断引脚信号为下降 沿触发方式。 •
IT1:外部中断INT1触发方式选择 位,其功能类似于IT0。 • IE0:外部中断INT0触发有效标志 位。 • IE1:外部中断INT1触发有效标志 位,其功能类似于IE0。 •
•
定时器0与定时器1标志为TF0与TF1, 在定时器溢出周期的S5P2设置。然后其值 在下一周期由电路查询。然而,定时器2标 志TF2是在S2P2设置且在定时器溢出的同 一周期内被查询。 Nhomakorabea•
若请求有效且响应的条件正确,至请 求的服务例程的硬件子例程调用将是下一 条要执行的指令。CALL自己需要两个周期。 因此,在外部中断请求的激活与服务例程 的第一条指令的执行开始之间,至少需要3 个完整的机器周期。图7-9所示为中断响应 时序。
图7-4 中断响应、服务及返回流程图
7.3 80C51中的中断结构
7.3.1 中断启用
图7-5 MCS-51中断源
图7-6 80C51中的IE(中断启用)寄存器
7.3.2
中断优先权
图7-7 80C51中的IP(中断优先级)寄存器
7.3.3
•
中断如何处理
在操作中,所有中断标志在每个机器 周期的S5P2期间被采样。在下一个机器周 期期间查询采样。若找到一启用的中断的 标志已设置,中断系统生成一LCALL至在 程序存储器中的适当单元,至中断服务例 程的LCALL的生成,由以下3个条件中的任 一个阻断:
ARM Cortex-A9多核嵌入式系统开发教程 第七章
Highest priority interrupt
CPU Interface 1
enable_c1[ ] match_c1[ ]
nfiq_c1 nfriq_c1
AMBA slave interface
AMBA interface
enable_dn[ ] match_dn[ ] ppi_cn[15:0] legacy_nfiq_cn legacy_nirq_cn
第7章 Exynos 4412中断系统
2、中断类型 (1) 软件生成的中断(SGIs):是通过向软件生成中断寄存器 写入SGI中断号生成的。SGI一般被用作核间中断,用于核 间通信。 (2) 私有外设中断(PPI),由一个单独的处理器私有的外 设生成。 (2) 私有外设中断,由一个单独的处理器私有的外设生成。
第7章 Exynos 4412中断系统
7.1.1 中断相关术语 1、中断状态 每个中断可以被认为处于以下4个状态之一:
(1) 未激活(Inactive),中断尚未激活或未挂起; (2) 挂起(Pending),中断已经由硬件或者软件产生,正等 待目标CPU响应; (3) 激活(Active),CPU已经应答(Acknowledge)来自GIC的 中断,该中断正在被CPU处理但尚未完成; (4) 激活并挂起(Active&Pending),CPU正在处理该中断, 此时GIC又收到来自该中断源的更高优先级的中断。
Exynos 4412中断系统
Exynos 4412的中断系统概述 Exynos 4412中断机制分析 中断控制相关寄存器 中断处理程序实例
第7章 Exynos 4412中断系统
7.1 中断系统概述
Exynos 4412 采用了通用中断控制器(Generic Interrupt Controller,GIC PL390)对其中断系统进行控制和管理。 Exynos 4412共支持160个中断,其中包括16个软件生成的 中断、16个CPU核的私有外设中断、128个CPU核共享的外 设中断。其中,软件生成的中断通过写一个专用寄存器 (ICDSGIR)生成,通常被用于内部处理器之间的通信。
中断系统
7.1 概述 7.2 可编程中断控制器8259A 7.3 PCI中断 7.4 串行中断
7.1
7.1 中断系统概述
7.1.1 中断的基本概念 7.1.2 现代微机中的中断类型 7.1.3 现代微机中的中断处理 7.1.4 中断向量的修改与设置
7.1.1
7.1.1 中断的基本概念
2、外部硬件不可屏蔽中断
NMI往往用于处理必须立即响应的外部事 件或重要的外部事件,比如电源故障和存储器 读数据出现奇偶错等。
这种中断不受 IF标志位影响,它是不可 屏蔽的
3、软件中断
软件中断指令如INT 3,INT n,INTO和 BOUND等引起的中断。
这些软件中断指令在执行时,不需要中断 识别总线周期,它们的中断类型号是固定的,可 以立即启动相应的中断处理程序。
✓ 向量中断: – 是由中断向量来指示中断服务程序的入口地址。例 如,对可屏蔽中断是在CPU响应中断后,发出中断 应答INTA时,由中断控制器通过数据总线返回到 CPU的中断类型号来确定中断源的。
✓ 查询中断: – 是采用软件或硬件(串行顺序链电路)查询技术来 确定发出中断请求的中断源。
7.1.3现代微机中的中断处理
CPU在执行完每条指令后去检查“中断请求” 输入线,看是否有外部发来的“中断请求”。
中断判优
✓ A)可屏蔽中断请求由接口电路向8259A发中断请 求,经8259A处理之后通过INTR引脚向CPU发请求 信号,并且还要提供中断类型号。
– 对外部的中断申请有权决定是否予以响应: » 若允许申请,中断程序开始处用STI指令打 开中断; » 若不允许,则用CLI指令关闭中断。
4.端口地址选择
➢ 4. 端口地址选择信号引脚: ✓ (1)#CS:片选信号,该引脚为低电平时, 8259A才被选中。 ✓ (2)A0:选内部端口,直接接地址总线中的 某一位。 – A0有两个状态(0、1),因此它将 8259A的编程地址分为两种: »A0=1为奇地址, »A0=0为偶地址
微机原理及接第七章中断技术可编程中断控制器(Intel 8259A)口技术
A/D转换器 开关量输入 D/A转换器 开关量输出
键盘 数字化仪 点阵打印 CRT 显示 光笔 图形输入 激光打印 液晶显示 声音输入 喷墨打印 绘图仪 X-Y记录仪 扫描仪
硬盘 软盘 光盘 磁带
微机控制各类接口框图
二、 CPU 与外设之间的接口信息
1. 数据信息 (DATA) CPU与外设交换的基本信息是数据, 有三种类型: (1) 数字量 由键盘、光电输入机等输入的信息。
译 码 器 三态缓 冲器 G
A15~A0 M/ IO
INTA INTR
中断允许 触发器
工作原理:若输入设备准备好数据,且中断允许,则通 过中断请求触发器发INTR。如果IF=1,则CPU在当前指 令执行完后,进入中断响应周期,发INTA,待到中断类 型号,进入中断服务实现数据传送。
外 设 准 备 数 据
3. 控制信息 (CONTROL)
CPU通过接口输出用以控制外设工作的信息。 例如控制I/O 设备启动或停止等。
AB CPU DB CB DATA STATUS I/O 设备
1 I/O 接口 2
3 CONTROL
CPU 与外设之间的接口信息
三、接口的功能
接口用以解决CPU与外设连接时存
在的矛盾,一般有以下功能: 1. 数据缓存:匹配不同的数据传送速率。 2. 端口寻址:选择某一外设,某一端口。 3. 命令译码:解释CPU输出的命令,产生相 应的操作控制信号。
4. 同步控制:协调时序上的差异。
8.2
I/O 端口的编址方式
接口电路中能被CPU访问的寄存器或某 些特定器件称为I/O端口。I/O端口分为数据 端口、状态端口和命令端口。
AB
CPU 1 I/O 接口 2 DATA
微型计算机原理-第7章(3)微机原理与接口技术(第三版)(王忠民)
第7章 输入/输出与中断-中断技术
… …
…
D7 D0 CPU
INTR
中 断 寄 存 器
INT ≥1
INT1 INT2
INT8
图7.13 软件查询法的硬件电路
第7章 输入/输出与中断-中断技术
断点保护
INT1? Y N INT2? Y N
对1号中 断源服
务 对2号中 断源服
务
… …
INT8? Y N
1. 中断的定义
计算机在执行正常程序 过程中,当出现某种异常 事件或某种外部请求时, 处理器就暂停执行当前的 程序,而转去执行对异常 事件或某种外部请求的处 理操作。当处理完毕后, CPU再返回到被暂停执行的 程序,继续执行,这个过 程称为程序中断。
主程序
有中断请求
断点 继续执行
中断服务程序 中断处理
第7章 输入/输出与中断-中断技术
① 中断请求:是中断源向CPU发出的请求中断的要求。 软件中断源是在CPU内部由中断指令或程序出错直接
发中断; 硬件中断源必须通过专门的电路将中断请求信号送给
CPU,CPU也有专门的引脚接收中断请求信号。
第7章 输入/输出与中断-中断技术
② 中断响应:是指当计算机系统接收到中断请求后应作出的反 应。对于可屏蔽中断的响应要具备两个条件:一是中断允许触发器 的状态为1(即开中断),二是CPU在执行完现行指令之后。
返回断点
第7章 输入/输出与中断-中断技术
2. 中断系统 为实现中断功能而设置的硬件电路和与之相应的软件,称为中
断系统。 3. 中断源
引起中断的原因或发出中断请求的来源称为中断源。中断源可 分为硬件中断源和软件中断源两类。 4. 中断处理过程
第七章AT89s52单片机中断系统
高 优 先 级
低 优 先 级
7
3.中断触发方式
①.电平触发方式 ②.下降沿触发方式
第七章 AT89S52单片机中断系统
8
7.2.2 中断标志与控制
单片机设置了5个专用寄存器用于中 断控制,用户通过设置其状态来管理中 断系统。5个专用寄存器包括:
定时器/计数器0,1控制寄存器TCON; 定时器2控制寄存器T2CON; 串行口控制寄存器SCON; 中断允许控制寄存器IE; 中断优先级控制寄存器IP。
第七章 AT89S52单片机中断系统
9
1.定时器/计数器0,1控制寄存器TCON
D7 D6 D5 D4 D3 D2 D1 D0
TCON TF1
TF0
IE1 IT1 IE0 IT0 字节地址:88H
位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 可位寻址
TF1(TCON.7)—T1计数溢出,由硬件置位,响应中断
2
(2)中断源
中断源通常可分为以下几种: 设备中断 定时中断 故障源中断 程序性中断源
第七章 AT89S52单片机中断系统
3
(4) 中断识别方式
一般设有两种识别方式: 查询中断 矢量中断。
第七章 AT89S52单片机中断系统
4
(5) 中断的其它概念
中断请求、中断标志、中断允许、 中断入口地址(中断矢量)、中断 嵌套、中断保护、中断服务程序、 中断源清除、中断屏蔽、中断返回、 中断等待 。
当EA=1时,允许所有中断开放,总允许后,各中断的允许 或禁止由各中断源的中断允许控制位进行设置;
当EA=0时,屏蔽所有中断。
第七章 AT89S52单片机中断系统
14
计算机原理第七章8259
8259的初始化命令字ICW2
ICW2是中断类型码初始化命令字,A0=1,跟在ICW1后表示对 ICW2编程。
ICW2设置中断类型码; 中断类型码高5位来自ICW2高5位,低3位对应IR0~IR7。
17
8259的初始化命令字ICW3
ICW3是标志主片/从片的初始化命令字,只有当SNGL=0时,跟 在ICW2后面出现,对其设置应使A0=1;
连接系统总线方式
缓冲方式 在多片8259级连的大系统中,8259通过总线驱动器和数据总线相 连; 使用8259的SP#/EN#作为总线驱动器的使能信号;
非缓冲方式 8259的SP#/EN#作为输入; 单片使用时, SP#/EN#接高电平;多片时,主片SP#/EN#接高电 平,从片SP#/EN#接低电平;
操作命令字可在任何时候写入8259A ,且无顺序。
OCW1为中断屏蔽操作命令字; A0=1 表示设置OCW1; Mi=1 表示屏蔽IRi输入中断请求;
28
8259的操作命令字OCW2
ቤተ መጻሕፍቲ ባይዱ
OCW2用来设置优先级循环方式和中断结束方式; A0=0,且D4D3 = 00,表示对OCW2编程; R,优先级循环状态 R=1优先级自动循环;R=0优先级不循环; EOI 中断结束命令位,非自动结束方式时清ISn; SL 设定标志。 SL=1,由L2、L1、L0指明中断号或最低优先权; SL=0,则L2、L1、L0无效;
29
设置优先级方式
优先级自动循环方式 一般用在系统中多个中断源优先级相等的场合; 优先级是变化的,一个设备收到中断服务后,它的优先级自 动降为最低; 初始优先级为IR0-IR7;
优先级特殊循环方式 最低优先级由初始编程设置;
30
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
重庆工学院
重庆工学院
7.2 8086/8088的中断系统
8086/8088中断系统的特点:
矢量中断 能处理256个中断源(图) 外部
中断 外部 中断
内部 中断
重庆工学院
7.2.1 外部中断 一、可屏蔽中断INTR
IF标志可屏蔽中断 有2个INTA周期,第一个周期响应中断请求,
第2个周期读中断类型号
7.3.1 8259的内部结构和功能
重庆工学院
中断请求寄存器(IRR)
存放从外设传来的请求信号 有电平触发和边沿触发2种方式
重庆工学院
中断屏蔽寄存器(IMR)
存放CPU传来的屏蔽信号,0开放,1屏蔽
中断服务寄存器(ISR)
记忆正在处理的中断,为优先权判别器用
优先权判别器(PR)
IRR4 0 0 ISR4 0 0 4 7
IRR3 1 0 ISR3 1 ? 3 6
IRR2 0 0 ISR2 0 0 2 5
IRR1 0 0 ISR1 0 0 1 4
IRR0 0 0 ISR0 0 0 0 3
执行置IR4为最低 优先级指令
GND
7 6 5 4 3 2 1 0
GND
7 6 5 4 3 2 1 0
VCC
7 6 5 4 3 2 1 0
接地 (从片)
接地 (从片)
接+5V (主片)
重庆工学院 二、8259A的中断优先权管理方式及中断结束方式 1.中断优先权管理方式 完全嵌套方式(系统默认方式)
固定优先级,IR0最高,IR7最低
高电平有效
三、中断优先级编码电路
优先控制
中断请求触发器 重庆ቤተ መጻሕፍቲ ባይዱ学院 1-有请求
失效控制
中断屏蔽寄存器0 -开
重庆工学院
7.1.4 中断的嵌套
执行低级中断时被高级中断所中断称中断嵌 套 有中断嵌套时的中断服务程序编程注意事项
屏蔽同级及低级中断 中断服务过程中开放中断 恢复现场时关中断 恢复现场后开中断
D7~ D0 从控 B INTA INT
SP/EN CAS2-0
D7~ D0 从控 A INTA INT
SP/EN D7~ D0 主控制器
INT
INTR
脚 的 作 用
IR5 IR6 INTA CAS2-0
INTA
主从间接法
主片
非缓冲级联
地址总线
重庆工学院
控制总线
数据总线
CS
A0 DB
INTA
INT CAS0 CAS1 CAS2 IRQ0
中断类型号0(自动产生)
INT n中断(软中断)
执行INT n指令时引起的中断
断点中断
INT3 指令时产生中断
单步(陷阱)中断
TF标志置1时(将标志与0100H相或),每执行一条指令产生
一次中断,用于调试 中断类型号1(每执行完一条指令自动产生)
内部中断的特点:
除单步中断外均不可屏蔽 不执行中断响应周期 除软中断外都有固定的中断类型号
进行读/写控制,内部有4个初始化命令字寄存器
(ICWR),3个操作命令寄存器(OCWR)
级联缓冲比较器
为实现8259A的级联设计,最多9片同时工作。 级联时,第一个中断响应周期由主片通过
CAS0~CAS2向从片传识别码,第二个中断响应周期 从片释放中断类型号到数据总线。 提供SP/EN引脚。缓冲方式:控制系统总线缓冲器传 送方向;非缓冲方式:决定8259A是主片(SP=1)或 从片(SP=0)
中断请求触发器, 高有效
二、硬件查询确定优先级
重庆工学院
来自CPU的“中断响应”信号从A设备开始串行地往下传送, 当A设备有“· 中断请求”时,则“中断响应”信号在门A2处 被封锁,不再下传,使后面的设备得不到CPU的“中断请求” 信号。外设的中断优先级由其在链式排队电路中的先后次序来 决定。
读中断矢量 EN高有效
日 常 事 务 程 序
重庆工学院 中 断 服 务 程 序
能够向CPU发出中断请求的中断来源称为“中断源”。常见 的中断源为: (1)一般的输入/输出设备,如CRT终端、行式打印机等; (2)数据通道,如磁带、磁盘等; (3)实时时钟,如定时器芯片8253等的定时输出作为定时中 断请求信号; (4)故障信号,如电源掉电等; (5)软件中断,如为调试程序而设置的中断源。
重庆工学院
图7-2 具有中断屏蔽的接口电路
重庆工学院
二、中断响应的过程 1.关中断
CPU在响应中断后,发出中断响应信号INTA,同时内 部自动地关中断,以禁止接受其他的中断请求。
2.保护断点
把断点处的IP(指令指针)值和CS值(段基值)压人堆栈保
留 理完后能正确地返回主程序断点。
重庆工学院
重庆工学院
重庆工学院
7.3 可编程中断控制器8259A
功能
可管理8级优先权中断,通过级联最多可管理64级优先权
的中断 每一个中断源都可以单独屏蔽 能向CPU提供可编程的中断类型号 多种中断优先权管理方式
完全嵌套方式 自动循环方式 特殊循环方式 特殊屏蔽方式 查询方式
查询排序方式
CPU读8259的中断请求寄存器以了解当前是否有中
断请求,软件查询顺序就是优先级顺序. 8259的INT引脚可不与CPU相连.
重庆工学院
例:CPU正在进行IR5的中断服务,产生了IR3、IR7中断请求,。
1)若8259A工作于自动循环方式,写出当时8259A的IRR、ISR 的内容及中断源的中断优先级;当IR3中断服务完成后, 写出 8259A的ISR的内容及中断源的中断优先级。 2)若8259A工作于特殊循环方式,写出当时8259A的IRR、ISR的 内容及中断源的中断优先级;当在IR3的中断服务程序中发一条使 IR4为最低优先级的命令,写出 8259A的ISR的内容及中断源的中 断优先级。 解:1)
CS
A0
DB INTA
INT CAS0 CAS1 CAS2 IRQ0
CS CAS0 CAS1 CAS2 SP/EN
A0
DB
INTA
INT
8259A 从 控 B SP/EN IRQ7 ┅
8259A 从 控 A SP/EN IRQ7 ┅
8259A 主 控 IRQ7 ┅ IRQ0 7 6 5 4 3 2 1 0
5.执行中断服务程序 6.恢复现场
原寄存器及标志寄存器。
即把中断服务程序执行前压人堆栈的现场信息弹出恢复到
7.开中断与返回
开中断放在返回之前,目的是返回主程序后能继续响应 新的中断请求。
重庆工学院
软件查询法识别中断源
重庆工学院
7.1.3 中断优先级
当多个中断源同时向CPU申请中断时,CPU 必须决定先为那个中断源服务. 共有3种方法
IR3 中断响应前
IR3 中断响应后 IR3中断服务进行 IR3中断服务结束 相应的中断优先级 IR3中断服务结束
0 0 7
低
3
高
4
重庆工学院 2)
IR3 中断响应前 IR3 中断响应后 IR3中断服务进行
IRR7 1 1 ISR7 0 0 7 2
IRR6 0 0 ISR6 0 0 6 1
IRR5 0 0 ISR5 1 1 5 0
软件查询法确定中断优先级 硬件查询法确定优先级
中断优先级编码电路
一、软件查询确定中断优先级
重庆工学院
在查询方式中询问的次序即为优先级的次序,不需 要有判断优先级的硬件排队电路。其缺点是在中断 源较多的情况下由询问到转至相应的中断服务程序 的人口时间较长。
多个中断源共用 同一中断请求端 或门
低级中断可被高级中断所中断
不响应同级中断
自动循环方式
中断源的中断优先级随着中断结束而改变的中断优先权
管理方式.刚结束的中断源的中断优先级最低 两种方法可以使8259A工作于自动循环方式.
普通EOI命令 置位/复位EOI命令
特殊循环方式
类似于自动循环,不同的是在中断结束时发出特殊循环方
式操作命令指定某个中断源的中断优先级最低
有2种方法可使8259A处于特殊循环方式 在程序的任何地方执行置优先权命令 在中断结束时执行特殊的EOI命令
重庆工学院
特殊屏蔽方式
在某些场合,希望能动态地改变中断优先结构,程序
的某些部分要求禁止低级中断源的中断请求,但在高 级中断服务处理过程中希望允许低级中断. 设置8259A处于特殊屏蔽方式后,在CPU响应中断时, 自动清除中断服务寄存器.使低级中断请求得以服务. 使用8259A的操作命令字OCW3可以使8259工作在 特殊屏蔽方式.
设定中断源的优先级 多个中断源同时申请中断时,分析中断优先级
决定中断嵌套
通过控制逻辑向CPU发中断请求信号。
控制逻辑
根据优先级判别器发出的信号,向CPU发请求信号,
并接收CPU的中断响应信号。
重庆工学院
数据总线缓冲器
在读/写逻辑控制下实现CPU与8259A的信息交换
读/写控制逻辑
二、中断系统的功能 为满足上述中断要求,中断系统应具有的功能可归结为中 断处理和中断控制。 1.中断处理 包括发现中断请求,响应中断请求、中断处理与中断返回。 2.中断控制 主要是实现中断优先级的排队和中断嵌套 三、中断的主要要用途 在微机系统中,中断的主要用途是: (1)实现输入/输出操作; (2)电源掉电或其他情况的报警; (3)控制台或人工干预; (4)多处理机系统中各处理机之间的协调; (5)控制操作系统。 四、可屏蔽中断与不可屏蔽中断