中断技术及8259A的使用.ppt

上传人:牧羊曲112 文档编号:5909776 上传时间:2023-09-02 格式:PPT 页数:44 大小:281.50KB
返回 下载 相关 举报
中断技术及8259A的使用.ppt_第1页
第1页 / 共44页
中断技术及8259A的使用.ppt_第2页
第2页 / 共44页
中断技术及8259A的使用.ppt_第3页
第3页 / 共44页
中断技术及8259A的使用.ppt_第4页
第4页 / 共44页
中断技术及8259A的使用.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《中断技术及8259A的使用.ppt》由会员分享,可在线阅读,更多相关《中断技术及8259A的使用.ppt(44页珍藏版)》请在三一办公上搜索。

1、第 8 章,中断技术,教学要求,理解:1)中断、中断源、中断向量、中断过程;2)8086中断系统结构、中断类型码、中断过程;外部中断的响应条件掌握:1)8086中断方式及中断入口地址形成方式;2)8086中断处理过程;4)中断向量的设置过程;3)中断的使用,8.1 中断的概述,中断是微机原理中的一种非常重要的技术,也是CPU和外部设备进行数据交换的一种很有效的方法,中断的概念,所谓中断(Interrupt),是指计算机在运行过程中,当有某些紧急事件或外设请求发生时,迫使CPU暂时中断现行程序的运行而去处理紧急情况或外设请求,即去执行其对应的中断服务程序;等到事件处理完毕,又返回原程序的中断点处

2、,继续执行被中断的程序。这个过程和机制称为中断。,中断有什么用途呢,中断有什么用途呢,CPU与I/O设备并行工作实现实时处理多道程序或多重任务的运行故障处理,中断源及其来源分类,引起中断的原因,或能发出中断申请的来源,称为中断源。通常中断源有以下几种:一般的输入、输出设备。如键盘、纸带读入机、行打印机等。数据通道中断源。如磁盘、磁带等。实时时钟 故障源 为调试程序而设置的中断源,中断的分类,就中断源及其性质讲,可分为内部中断和外部中断 外部中断:一般是指I/O设备或其它硬件电路所引起的中断。它的特点是通过硬件向CPU发出中断请求信号,经常称外部中断为硬件中断。外部中断又分为非屏蔽中断(NMI)

3、和可屏蔽中断(INTR)内部中断:主要指CPU内部的中断,是通过指令设置的中断。所以内部中断也称为软件中断。使用软件中断,其功能类似于子程序调用。只是这些子程序大部分是系统提供的,所以这类子程序的调用相当于高级语言中的库函数的调用。,8.2 中断的一般过程,中断请求中断响应中断服务中断返回,中断请求,中断请求信号是由中断源向CPU发出的。中断源可以是外部事件,也可以是CPU的内部事件。外部事件的中断请求是外部设备向CPU中断请求引脚发出的电平或边沿信号。内部事件的中断请求可以是CPU执行一条中断指令使CPU进入中断处理过程,也可以是CPU执行程序的结果使CPU进入中断处理过程。,中断响应,若为

4、非屏蔽中断申请,则CPU执行完正在执行的那一条指令后,做好保护工作即可去响应;若为可屏蔽中断申请,CPU只有得到允许才能去响应。这就是说CPU能否在接到中断申请后立即响应要视情况而定。对可屏蔽的中断申请,CPU要响应,必须满足以下三个条件:无总线请求;CPU允许中断;CPU执行完现行指令。CPU响应中断要自动完成三项任务:关闭中断;CS,IP以及PSW的内容推入堆栈(保护断点);取得中断服务程序入口地址,进入中断服务。,中断服务,中断服务包括以下六个过程:保护现场 开中断 中断服务程序 关中断 恢复现场 中断返回 大家考虑在终端返回时,是否需要开中断?,中断返回,在中断服务程序最后安排一条中断

5、返回指令,使断点送回程序计数器IP,继续执行被中断的程序。,8.3 8086中断系统,NMI,INTR,硬件中断,可屏蔽中断请求,INT n 指令,非屏蔽中断请求,中 断 逻 辑,INT3指令,INTO指令,单步中断,除数为0中 断,中断控制系统(8259A),8086的中断分类,软件中断,中断向量及中断向量表,所谓中断向量,实际上就是中断处理子程序的入口地址,每个中断类型对应一个中断向量。8086的中断系统是以位于内存0段的03FFH区域的中断向量表为基础的,中断向量表中最多可以容纳256个中断向量。中断向量并不是任意存放的。一个中断向量占4个存储单元,其中,前2个单元存放中断处理子程序入口

6、地址的偏移量(IP),低位在前,高位在后,后2个单元存放中断处理子程序入口地址的段地址(CS),同样也是低位在前、高位在后。按照中断类型的序号,对应的中断向量在内存的0段0单元开始有规则地进行排列。,8086中断处理的优先级,8086CPU的中断优先权排列从高到低为:除法出错中断,溢出中断,INT n,断点中断 NMI INTR 单步中断,8086中断类型号的获取方法,有两种方法获取类型号。第一种是用指令直接获取。对于类型号04的中断,由于8086CPU已规定了产生中断的原因,所以可以直接获取类型号。而INT N类型的中断可以由指令直接得到中断类型号。第二种是由外部引入的INTR中断,当CPU

7、响应中断时必须由硬件提供中断类型号。在可屏蔽中断响应周期进行到第二个周期时,类型号放入数据总线,CPU从数据总线上获取类型号,8086响应中断时的自动过程-可屏蔽中断,首先将状态寄存器的内容压入堆栈中。置TF=0,暂停单步中断,并置IF=0,用以屏蔽以后的可屏蔽中断。断点地址CS:IP压入堆栈。识别中断源,首先获取中断类型号。根据中断类型号,获取中断向量,得到中断服务子程序的入口地址送入CS:IP,中断的使用及相应处理,在计算机系统中只有自己使用的中断为以后程序使用的中断系统中已经在使用的中断 以上三种情况主程序的处理过程4 计算机系统已经使用的中断 主程序以及中断服务子程序要配合,PC机的中

8、断安排,PC机的中断安排(续),8.4 中断控制器8259A,Intel 8259A的功能 8259A的结构及引脚 8259A的中断管理方式,Intel 8259A的功能,Intel 8259A是与8080/8085系列以及8088/8086系列兼容的可编程的中断控制器。它的主要功能为:具有8级优先权控制,通过级连可扩展至64级优先权控制。每一级中断都可以屏蔽或允许。在中断响应周期,8259A可提供相应的中断类型号,从而能迅速地转至中断服务程序。8259A有几种工作方式,可以通过编程来进行选择。,8259A内部结构图,中断请求寄存器(IRR)该寄存器用来存放由外部输入的中断请求信号IR7IR0

9、,当某个输入端为高电平时,该寄存器的相应位置“1”。中断服务寄存器(ISR)该寄存器记录正在处理中的中断请求,当任何一级中断被响应,CPU正在执行它的中断服务程序时,ISR寄存器中的相应位置“1”,一直保持到该级中断处理过程结束为止。多重中断情况下,ISR寄存器中可有多位被同时置“1”。优先权判别器(PR)当输入端IR7IR0中有多个中断请求信号同时产生时,由PR判定哪个中断请求具有最高优先权,并在脉冲期间把它置入中断服务寄存器ISR的相应位。,8259A内部结构图的说明,8259A内部结构图的说明(续),中断屏蔽寄存器(IMR)该寄存器中存放有关被屏蔽的中断线上的信息。当某位置“1”时,表示

10、禁止这一级中断请求进入系统,通过IMR寄存器可实现对各级中断的有选择的屏蔽。级联缓冲/比较器 一片8259A只能接收8级中断,当超过8级时,可用多片8259A级联使用,构成主从关系。对于主8259A,其级联信号CAS2CAS0是输出信号,而对于从8259A,级联信号CAS2CAS0是输入信号。此时,主8259A的 端为“1”,从8259A的 端为“0”,且从8259A的INT输出接到主8259的中断输入端IR上,因而可把中断扩展到64级。,8259A的管脚分配,8259A的引脚信号,28脚双列直插式封装,D7D0:数据线。用于与CPU之间传送命令、状态、中断类型码。,:读出信号。通知8259把

11、某个内部寄存器的值送数据线D7D0。:写入信号。通知8259把数据线D7D0上的值写入内部某个寄存器。,IR7IR0:8级中断请求输入。,8259A的引脚信号,A0:选择内部寄存器的端口地址。在标准AT机中,使用两片8259构成主从式中断系统,主8259的端口地址:20H,21H从8259的端口地址:A0H,A1HINT:把IR7IR0上的最高优先级请求传送到CPU的INTR引脚:接收CPU的中断响应信号。CPU发出的中断响应信号为两个负脉冲。第一个负脉冲作为中断应答信号,第二个负脉冲到来时,8259从数据线D7D0上发出中断类型码。,8259A的引脚信号,:片选输入端。CAS2CAS0:主8

12、259与从8259间的级联线。主8259的CAS2CAS0为输出,从8259的CAS2CAS0为输入。:双功能引脚8259数据线与系统数据总线间连接方式采用非缓冲方式(即直接相连,无数据总线驱动器)时,作为输入。主8259接高电平,从8259接低电平。8259数据线与系统数据总线间连接方式采用缓冲方式(即有数据总线驱动器)时,作为输出,用于启动数据总线驱动器。,8259A的引脚信号,8259A的编程结构,8259的编程结构由三组共10个寄存器构成,每个寄存器均为8位。,8259A的编程,初始化编程8259A开始工作前,必须进行初始化编程给8259A写入初始化命令字ICW中断操作编程在8259A

13、工作期间可以写入操作命令字OCW将选定的操作传送给8259A,使之按新的要求工作还可以读取8259A的信息,以便了解他的工作状态,ICW1 ICW1用来确定8259的链接方式和触发类型D1 为1,表示本系统只用1片8259,否则是多片级联方式D3 为0,本8259中断请求输入为上升沿有效,否则为高电平有效(是对于IRx的)D4 CPU类型,若CPU为8086,则该位为1,初始化控制字ICW,ICW2ICW2用来规定本8259各个中断请求端的中断类型号,只有高5位有效,低三位可以为任意值,不影响。中断类型号的确定即为该高5为与请求端的编号组合。,初始化控制字ICW(续),ICW3 只在级联情况下

14、使用,如果系统中只有1片8259,则不使用ICW3,ICW3用来说明级联的详细情况。主8259与从8259的ICW3不同。主8259的ICW3表示那个引脚有级联,而从8259的ICW3则用来说明,级联到主8259的那个引脚上。主8259从8259,初始化控制字ICW(续),ICW4 8086CPU必须设置ICW4 D1=1 自动结束中断,否则为非自动结束其余一般不关心,为0,初始化控制字ICW(续),8259A芯片的初始化流程,初始化命令字的功能:,(1)按8259A的选用情况规定是单一式还是主从式;(2)可设置八个中断请求设备的类型号;(3)若为主从式则规定主8259A中每个IR端是否带从8

15、259A,从8259A则要规定从主8259A的哪个IR端引入;(4)完成中断管理方式的设定。,OCW1 OCW1用来设定8259的中断屏蔽,对应位为1,则该IRx的请求被屏蔽。为0则允许,操作控制字OCW,OCW2 OCW2用来设定8259的中断优先级和发出中断结束命令,在PC机中,主要用来发中断结束命令,操作控制字OCW(续),OCW3 OCW3用来控制8259的中断屏蔽和读取8259内部的寄存器,一般不使用。,操作控制字OCW(续),主片8259A-初始化,ICW1A EQU 20H;主片端口地址ICW2A EQU ICW1A+1ICW3A EQU ICW2AICW4A EQU ICW2A

16、.MOV AL,11H;ICW1,边沿触发,多片,需设置ICW4OUT ICW1A,ALNOP;I/O端口延时MOV AL,08H;ICW2,中断类型码OUT ICW2A,ALNOPMOV AL,04H;ICW3,IR2接从片OUT ICW3A,ALNOPMOV AL,01H;ICW4,非缓冲,全嵌套优先级方式,非自动结束OUT ICW4A,ALNOP,BIOS中主片的初始化,PC机中对8259的初始化,;-从片8259A-MOV AL,11H;ICW1,边沿触发,多片,需ICW4OUT ICW1B,ALNOPMOV AL,70H;ICW2,中断类型码OUT ICW2B,ALNOPMOV AL,02H;ICW3,INT接主片的IR2OUT ICW3B,ALNOPMOV AL,01H;ICW4,非缓冲,全嵌套,非自动结束OUT ICW4B,ALNOP,从片8259A-初始化,PC机中对8259的初始化,结 束,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号