可编程中断控制器A.ppt
《可编程中断控制器A.ppt》由会员分享,可在线阅读,更多相关《可编程中断控制器A.ppt(75页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、可编程中断控制器A Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望7.5 可编程中断控制器 8259A一、功能一、功能nIntel 8259A是是可可编编程程中中断断控控制制器器,配配合合80X86CPU管理可屏蔽中断管理可屏蔽中断n中断优先权的管理中断优先权的管理n中断屏蔽的管理中断屏蔽的管理n中断结束的管理中断结束的管理28259An8259A8259A具体功能具体功能:n1片片8259A可以管理可以管理8级中断,经级连最多可扩展至级中断,经级连最多可扩展至6
2、4级级n每一级中断都可单独被屏蔽或允许每一级中断都可单独被屏蔽或允许n在在中中断断响响应应周周期期,可可提提供供中中断断向向量量号号(配配合合I8086/88/286/386),或或相应的调用指令(配合相应的调用指令(配合 I8080/85)。)。n8259A有多种工作方式,可通过初始化编程进行设置。有多种工作方式,可通过初始化编程进行设置。3二、8259的引脚与功能结构D7D0INTAINT中中断断请请求求寄寄存存器器中断屏蔽寄存器中断屏蔽寄存器数据数据总线总线缓冲器缓冲器IR0IR7读读/写写控制控制逻辑逻辑级联级联缓冲器缓冲器比较器比较器RDWRA0CSCAS0CSA1CAS2SP/EN
3、优优先先权权判判别别电电路路中中断断服服务务寄寄存存器器控制逻辑控制逻辑48259的内部结构1。中断请求寄存器。中断请求寄存器IRRn保存保存8条外界中断请求信号条外界中断请求信号IR0IR7的请求状态的请求状态nDi位为位为1表示表示IRi引脚有中断请求;为引脚有中断请求;为0表示无请求表示无请求2、中断服务寄存器、中断服务寄存器ISRn保保存存正正在在被被8259A8259A服服务务着着的的中中断断源源 (或或已已进进入入中中断断处处理理程程序)。序)。nDiDi位为位为1 1表示表示IRiIRi中断正在服务中;为中断正在服务中;为0 0表示没有被服务表示没有被服务3、中断屏蔽寄存器、中断
4、屏蔽寄存器IMRn保存对中断请求信号保存对中断请求信号IRi的屏蔽状态的屏蔽状态nDi位为位为1表示表示IRi中断被屏蔽(禁止);为中断被屏蔽(禁止);为0表示允许表示允许8259占用两个端口地址占用两个端口地址A0=1、0(奇地址、偶地址)(奇地址、偶地址)。见见P252 图图8-13 8259A与系统总线的连接与系统总线的连接55.控制逻辑控制逻辑 控制逻辑电路中,有一组初始化命令字Reg:ICW1ICW4 一组操作命令字Reg:OCW1OCW3。系统刚开始时,初始化命令字送8259A,以后过程中将保持不变,操作命令则用来在过程中控制中断操作。控制逻辑按编程设定方式管理控制逻辑按编程设定方
5、式管理8259A的全部工作。的全部工作。4.优先权判别电路优先权判别电路 用来识别和管理各中断请求信号的优先级别。6.数据总线缓冲器数据总线缓冲器 三态缓冲器。8259A与CPU的数据总线接口67.读读/写控制逻辑写控制逻辑 完成来自CPU的读写命令,及与片选信号与片选信号CS与与A0(0或或1)决定访问片内某个)决定访问片内某个Reg。通过OUT指令指令WR有效,把命令字写入ICW和OCW.通过IN指令指令RD有效,将IRR、ISR或IMR内容通过数据总线读入CPU。8.级联缓冲器级联缓冲器/比较器比较器(用于多片用于多片8259之间的连接之间的连接)主从结构中,作为主设的8259A,CAS
6、2CAS0是输出线,作为从设的8259A,CAS2CAS0是输入线,两者互连。SP/EN从片编程从片编程/缓冲器允许缓冲器允许信号线,是个双功能引脚。缓冲器方式缓冲器方式,输出信号,控制缓冲器传送方向。非缓冲器方式非缓冲器方式,它是输入信号,用于规定8259A是主(SP=1)还是从(SP=0)。在只有一片8259A的系统中,SP/EN接高电平。7三、8259A的中断工作过程 0010000000000000ISRIRRD0D7D0D70 0 0 0 0 0 0 0IMR优先权电路INTINTACPUINTRINTAD2111 082.当外设发出中断请求后,其对外部中断请求的处理过程如下:若有若
7、有IRi=1,则,则IRR中相应位中相应位置置1。若对应若对应IMR中的相应位为中的相应位为0,则,则8259A向向CPUINTR。若若IF=1,则,则CPU在执行完当前指令后,发第一在执行完当前指令后,发第一 个个 INTA8259A ISR中对应当前最高优先权的位为中对应当前最高优先权的位为1,且,且IRR中相应位中相应位清清0。CPU发第二个发第二个INTA8259A,8259ADB上送上送8位的向量号位的向量号N (即(即中断类型号,中断类型号,初始化初始化8259A时已设定好时已设定好)。CPU做:做:N4 从中断向量表中取出中断服务程序的入口地址。从中断向量表中取出中断服务程序的入
8、口地址。若若8259A为为AEOI(自动结束中断),(自动结束中断),则在第二个则在第二个INTA尾,尾,ISR中相应的位中相应的位复位复位。否则否则,至中断服务程序结束至中断服务程序结束,发出发出EOI命令使命令使ISR中相应位复位中相应位复位。8259A8259A的工作过程的工作过程1.上电后,由CPU执行一段程序对8259初始化(通过输入初始化通过输入初始化命令字实现命令字实现)。完成初始化后,8259A处于 就绪状态。CPU 进入进入响应中断的过程响应中断的过程,继而执行中断子程序。继而执行中断子程序。98259A的中断过程CAS0CAS2D0D7SP/ENIR0IR7CPU响应周期响
9、应周期8259A工作波形工作波形INT第第1个总线周期个总线周期T1 T2 T3 T4ALECLK 第第2个总线周期个总线周期T1 T2 T3 T4第第1个个-INTA前保持高电平前保持高电平 INTALOCK中断向量主片输出级联信号从片接收10四、8259A的工作方式普通全嵌套方式普通全嵌套方式特殊全嵌套方式特殊全嵌套方式自动循环方式自动循环方式特殊循环方式特殊循环方式优先权固定方式优先权固定方式优先权循环方式优先权循环方式设置优先权方式设置优先权方式普通中断结束方式普通中断结束方式特殊中断结束方式特殊中断结束方式自动中断结束方式自动中断结束方式非自动中断结束方式非自动中断结束方式结束中断方
10、式结束中断方式中断屏蔽方式中断屏蔽方式普通屏蔽方式普通屏蔽方式特殊屏蔽方式特殊屏蔽方式中断触发方式中断触发方式边沿触发方式边沿触发方式电平触发方式电平触发方式数据线连接方式数据线连接方式缓冲方式缓冲方式非缓冲方式非缓冲方式与与CPU配合方式配合方式与与8080/8085 CPU配合配合与与8086/8088 CPU配合配合级连方式级连方式级连级连不级连不级连111.设置优先权方式n普通全嵌套方式普通全嵌套方式n8259A的中断的中断优先权顺序固定不变优先权顺序固定不变,从高到低依次为,从高到低依次为:IR0、IR1、IR2、IR7n中中断断请请求求后后,8259A对对当当前前请请求求中中断断中
11、中优优先先权权最最高高的的中中断断 IRi 予予以以响响应应,将将其其向向量量号号送送上上数数据据总总线线,对对应应ISR的的 Di位位置置位位,直直到到中中断断结束(结束(ISR的的 Di 位复位)位复位)n在在ISR的的 Di 位位置置位位期期间间,禁禁止止再再发发生生同同级级和和低低级级优优先先权权的的中中断断,但但允许高级优先权中断的嵌套允许高级优先权中断的嵌套n特殊全嵌套方式特殊全嵌套方式允许同级中断嵌套(用于级连主片)允许同级中断嵌套(用于级连主片)n优优先先权权自自动动循循环环方方式式最最高高优优先先权权自自动动转转移移到到相相邻邻的的低低优优先先级级中断源中断源(P332),如
12、如IR3被响应后,被响应后,IR3最低,最低,IR4最高。最高。n优优先先权权特特殊殊循循环环方方式式优优先先权权由由OCW2设设置置哪哪个个IR最最低低,其其他他的随之确定。的随之确定。12 特殊全嵌套方式特殊全嵌套方式(适用于8259级联级联的情况的情况)级联时,主片 须采用特殊的全嵌套方式。CPUCPU主主主主8259A8259AINTINT从从从从8259A8259AIRIR0 0IRIR1 1IRIR7 7IRIR0 0IRIR1 1IRIR7 7特殊全嵌套特殊全嵌套特殊全嵌套特殊全嵌套普通全嵌套普通全嵌套普通全嵌套普通全嵌套 普通全嵌套方式普通全嵌套方式常用方式,又称全嵌套方式,适
13、用于单片单片 8259的情况。特特特特点点点点:和和和和全全全全嵌嵌嵌嵌套套套套方方方方式式式式基基基基本本本本相相相相同同同同,不不不不同同同同的的的的是是是是:在在在在处处处处理理理理某某某某以以以以及及及及中中中中断断断断时时时时,可可可可响响响响应应应应同同同同级级级级中中中中断断断断,从而实现对同从而实现对同从而实现对同从而实现对同 级中断请求的特殊嵌套级中断请求的特殊嵌套级中断请求的特殊嵌套级中断请求的特殊嵌套.13 主片编程为特殊全嵌套方式:当处理一级中断时,如果有同级的中断请求,也会给予响应当处理一级中断时,如果有同级的中断请求,也会给予响应。否则:当从片8259IR2有中断请
14、求,若主片是普通全嵌套方式,则会屏蔽从片上的IR0、IR1(比IR2优先级高)中断请求。因为从片上的因为从片上的8个个IRi变成了主片的同一级。变成了主片的同一级。而特殊全嵌套方式,对来自同一从片的较高优先级请求不会屏蔽。EOI从从从从ISR是是否全为否全为0 EOI主主NYIRET 在从片的中断处理程序快结束时,应给 8259A发EOI(中断结束)命令,方法是:(a)向从片发EOI;(b)读从片的ISR内容:若为若为0,表示从片只有一个中断源申请中断,再向主片发一个EOI命令。若不为若不为0,表示从片存在两个以上的中断源在申请中断,则不应发EOI给主片。14(3)优先权循环方式优先权循环方式
15、 一个系统的优先权比较复杂,所以一个系统的优先权比较复杂,所以不能总规定不能总规定IR0高高 IR7低低。8259A设计了两种改变优先权的方法。设计了两种改变优先权的方法。特殊循环方式特殊循环方式适用于中断源的优先级需要任意改变的情况适用于中断源的优先级需要任意改变的情况 通过OCW2命令字设置当前的最低优先级最低优先级IR5,使得有:IR6 IR7 IR0 IR5。自动循环方式自动循环方式 适用于设备的优先权相等情况适用于设备的优先权相等情况 当一个设备受到中断服务后,它的优先级自动降到最低,其相邻的中断请求变成最高的。例如例如:IR0 IR1 IR2 IR 3 IR4 IR5 IR6 IR
16、7 初始 高高 低低 若IR4有中断请求,处理IR4后,IR5成为最高优先级,优先级次序为:IR5 IR6 IR7 IR0 IR1 IR2 IR3 IR4 IR4左循环至最低优先级。左循环至最低优先级。152.2.结束中断处理方式结束中断处理方式 在中断请求得到响应时,ISR中相应位置1,中断服务结束时,必须使这个位复位为0以标识中断处理结束。这个中断结束是指8259结束中断,而不是CPU结束执行中断服务程序。非自动中断结束方式非自动中断结束方式 普通中断结束方式(普通中断结束方式(EOIEOI)适用于全嵌套方式适用于全嵌套方式 当8259A工作在全嵌套方式时,则当前服务过的中断源就是中断优先
17、权最高的源,可以用非特殊(普通)的EOI使它在ISR中的相应位清0。这个命令加在中断服务程序的末尾处。这个命令加在中断服务程序的末尾处。自动中断结束方式自动中断结束方式(AEOI)只能用于不要求中断嵌套的情况只能用于不要求中断嵌套的情况 在第二个INTA的后沿,8259A自动把ISR的对应位清0。用用用用于于于于系系系系统统统统中中中中只只只只有有有有一一一一片片片片8259A8259A,多多多多个个个个中中中中断断断断不不不不会会会会嵌嵌嵌嵌套套套套的的的的情情情情形形形形。系系系系统统统统一一一一进进进进入入入入中中中中断断断断处处处处理理理理,就就就就将将将将当当当当前前前前中中中中断断
18、断断服服服服务务务务寄寄寄寄存存存存器器器器ISRISR的的的的对对对对应位清除。对应位清除。对应位清除。对应位清除。对8259A8259A来说,好像已经结束了当前中断。来说,好像已经结束了当前中断。来说,好像已经结束了当前中断。来说,好像已经结束了当前中断。在命令字在命令字在命令字在命令字ICW4ICW4中将中将中将中将AEOIAEOI(D1D1)位置)位置)位置)位置“1”“1”。16 不管是普通、还是特殊的中断结束方式,级联系统中的中断结不管是普通、还是特殊的中断结束方式,级联系统中的中断结束必须发送两次束必须发送两次EOI:一次给从片,一次给主片。一次给从片,一次给主片。(向从片发(向
19、从片发EOI后,须检查从片中的所有申请中断的源是否全服务过。后,须检查从片中的所有申请中断的源是否全服务过。只有都服务过了,才能向主只有都服务过了,才能向主8259送另一个送另一个EOI命令)。命令)。特殊结束中断方式特殊结束中断方式非全嵌套方式下非全嵌套方式下 当8259A工作在非全嵌套模式时,8259A可能不能确定刚服务的源的等级,需要用特殊的EOI命令,指出要清除哪个ISR位。17中断结束字n什么是什么是8259A的的中断结束字中断结束字(EOI)?)?n8259A判断中断服务寄存器判断中断服务寄存器ISR的状态:的状态:n若若某某位位为为1,表表示示该该中中断断源源正正在在得得到到服服
20、务务;一一般般情情况况下下,将将不不再再响响应应同同级级或或低低级级的的中中断断(采采用用特特殊殊屏屏蔽蔽方方式式时时,可响应低级别的中断)可响应低级别的中断)n若若某某位位为为0,表表示示该该中中断断服服务务已已结结束束,可可响响应应低低级级级级别别中断。中断。n用指令向用指令向8259A送中断结束字,可以使送中断结束字,可以使ISR的某位清的某位清0183.3.屏蔽中断源方式屏蔽中断源方式 通过通过IMRIMR编程可允许或禁止中断编程可允许或禁止中断 普通屏蔽方式普通屏蔽方式 通过命令字OCW1设置IMR某位或某几位为1,则屏蔽其中断请求。置0则允许该级中断。特殊屏蔽方式特殊屏蔽方式用于开
21、放较低级中断请求用于开放较低级中断请求 在8259中,当一个中断请求被响应时,ISR对应位置1。在该位未复位时,8259A会禁止所有优先级比它低的中断。用特殊屏蔽方式可以做到:屏蔽当前中断级(IMR对应位为1);ISR中相应位复位,则较本级低的中断源申请可以得到响应。191.屏蔽中断源方式 P331n普通屏蔽方式普通屏蔽方式n将将 IMR的的 Di 位位置置1,对对应应的的中中断断 IRi 将将被被屏屏蔽蔽,该中断请求将不能从该中断请求将不能从8259A送到送到CPUn如果将如果将 IMR 的的 Di位置位置0,则允许,则允许对应的对应的中断产生中断产生n特特殊殊屏屏蔽蔽方方式式允允许许发发生
22、生低低级级的的中中断断嵌嵌套套,用于级连时的主片。用于级连时的主片。n将将IMR的的 Di 位位置置1,中中断断IRi被被屏屏蔽蔽;同同时时,ISR的的Di位将置位将置0,允许发生低级的中断。允许发生低级的中断。204.与CPU的配合方式n与与8086/8088 CPU配配合合中中断断响响应应时时,INTA信信号号2个个总总线线周周期期有有效效,8259A送送相相应应的的中中断断向向量号量号(1个字节)到数据总线。个字节)到数据总线。8086/88CPU8259A中断向量号中断向量号INTAINTR211.5.级连方式n不级连不级连只用只用1片,如片,如 PC/XTn级连级连使用使用29片,如
23、片,如 PC/AT(2片)片)主片从片-INTAINTRIR0IR7IR7IR0CAS0CAS2=010INTINTD0D722中断级连n8259A可以可以级连级连,1个个主片主片最多可以级连最多可以级连8个个从片从片n级级连连时时,主主片片的的级级连连线线CAS0CAS2连连至至每每个个从从片的片的CAS0CAS2,输出被选中的从片编号输出被选中的从片编号,n每每个个从从片片的的中中断断请请求求信信号号 INT,连连至至主主8259A的的一一个个中中断断请请求求输输入入端端IRi;主主片片的的 INT 线线连连至至CPU的中断请求输入端的中断请求输入端INTRn在在非非缓缓冲冲方方式式下下,
24、引引脚脚SP/EN,通通过过接接地地指指定定该该片片充充当当从从片片(-SP0);反反之之若若接接高高电电平平则则该该片片充当主片(充当主片(-SP1)。)。236.数据线连接方式n缓冲方式缓冲方式n对对8259A的的数数据据线线(输输出出中中断断向向量量)加加缓缓冲冲器器予予以以隔离和驱动隔离和驱动nSP/EN引引脚脚作作为为输输出出端端,输输出出允允许许信信号号,用用以以关关闭闭或开启缓冲器或开启缓冲器n非缓冲方式非缓冲方式nSP/EN引脚作为引脚作为输入端输入端n在在8259A级连时,用它选择该芯片充当主片或从片级连时,用它选择该芯片充当主片或从片 247.中断触发方式n边沿触发方式边沿
25、触发方式n中中断断请请求求输输入入端端出出现现上上升升沿沿为为有有效的中断请求信号效的中断请求信号n电平触发方式电平触发方式n中中断断请请求求端端出出现现高高电电平平为为有有效效的的中断请求信号中断请求信号26 8259A是可编程中断控制器,对其编程可以分为两部分:初始化编程初始化编程:由CPU向8259A送24个字节的初始化命令字 ICW(Initialization Command Word)。工作方式编程:工作方式编程:由CPU向8259A送三个字节的操作命令字 OCW(Operation Command Word)。8259A必须必须通过ICW初始化,则处于全嵌套工作方式,在8259A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程 中断 控制器
限制150内