微机原理07

上传人:今*** 文档编号:107830658 上传时间:2019-10-21 格式:PPT 页数:53 大小:1.04MB
返回 下载 相关 举报
微机原理07_第1页
第1页 / 共53页
微机原理07_第2页
第2页 / 共53页
微机原理07_第3页
第3页 / 共53页
微机原理07_第4页
第4页 / 共53页
微机原理07_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《微机原理07》由会员分享,可在线阅读,更多相关《微机原理07(53页珍藏版)》请在金锄头文库上搜索。

1、1,第八章 中断系统,8.1 中断概述 8.2 可编程中断控制器8259A,2,8.1 计算机中断系统 8.2 8086的中断方式 8.3 中断控制器 intel 8259A,主要内容,3,8.1 计算机中断系统,(1)并行操作,提高工作效率 CPU与外设同时工作,多个外设同时工作。 (2)实现实时处理 在控制系统中,有些参量要求计算机能快速处理,用中断方式很容易实现。 (3)故障处理 出现故障,提出中断申请,要求计算机及时响应。,一、中断的作用,5,8.1 计算机中断系统,二、中断源 引起中断的原因或能发出中断申请的来源。 (1)一般的输入输出设备 键盘,打印机,鼠标等。 (2)数据通道中断

2、源 软盘,硬盘等。 (3)实时时钟 用外部时钟定时发出中断信号,由CPU进行处理。,6,8.1 计算机中断系统,中断源(续),(4)故障源 (a)外设故障 电源掉电,运行超限等。 (b)计算机故障 内存出错,输入输出出错等。 (5)测试程序时设置的中断源 硬件断点:硬件调试器 软件断点:INT 21H 调试程序应支持单步运行和断点运行,NMI,INTR,中断逻辑,软件中断指令,溢出中断,除法错,单步中断,非屏蔽中断请求,中断控 制器 8259A PIC,8086/8088CPU内部逻辑,断点中断,可 屏 蔽 中 断 请 求,n,4,3,0,1,2,8086/8088中断源类型:,8,8.1 计

3、算机中断系统,三、 中断系统功能 (1)实现中断及返回 (a)检测中断(每个指令最后一个时钟周期) 中断源发出中断申请,CPU中断开放情况下可检测到中断源。 (b)响应中断时要保护断点和现场 断点自动保护,现场要在中断服务程序中保护。,注意:在编制中断服务程序时一定要保护现场。,9,(c)中断服务完成时要撤消中断申请信号 (d)中断处理完成后要恢复现场和断点,返回原程序继续执行。,三、中断系统功能(续),8.1 计算机中断系统,10,三、中断系统功能(续),(2)实现中断控制 8086CPU内的标志寄存器Flag中有一个中断标志位IF,由它控制CPU是否查询INTR引脚。 STI IF=1 允

4、许中断 CLI IF=0 禁止中断,11,三、中断系统功能(续),(3)能实现优先权排队 (a)多个中断源申请中断时的优先权。 多个中断源申请中断时,CPU根据预先设定的优先权,先为高级中断服务,然后再为低优先级中断服务。 (b)高级中断能中断低级中断实现中断嵌套。 CPU在处理中断时,如果有高级中断申请,则CPU停止现行中断处理,转去响应高级中断,然后再去处理原先的中断。如果有低级中断申请则不予响应。,12,三、中断系统功能(续),(4)寻找中断源 有中断申请则查找中断源,决定中断服务程序入口地址。 (a)预先约定 一有中断申请则转到固定地址执行中断服务程序。 电路简单,但一般只能为一个中断

5、源服务。 (b)查询 在中断服务程序中查询中断源。 (c)应答方式(矢量中断) 响应中断时CPU发中断响应信号,中断源收到此信号发出中断类型码,CPU根据中断类型码决定中断服务程序入口地址。,13,三、中断系统功能(续),(5)中断优先权及中断源的查找 (a)软件查询 CPU响应中断后用软件查询哪个外设申请中断。 查询程序: IN AL,20H LEA BX,BRNTAB CIRCLE: SHR AL,1 (转下页),14,三、中断系统功能(续),(接上页) JC GETAB ADD BX,2 OR AL,AL JNZ CIRCLE JMP ERROR GETAB: JMP CS:BX BRN

6、TAB DW SUB1,SUB2 DW SUB3, SUB4 DW SUB5,SUB6 DW SUB7,SUB8,查询方法优点: 1、查询次序即是优先权次序。 2、省硬件,不需要硬件排队电路。 缺点: 转至服务程序入口时间长。,15,三、中断系统功能(续),(b)链式优先权排队电路(硬件实现),(c)中断优先权编码电路(如图所示),16,三、中断系统功能(续),(c)中断优先权编码电路(如图所示),17,三、中断系统功能(续),说明: (1)中断请求寄存器由IR0IR7可分别引入8个外设的中断请求。 (2)优先权编码器把当前最高优先级的输入编码输出。 (3)中断服务寄存器记录正在服务的中断申请

7、。 (4)中断申请的最高级与正在服务的最高级比较,只有申请级高于服务级才能提出中断申请(INT)。,18,8.2 8086的中断方式,一、8086的中断 8086CPU中断有两类: 软件中断由指令执行引起的中断。 硬件中断由外部请求引起的中断。,19,一、8086的中断,(1)外部中断 (a)可屏蔽中断 中断申请输入端为INTR,高电平有效。CPU在每一条指令最后一个T状态检测该引脚。在CPU内部该引脚受IF控制。CPU响应中断后INTA有效两次,从外设端口读取中断矢量,确定中断号。 (b)非屏蔽中断 输入引脚NMI上升沿有效。非屏蔽中断不受CPU控制,有申请一般都要响应。CPU响应非屏蔽中断

8、转向2号中断(INT 2)。非屏蔽中断一般用于非常事件。PC/XT机中用于系统板上RAM奇偶错,I/O通道奇偶错和8087异常中断。,20,一、8086的中断,(2)内部中断 (a) DIV和IDIV指令 若除数为0或商超过寄存器所能表达的范围,则产生类型为0的内部中断。 (b) INT 指令 执行INT n指令引起的中断。 (c) INTO 指令 若OF=1则指令INTO引起类型为4的内部中断。 (d)单步中断 若TF=1则CPU每执行完一条指令产生类型为1的内部中断。,21,8086CPU在内存的前1KB(地址00000H003FFH)建立一个中断向量表,存放256个中断服务程序的入口地址

9、,每个地址占4个字节。前两个字节为中断服务程序偏移地址IP,后两个字节为段地址CS。中断号乘以4得到中断服务程序入口地址的地址。,二、中断向量表,22,三、中断响应过程,CPU得到中断类型码后,执行如下操作: (1)将类型码乘4,作为中断向量表的指针。 (2)把标志寄存器入栈。 (3)复制TF,清IF和TF,屏蔽新的INTR申请和单步中断。 (4)保护断点(CS和IP进栈)。 (5)从中断向量表中取中断服务程序入口地址,分别送CS和IP。 (6)按新地址执行中断服务程序。,23,8.2 中断控制器INTEL8259A,一、intel 8259A结构与功能,(1)功能简介 Intel8259是与

10、8080/8085系列以及8086/8088系列兼容的可编程的中断控制器。 (1)具有8级优先权控制,通过级联可扩展至64级优先权控制。 (2)每一级中断都可以屏蔽和允许。 (3)中断响应时提供中断向量。 (4)中断申请可以由电平触发,也可由边沿触发。 (5)有多种工作方式。,24,一、INTEL8259A结构与功能,(2)内部结构,25,一、INTEL8259A结构与功能,说明: (1) 8259A有8个外部请求输入端IR0IR7,由中断请求寄存器IRR保存申请状态。 (2)中断服务寄存器ISR保存CPU正在处理的中断请求。 (3)中断屏蔽寄存器IMR对中断申请进行控制。 (4)中断优先级分

11、析器决定中断申请的优先级。 (5)控制逻辑中含有两个寄存器组: 初始化命令寄存器组ICW1ICW4 操作命令寄存器组OCW1OCW3。 (6)级联逻辑控制8259A主从工作方式。,26,一、INTEL8259A结构与功能,(3)8259A引脚及功能 (a)引脚图 (b)引脚功能 D7D0双向,三态数据线,可直接与系统总线相连。,27,一、INTEL8259A结构与功能,IR7IR0:8条外中断请求输入线,可为高电平有效或上升沿有效。 RD:读信号,输入,低电平有效,若有效则把数据从8259A读到CPU。 WR:写信号,输入,若有效则把数据写到8259A。 CS:片选信号,低电平有效,给8259

12、A分配地址。 A0:用于选择259A内部不同寄存器。 INT:中断申请线,高电平有效, 8259A向CPU中断申请。 INTA:输入,低电平有效,有效时从8259A读取中断矢量。 CAS2CAS0:级联信号线,当8259A为主片时为输出线,从片时为输入线。收到第一个INTA时,主片通知有中断申请的从片在第二个INTA时送出中断矢量。 SP/EN:在非缓冲工作方式时,输入,决定主片还是从片;在缓冲工作方式时,输出,由它打开总线缓冲器。,8259A的引脚与总线 双列直插式芯片,28个引脚,29,二、中断响应过程(CPU与8259A的操作过程),(a)申请中断 外设 对应IR0 IR7为“1”,判优

13、后使INT为“1” CPU的INTR输入“1”,申请中断。 (b)响应中断的条件 CLI 使 IF = 0,禁止中断。 STI 使 IF = 1,允许中断。 (c)响应中断 CPU先做三个工作: (1) 将FR进栈 (2) 使出IF = 0,TF = 0 (3) 断点的CS、IP进栈,30,二、中断响应过程(CPU与8259A的操作过程),(d) INTA脉冲周期 CPU响应中断经INTA引脚发两个INTA脉冲 第一个INTA脉冲,通知8259A,CPU响应中断,将ISR置1。 第二个INTA脉冲,8259A送中断类型号,CPU将n4找到中断服务程序入口地址,执行中断程序。 (e)中断服务程序

14、 (1)开中断(STI) (2)保存现场(PUSH) (3)处理部分 (4)中断结束 EOI (5)恢复现场 (POP) (6)中断返回 IRET,31,三、8259A的工作方式,(a)设置优先级的方式 (1) 完全嵌套(固定优先级方式) (2)特殊完全嵌套 (3)优先级自动循环方式 (4) 优先级指定(特殊)循环方式 (b)中断结束的方式 (1)一般EOI命令 (2)特殊EOI命令(SEOI) (3)自动EOI命令 (AEOI) (c)中断屏蔽方式 (1)一般屏蔽 (2)特殊屏蔽 (d)中断触发:电平触发,沿触发,中断查询 (e) 8259A的级联,32,四、8259A与计算机的连接,(1)

15、单片工作方式的接口电路,33,四、8259A与计算机的连接,说明:,(1)数据线与控制信号对应连接。 (2)由74LS30(8输入的与非门)和74LS138(38译码器)对地址线进行译码决定端口地址,地址为? (3)8086使用低8位数据线与8259A传递信息。8086的A1接到8259的A0线上,使用偶地址。 (4)CAS2、CAS1、CAS0未接,SP/EN接正电源。,34,四、8259A与计算机的连接,(2)由两片8259A级联方式管理15级向量中断。,35,四、8259A与计算机的连接,说明: (1)从片8259A的中断申请端INT接主片的IR2 (2)主片的SP/EN接+5V,从片的

16、SP/EN接地,主从片的CAS2、CAS1、CAS0对应连接。 (3)主片的端口地址INTA1CS为020H 03FH, 从片的端口地址INTA2CS为0A0 0BFH. (4) 8086系统主从芯片都用偶地址传递信息。,五、8259A的编程,36,4个初始化命令寄存器 ICW1、ICW2 ICW3、ICW4 3个操作命令寄存器 OCW1(IMR) OCW2、OCW3 当前中断服务寄存器 ISR 中断申请寄存器 IRR,8259A内部有9个 可读写的寄存器,8259A的编程结构,37,五、8259A的编程,(1)初始化命令字 (a) ICW1,0,1,S,X,LT,1,X,X,X,D0,D1,D2,D3,D4,D5,D6,D7,A0,1:单片(不要ICW3) 0:级连(要ICW3),1:电平触发 0:沿触发,特征位,地址线的状态,8086 CPU,D7,D6,D5,D2任意,D0为1,写入ICW1后,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号