可编程中断控制器A.ppt
《可编程中断控制器A.ppt》由会员分享,可在线阅读,更多相关《可编程中断控制器A.ppt(75页珍藏版)》请在三一办公上搜索。
1、1,7.5 可编程中断控制器 8259A,8259A的功能8259的引脚与功能结构8259A的中断工作过程8259A的工作方式8259A的编程8259A在IBMPC/XT中的应用举例,2,7.5 可编程中断控制器 8259A,一、功能Intel 8259A是可编程中断控制器,配合80X86CPU管理可屏蔽中断中断优先权的管理中断屏蔽的管理中断结束的管理,3,8259A,8259A具体功能:1片8259A可以管理8级中断,经级连最多可扩展至64级每一级中断都可单独被屏蔽或允许在中断响应周期,可提供中断向量号(配合I8086/88/286/386),或相应的调用指令(配合 I8080/85)。82
2、59A有多种工作方式,可通过初始化编程进行设置。,4,二、8259的引脚与功能结构,D7D0,INTA,INT,中断请求寄存器,中断屏蔽寄存器,数据总线缓冲器,IR0,IR7,读/写控制逻辑,级联缓冲器比较器,RD,WR,A0,CS,CAS0,CSA1,CAS2,SP/EN,优先权判别电路,中断服务寄存器,控制逻辑,5,8259的内部结构,1。中断请求寄存器IRR保存8条外界中断请求信号IR0IR7的请求状态Di位为1表示IRi引脚有中断请求;为0表示无请求2、中断服务寄存器ISR保存正在被8259A服务着的中断源(或已进入中断处理程序)。Di位为1表示IRi中断正在服务中;为0表示没有被服务
3、3、中断屏蔽寄存器IMR保存对中断请求信号IRi的屏蔽状态Di位为1表示IRi中断被屏蔽(禁止);为0表示允许8259占用两个端口地址A0=1、0(奇地址、偶地址)。,见P252 图8-13 8259A与系统总线的连接,6,5.控制逻辑 控制逻辑电路中,有一组初始化命令字Reg:ICW1ICW4 一组操作命令字Reg:OCW1OCW3。系统刚开始时,初始化命令字送8259A,以后过程中将保持不变,操作命令则用来在过程中控制中断操作。控制逻辑按编程设定方式管理8259A的全部工作。,4.优先权判别电路 用来识别和管理各中断请求信号的优先级别。,6.数据总线缓冲器 三态缓冲器。8259A与CPU的
4、数据总线接口,7,8,三、8259A的中断工作过程,00100000,00000000,ISR,IRR,D0,D7,D0,D7,0 0 0 0 0 0 0 0,IMR,优先权电路,INT,INTA,CPU,INTR,INTA,D2,1,1,1,0,9,8259A的工作过程,1.上电后,由CPU执行一段程序对8259初始化(通过输入初始化命令字实现)。完成初始化后,8259A处于 就绪状态。,CPU 进入响应中断的过程,继而执行中断子程序。,10,8259A的中断过程,CAS0CAS2,D0D7,SP/EN,IR0IR7,CPU响应周期,8259A工作波形,INT,第1个总线周期T1 T2 T3
5、 T4,ALE,CLK,第2个总线周期T1 T2 T3 T4,第1个-INTA前保持高电平,INTA,LOCK,中断向量,主片输出级联信号从片接收,11,四、8259A的工作方式,普通全嵌套方式,特殊全嵌套方式,自动循环方式,特殊循环方式,优先权固定方式,优先权循环方式,设置优先权方式,普通中断结束方式,特殊中断结束方式,自动中断结束方式,非自动中断结束方式,结束中断方式,中断屏蔽方式,普通屏蔽方式,特殊屏蔽方式,中断触发方式,边沿触发方式,电平触发方式,数据线连接方式,缓冲方式,非缓冲方式,与CPU配合方式,与8080/8085 CPU配合,与8086/8088 CPU配合,级连方式,级连,
6、不级连,12,1.设置优先权方式,普通全嵌套方式8259A的中断优先权顺序固定不变,从高到低依次为:IR0、IR1、IR2、IR7中断请求后,8259A对当前请求中断中优先权最高的中断 IRi 予以响应,将其向量号送上数据总线,对应ISR的 Di位置位,直到中断结束(ISR的 Di 位复位)在ISR的 Di 位置位期间,禁止再发生同级和低级优先权的中断,但允许高级优先权中断的嵌套特殊全嵌套方式允许同级中断嵌套(用于级连主片)优先权自动循环方式最高优先权自动转移到相邻的低优先级中断源(P332),如IR3被响应后,IR3最低,IR4最高。优先权特殊循环方式优先权由OCW2设置哪个IR最低,其他的
7、随之确定。,13,特殊全嵌套方式(适用于8259级联的情况)级联时,主片 须采用特殊的全嵌套方式。,普通全嵌套方式常用方式,又称全嵌套方式,适用于单片 8259的情况。,特点:和全嵌套方式基本相同,不同的是:在处理某以及中断时,可响应同级中断,从而实现对同 级中断请求的特殊嵌套.,14,主片编程为特殊全嵌套方式:当处理一级中断时,如果有同级的中断请求,也会给予响应。否则:当从片8259IR2有中断请求,若主片是普通全嵌套方式,则会屏蔽从片上的IR0、IR1(比IR2优先级高)中断请求。因为从片上的8个IRi变成了主片的同一级。而特殊全嵌套方式,对来自同一从片的较高优先级请求不会屏蔽。,在从片的
8、中断处理程序快结束时,应给 8259A发EOI(中断结束)命令,方法是:(a)向从片发EOI;(b)读从片的ISR内容:若为0,表示从片只有一个中断源申请中断,再向主片发一个EOI命令。若不为0,表示从片存在两个以上的中断源在申请中断,则不应发EOI给主片。,15,(3)优先权循环方式 一个系统的优先权比较复杂,所以不能总规定IR0高 IR7低。8259A设计了两种改变优先权的方法。,特殊循环方式适用于中断源的优先级需要任意改变的情况 通过OCW2命令字设置当前的最低优先级IR5,使得有:IR6 IR7 IR0 IR5。,16,2.结束中断处理方式 在中断请求得到响应时,ISR中相应位置1,中
9、断服务结束时,必须使这个位复位为0以标识中断处理结束。这个中断结束是指8259结束中断,而不是CPU结束执行中断服务程序。,非自动中断结束方式 普通中断结束方式(EOI)适用于全嵌套方式 当8259A工作在全嵌套方式时,则当前服务过的中断源就是中断优先权最高的源,可以用非特殊(普通)的EOI使它在ISR中的相应位清0。这个命令加在中断服务程序的末尾处。,用于系统中只有一片8259A,多个中断不会嵌套的情形。系统一进入中断处理,就将当前中断服务寄存器ISR的对应位清除。对8259A来说,好像已经结束了当前中断。在命令字ICW4中将AEOI(D1)位置“1”。,17,不管是普通、还是特殊的中断结束
10、方式,级联系统中的中断结束必须发送两次EOI:一次给从片,一次给主片。(向从片发EOI后,须检查从片中的所有申请中断的源是否全服务过。只有都服务过了,才能向主8259送另一个EOI命令)。,特殊结束中断方式非全嵌套方式下 当8259A工作在非全嵌套模式时,8259A可能不能确定刚服务的源的等级,需要用特殊的EOI命令,指出要清除哪个ISR位。,18,中断结束字,什么是8259A的中断结束字(EOI)?,8259A判断中断服务寄存器ISR的状态:若某位为1,表示该中断源正在得到服务;一般情况下,将不再响应同级或低级的中断(采用特殊屏蔽方式时,可响应低级别的中断)若某位为0,表示该中断服务已结束,
11、可响应低级级别中断。用指令向8259A送中断结束字,可以使ISR的某位清0,19,3.屏蔽中断源方式 通过IMR编程可允许或禁止中断,普通屏蔽方式 通过命令字OCW1设置IMR某位或某几位为1,则屏蔽其中断请求。置0则允许该级中断。,特殊屏蔽方式用于开放较低级中断请求 在8259中,当一个中断请求被响应时,ISR对应位置1。在该位未复位时,8259A会禁止所有优先级比它低的中断。,用特殊屏蔽方式可以做到:屏蔽当前中断级(IMR对应位为1);ISR中相应位复位,则较本级低的中断源申请可以得到响应。,20,屏蔽中断源方式 P331,普通屏蔽方式将 IMR的 Di 位置1,对应的中断 IRi 将被屏
12、蔽,该中断请求将不能从8259A送到CPU如果将 IMR 的 Di位置0,则允许对应的中断产生特殊屏蔽方式允许发生低级的中断嵌套,用于级连时的主片。将IMR的 Di 位置1,中断IRi被屏蔽;同时,ISR的Di位将置0,允许发生低级的中断。,21,4.与CPU的配合方式,与8086/8088 CPU配合中断响应时,INTA信号2个总线周期有效,8259A送相应的中断向量号(1个字节)到数据总线。,8086/88CPU,8259A,中断向量号,INTA,INTR,22,5.级连方式,不级连只用1片,如 PC/XT级连使用29片,如 PC/AT(2片),主片,从片,-INTA,INTR,IR0,I
13、R7,IR7,IR0,CAS0CAS2=010,INT,INT,D0D7,23,中断级连,8259A可以级连,1个主片最多可以级连8个从片级连时,主片的级连线CAS0CAS2连至每个从片的CAS0CAS2,输出被选中的从片编号,每个从片的中断请求信号 INT,连至主8259A的一个中断请求输入端IRi;主片的 INT 线连至CPU的中断请求输入端INTR在非缓冲方式下,引脚SP/EN,通过接地指定该片充当从片(-SP0);反之若接高电平则该片充当主片(-SP1)。,24,6.数据线连接方式,缓冲方式对8259A的数据线(输出中断向量)加缓冲器予以隔离和驱动SP/EN引脚作为输出端,输出允许信号
14、,用以关闭或开启缓冲器非缓冲方式SP/EN引脚作为输入端在8259A级连时,用它选择该芯片充当主片或从片,25,CAS0 IR0CAS1 IR1CAS2 IR2 IR3INTA IR4 IR5INT IR6 IR7SP/EN,CAS0INTA CAS1 CAS2INT IR0 IR1SP/EN IR7,CAS0 IR0CAS1 IR1CAS2 IR2 IR3INTA IR4 IR5INT IR6 IR7SP/EN,INTA,INTR,+5V,8259级联非缓冲工作示意图,8259A的级连,输出得到响应的从片编号,26,7.中断触发方式,边沿触发方式中断请求输入端出现上升沿为有效的中断请求信号电
15、平触发方式中断请求端出现高电平为有效的中断请求信号,27,8259A是可编程中断控制器,对其编程可以分为两部分:初始化编程:由CPU向8259A送24个字节的初始化命令字 ICW(Initialization Command Word)。工作方式编程:由CPU向8259A送三个字节的操作命令字 OCW(Operation Command Word)。8259A必须通过ICW初始化,则处于全嵌套工作方式,在8259A工作期间,OCW规定或设置其工作方式,动态地控制CPU处理中断的过程。,五、8259A的编程,28,初始化编程8259A开始工作前写入。用户必须对8259A进行初始化编程。通过写入初
16、始化命令字ICW对8259A进行初始化。共有ICW1-ICW4。工作方式编程在8259A工作期间写入,共有OCW1OCW3。可以随时向8259A写入工作命令字OCW,使之按用户设置的新的工作方式进行工作用户还可以通过写工作命令字OCW通知8259A,下面的操作要读取8259A中的状态信息,以便了解其工作情况,29,1.初始化命令字ICW,8259A在开始工作前必须写入初始化命令字初始化命令字ICW最多可以有4个:ICW1ICW4必须按照以下顺序依次写入其中 ICW1 和 ICW2 是必须的ICW3和ICW4是否需要,由具体的工作方式(在ICW1中的设置)决定。,30,ICW1 写入偶地址,A0
17、=0,表示可以任意,为1为0都可以(建议为0)1只能为1,作为标志,表示写的为ICW1D3 中断触发方式:LTIM1,电平触发方式LTIM0,边沿触发方式 D1 规定单片或级连方式:SNGL1,单片方式SNGL0,级连方式,且后边要写ICW3D0 是否写入ICW4IC41,要写入ICW4IC40,不写入ICW4,即ICW4规定的位全为0,特征:A0=0,ICW1中D4=1 ICW1启动了8259A中的初始化顺序,自动发生一系列事件,31,ICW1启动了8259A中的初始化顺序,自动发生一系列事件,对中断请求信号边沿检测电路复位;清IMR、ISR;指定IR0优先级最高;设定为普通屏蔽方式;设定为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程 中断 控制器

链接地址:https://www.31ppt.com/p-4980590.html