第八章 中断和可编程中断控制器8259A

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统
例:某中断类型号为68H,其中断服务程序存在 A000H:2050H开始的存储单元,处理过程如图所示:
INT 68H MOV AX,0 ① 向量地址 =68H4 =1A0H ② 0:19C 类型 67H 中断向量 1A0 50 20 1A2 00 A0 1A4 类型 69H 中断向量 ⑤ 中断处理程序 A000:2050 STI PUSH DS A000 CS ③ 2050 IP


山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统

可屏蔽中断从 8259A 的 8 个输入端引入,一般情况 下,优先级从高到低排列的次序为IR0~IR7。
山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统

主程序运行中,IR2、IR4同时提出中断请求。IR2优先级 高,先为IR2服务。在IR2的服务程序中,要用STI指令开 中断,允许更高级中断进入。
专用 中断向量 (5 个)
2 号向量(非屏蔽)
00008H
1 号向量(单步)
00004H
0 号向量(除法错)
00000H
CS IP
山东工商学院 高群
16 位
微型计算机原理与接口技术
第七章 微型计算机中断系统
中断类型号是系统分配给每个中断源的代号。 其中00H~04H为专用中断,05H~3FH为系统保 留中断,用户一般是不能对它们定义的(这里面有一 些为固定的用途,如INT 21H即为MS-DOS的系统 调用),40H~FFH为用户定义的中断。 中断向量指针:中断向量最低字节存放的地址称 为中断向量指针(即这个中断向量存放的地址)。 中断向量指针=中断类型号×4
山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统

不可屏蔽中断:由NMI引脚引入,它不受中断允许 标志位IF的影响,是用来处理紧急情况的,如掉电 处理。这种中断一旦发生,系统会立即响应;优先 级最高。 可屏蔽中断:由INTR引脚引入,它受中断允许标志 的影响,也就是说,只有当IF=1时,可屏蔽中断 才能进入,反之则不允许进入,可屏蔽中断可有多 个,一般是通过优先级排队,从多个中断源中选出 优先级最高的进行处理。
如类型号为41H,则中断向量的存放位置为41H×4=00104H, 设中断服务子程序的入口地址为4030H:2010H,则在 0000H:0104H~0000H:0107H中就应顺序放入10H、20H、30H、 40H。当系统响应41H号中断时,会自动去查找中断向量表,找 出对应的中断向量装入CS、IP,即转入该中断服务子程序。

山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统
(2)软件中断(内部中断):它与硬件电路无关,用
INT n 指令产生或由某些操作引起。如:溢出中断由
INT 4 (或 INTO)指令引起,断点中断由INT 3 指令 引起,单步中断由标志位 TF 引起,除数为 0 由计算结 果引起。
山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统
二、中断向量与中断向量表
中断向量:把各个中断服务子程序的入口地址都称为一 个中断向量;即,中断向量是中断服务子程序的(入口) 地址,占4个字节, 段基址占高2个字节,偏移地址占 低2个字节。 中断向量表:存放中断向量的连续的存储区称为中断向 量表。 P256, 图8.2 将中断向量按一定的顺序排列成一个表,就是所谓 的中断向量表,当CPU响应中断源发出中断请求时,即 可查找该表,找出其中断向量,就可转入相应的中断服 务子程序。
山东工商学院 高群
微型计算机原理与接口技术
003FFH 用户可用 中断向量 (224 个) 003FCH
第七章 微型计算机中断系统
255 号向号向量
系统保留 中断向量 (27 个) 0007CH
∶ 5 号向量
00014H 00010H 0000CH
4 号向量(溢出) 3 号向量(断点)
(5)断点中断


山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统
3 中断向量表 一、中断响应和返回
CPU响应中断时,首先要把当前CS、IP寄存器的 值(断点)以及标志寄存器Flags的值推入堆栈保护。
然后找到中断服务程序的入口地址,转去执行相 应的中断服务程序。 中断服务程序结束时,执行中断返回指令IRET 返回正常程序继续执行(原入栈的Flags、IP、CS出栈)。 如何寻找中断服务程序的入口地址,是中断处理 过程中的一个重要环节。
山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统
2.中断源和中断分类
(4)软件中断指令INT n

中断类型号 n=0~255 。它可以安排在程序的任何位 置上。 程序运行到断点时便产生中断,像单步中断一样, 查看各寄存器和有关存储单元的内容。 断点可设在程序任何地方并可以设多个断点,设置 的方法是插入一条INT 3指令。利用断点中断可以调 试一段程序,比单步中断的调试速度快得多。
山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统
图8.1 IBM PC机中8086的中断分类和中断源
山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统
1)外部中断



不可屏蔽中断NMI,处理较紧急的情况,如存储器或I/O 校验错、掉电、协处理器异常中断请求等,不受中断标 志IF的影响。 可屏蔽中断由 8259A 的 IR0~IR7 引脚输入, INT 引脚输出 ,连到 CPU 的 INTR 上。只有当 CPU 的 Flags 的 IF=1 时, 才允许响应此类中断请求。 8259A 的输入引脚 IR0~IR7 可引入 8 级中断:时钟、键盘 、串行通信口 COM1 和 COM2 、硬盘、软盘、打印机。 经芯片内部判别后,将优先级高的中断请求信号送到INT 引脚。
山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统
2.中断源和中断分类 (3)溢出中断


溢出标志=1,则可由溢出中断指令INTO产生中断类 型号为4的溢出中断。若OF=0,不会产生中断。 带符号数加、减指令后应安排一条 INTO指令,一旦 溢出就能及时向 CPU 提出中断请求, CPU 响应中断 后可进行相应的处理。
中断是一种信号,它告诉CPU已发生了某种需要 特别注意的事件,需要去处理或为其服务。
山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统
中断方式的原理示意图:


中断功能:
使CPU和外设在部分时间内并行工作,大大提高CPU的利用 率; 在实时控制系统中,现场数据可及时接收处理,避免丢失; 故障的处理,如电源掉电、奇偶校验错、运算中溢出错等; 利用中断指令,直接调用大量系统已编写好的中断服务程序 ,实现对硬件的控制。
山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统
中断类型号:8086/8088为每个中断源分配了一 个中断类型号(中断号),其取值范围为0~255 (0~0FFH),即可处理256种中断。其中包括专用 中断,系统占用的中断以及开放给用户使用的中断。 8086系统允许256类中断,每个中断的中断向量 为4个字节,因此8086系统中断向量表的大小为1K, 所在存储器的地址为:00000H~003FFH。CPU只要 知道了中断类型号,就可以查找相对应的中断向量了。 每个中断服务子程序的入口地址与中断向量表内 的内容(中断向量)是一一对应,每个中断向量的序 号就是中断类型号。
微型计算机原理与接口技术
第七章 微型计算机中断系统
第八章
中断和可编程中断控制器8259A
8.1 8.2 8.3 中断 8259A的工作原理 8259A的应用举例
山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统
8.1 中断
8.1.1 中断的概念和分类 1. 中断的定义和功能 中断是指CPU在正常运行程序时,由于内部/外部 事件,引起CPU中断正在执行的程序,而转到相应的 中断服务程序中去执行,服务完毕后,再返回继续执 行被暂时中断的程序。即:CPU在执行当前程序的过 程中,插入了另外一段程序的运行。
山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统

如何实现中断嵌套?
机器进入中断服务程序后,硬件会自动关中断。 只有用STI指令将中断打开后,才允许高级中断进 入,实现中断嵌套。 中断服程序结束前,必须用EOI命令结束该级中断 ,并用 IRET 指令返回到中断前的断点处去继续执 行原程序。

山东工商学院 高群
IRET

微型计算机原理与接口技术
第七章 微型计算机中断系统
4.中断优先级和中断嵌套
1)中断优先级



按中断源的重要性和实时性,排出响应中断的次序,这 种次序称为中断优先级。 在8086中,中断优先级从高到低的次序为:
除法错、INT n、INTO NMI INTR 单步中断 ;最高级,同一行的 ;有同等优先级 ;次高级 ;较低级(由8259A引入) ;最低级



山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统
2. 中断源和中断分类 定义:引起中断的原因或能发出中断请求的来源。 中断的分类: 从产生中断的方法来分,8086可管理的256种中断 可分为两类:硬件(外部)中断和软件(内部)中断。 (1)硬件中断:即通过外部的硬件产生的中断,如 打印机、键盘等,有时也称为外部中断。硬件中断又 可分为两类:可屏蔽中断和不可屏蔽中断。
山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统
2. 8086的中断响应与处理
1)中断查询

CPU在执行完每条指令后,会顺序检查是否有软中断、 NMI、INTR和单步中断,如有,则进入中断响应周期。 根据不同的中断源形成不同的中断类型码 n ,再在中断 向量表中,根据 n 找到各自的中断服务程序的入口地址 ,转入相应的中断处理程序。 例如n=2,则形成中断类型码2,再在中断向量表中找到 n4=24=8 开始的连续 4个字节单元,从中取出 CS: IP ,转去执行可屏蔽中断。
山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统
山东工商学院 高群
IR2服务时, IR1提出请求, IR2被挂起,为IR1服务。IR1结 束前用EOI指令清除IR1的服务寄存器 ,结束IR1中断, 并 用IRET指令返回IR2服务程序, 继续运行。 运行至EOI命令时结束IR2的服务,响应IR4的中断。
山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统
2.中断源和中断分类
2)内部中断 (1)除法错中断 执行除法运算指令时,如除数为0或商超过了结果寄 存器能容纳的范围,则产生除法错中断(INT 0)。 (2)单步中断 单步标志TF置1,指令执行完后,产生单步中断。结 果是将 CPU 的内部寄存器和有关存储器的内容显示 出来,便于跟踪程序的执行过程,实现动态排错。 (INT 1)

微型计算机原理与接口技术
第七章 微型计算机中断系统

IR4结束后,由 IRET指令返回 IR2服务程序,最后从 IR2 返回主程序。
山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统
8.1.2 中断的响应与处理过程
1.中断响应过程



如图,可屏蔽中断的响应和处理流 程。 每条指令执行完, CPU 都要查 NMI 和INTR脚上是否有中断请求,若无 ,继续取下一条指令执行。如有则 响应中断,硬件自动使 IF=0并保护 断点(即将下条要执行指令的 CS 和IP推入堆栈); 然后寻找中断服务程序的入口地址 ,找到后就转入相应的中断服务程 序。 恢复现场,开中断,返回断点。
― ― ―
山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统
2)中断嵌套


CPU响应中断时,一般先响应优先级高的,后响 应优先级低的中断请求。 如CPU正在执行中断服务程序时,有优先级较高 的中断源提出请求,则将正在处理的中断暂时挂 起,先为高级中断服务,服务完后再返回较低级 中断,称为中断嵌套。
相关文档
最新文档