《第7章28259ppt课件.ppt》由会员分享,可在线阅读,更多相关《第7章28259ppt课件.ppt(35页珍藏版)》请在三一办公上搜索。
1、7.5 可编程中断控制器 8259A,Intel 8259A是可编程中断控制器,配合80X86 CPU 管理可屏蔽中断。一、功能一片8259A可以管理8级中断,多片通过级连最多可扩展至64级每一级中断都可由程序单独被屏蔽或允许在中断响应周期,可提供中断向量号给CPU8259A有多种工作方式,可通过编程进行设置。中断优先权的管理中断屏蔽的管理中断结束的管理,D7D0,INTA,INT,中断请求寄存器(IRR),中断屏蔽寄存器(IMR),数据总线缓冲器,IR0,IR7,读/写控制电路,级联缓冲器比较器,RD,WR,A0,CS,CAS0,CSA1,CAS2,SP/EN,优先权判别器,中断服务寄存器(
2、ISR),控制电路,二、8259的引脚与内部功能结构,8259A内部结构,1.中断请求寄存器IRR 保存8条外界中断请求信号IR0IR7的请求状态 Di位为1表示IRi引脚有中断请求;为0表示无请求2.中断屏蔽寄存器IMR 保存对中断请求信号IRi的屏蔽状态 Di位为1表示IRi中断被屏蔽(禁止);为0表示允许3.优先权判别电路 用来识别和管理各中断请求信号的优先级别。4.中断服务寄存器ISR 保存正在处理中的中断请求 Di位为1表示IRi中断正在服务中;为0表示没有被服务5.控制电路 8259A的内部控制器,发出INT,接受INTA响应信号。还对片内的工作进行控制,使它按编程的规定进行工作。
3、,6.数据总线缓冲器 三态缓冲器。8259A与CPU的数据总线接口7.读/写控制逻辑完成来自CPU的读写命令,及与片选信号CS与A0(0或1)决定访问片内某个Reg。通过OUT指令WR有效,把命令字写入ICW和OCW.通过IN指令RD有效,将IRR、ISR或IMR内容通过数据总线读入CPU。8.级联缓冲器/比较器(用于多片8259之间的连接)CAS2CAS0主从结构中,作为主片的8259A,是输出线,作为从片的8259A,CAS2CAS0是输入线,两者互连。SP/EN从片编程/允许缓冲信号线,是个双功能引脚。缓冲方式,输出信号EN,控制缓冲器传送方向。非缓冲器方式,它是输入信号,用于规定825
4、9A是主(SP=1)还是从(SP=0)。在只有一片8259A的系统中,SP/EN接高电平。,8259A引脚,三、8259A的工作过程,1.上电后,由CPU执行一段程序对8259初始化(通过输入初始化命令字实现)。完成初始化后,8259A处于就绪状态。2.当外设发出中断请求后,其对外部中断请求的处理过程如下:若有一条或多条IRi=1,则IRR中相应位置1。若对应IMR中的相应位为0。可经过判优后,8259A向CPUINTR。若IF=1,则CPU在执行完当前指令后,CPU发第一 个 INTA8259A,使 ISR中对应当前最高优先权的位置 1,且IRR中相应位清0。CPU发第二个INTA8259A
5、,8259ADB上送目前ISR中当前最高优先权的位对应的中断源的8位的中断类型号(类型号在初始化8259A时已设定好)。若8259A为AEOI(自动结束中断),则在第二个INTA尾,ISR中相应的当前最高优先权的位复位。否则(非自动结束中断),至中断服务程序结束前,发出EOI命令使ISR中相应位复位。然后,CPU 进入响应中断的过程,继而执行中断子程序。,以上过程为单片,非级联时,四、8259A的中断管理方式(工作方式),普通全嵌套方式,特殊全嵌套方式,自动循环方式,特殊循环方式,优先权固定方式,优先权循环方式,优先权设置方式,普通EOI结束方式,特殊EOI结束方式,自动AEOI结束方式,非自
6、动中断结束方式,中断结束方式,中断屏蔽方式,普通屏蔽方式,特殊屏蔽方式,中断触发方式,边沿触发方式,电平触发方式,数据线连接方式,缓冲方式,非缓冲方式,与CPU配合方式,与8080/8085 CPU配合,与8086/8088 CPU配合,级连方式,级连,不级连,中断优先权的管理中断屏蔽的管理中断结束的管理,主片:INTA CAS0CAS2输出线 IR0 SP/EN接高电平,利用 INTR IR1 CAS0 CAS2寻址从.控制器。从片:IR7 CAS0CAS2输入线+5V IR0 SP/EN接地,从CAS0 IR1CAS2接收主片发的从片.识别码。过程:IR7(1)主片从CAS0CAS2送出该
7、次中断响应所属的从控制器编码。(2)各从控制器将接收到的编码与自身的编码比较,相同说明本控制器的请求被响应,将中断类型码送DB,若不相同的从控制器不动作。,INTACAS0 CAS1 CAS2 从1INTR SP/EN,INTA CAS0 CAS1 CAS2主 IR4 IR6SP/EN,INTACAS0 CAS1 CAS2 从2INTR SP/EN,多片8259级联,非缓冲方式SP/EN为输入端SP=1 8259为主片SP=0 8259为从片,8259缓冲方式连接,中断管理方式,中断优先级管理,中断结束管理,完全嵌套:,自动循环:,特殊全嵌套:,中断屏蔽,固定级别排序IR0IR7高低,普通EO
8、I方式 自动EOI方式,普通EOI方式 自动EOI方式,IROIR7轮流最高优先级,处理完一次,下一级为最高优先级级,特殊循环,派生,软件指定初始最低优先级,其余同上,特殊EOI,用于级联的主片,能响应同级中断请求。从片用上述两种方式。,特殊EOI(设置成非EOI,AEOI=0),普通屏蔽:特殊屏蔽:,IMR对应位置 1,屏蔽本级中断,以允许其他高级中断,中断优先级,普通EOI方式:特殊EOI方式:自动EOI方式:,发EOI命令,8259收到即自动清零ISR中最高级对应位(原设置为 1)。,CPU向8259发特殊EOI命令,指定清除中断级别,第二个INTA即清除 ISR 对应位,服务中可被各种
9、级别中断打断,引起重复嵌套,深度无法控制,此方式不常用。,中断结束方式,五、8259A的编程结构,1、8259A的编程结构 由8259A编程结构中可以看到,中断管理方式是通过8259A初始化时写入初始化命令字和操作命令字来设置的。初始化命令字写入寄存器ICW1ICW4,由初始化程序设置,初始化命令字一经设定,在系统工作过程中就不再改变。操作命令字写入寄存器OCW1OCW3,由应用程序设定,用来对中断处理过程进行控制,在系统运行过程中,操作命令字可以重新设置。,2、初始化命令字ICW,见下页,8259A芯片的初始化流程,IR0IR1,IR6IR7,INT,INT,INT,INT,IR0IR1,I
10、R0IR1,IR0IR1,多片8259级联,IC1,IC2,IC3,IC4,1 0 0 0 0 0 1 1,ICW3,ICW3,ICW3,ICW3,0 0 0 0 0 0 0 1,0 0 0 0 0 0 0 0,0 0 0 0 0 0 1 1,第一个INTA主片向从片发 ID编码,从片经过比较自己的ID确认,则在第二个INTA时将类型号发至数据总线。,3、操作命令字OCW,在写入ICW1ICW4后,8259A就绪,可接收中断请求信号,若不再写入OCW,则处于全嵌套中断工作方式。且IMR,ISR清0。若需改变上述8259A的中断控制方式,或为了屏蔽某些中断,为了结束中断,以及读出8259A的一些
11、状态信息(如IRR、ISR、IMR的内容),则必须写入操作命令字OCW。8259A工作期间,可以随时接受操作命令字OCWOCW共有3个:OCW1OCW3写入时没有顺序要求,需要哪个OCW就写入那个OCW,但端口地址有严格规定。通过在服务程序中向8259送操作命令字确定中断屏蔽、中断优先级次序和发中断结束命令。,查询字:写的OCW3的D2位P为1,则其后的读指令(IN)读到的是查询字。读的地址为偶地址。,中断位I位为1,有外设请求中断,W2W0的编码 当前中断请求的最高优先级,CPU内部禁止中断时(IF=0),或不想用INT 引脚向CPU 申请中断时,可通过查询字获得外设中断请求情况。,读取状态
12、字:,CPU可随时读出IRR、ISR、IMR和查询字A0为0(偶地址)时由OCW3中P=0,RR和RIS位编码决定读取的是IRR或ISR。由OCW3中位P=1决定下面读取的是查询字。A0为1(奇地址)时,读取的是IMR,总结:8259A的端口的读写功能,见教材P280 表7.2,OUTIN,命令字和状态字的区别方法,利用读写信号区别写入的控制寄存器和读出的状态寄存器利用地址信号区别不同I/O地址的寄存器由控制字中的标志位说明是哪个寄存器由芯片内顺序控制逻辑按一定顺序识别不同的寄存器由前面的控制字(引导字)决定后续操作的寄存器,接口电路中常用的方法,例:在IBM PC/XT 系统中,ROM BI
13、OS 中的8259A初始化程序为:(地址20H,21H),MOV AL,13H;单片,上升沿触发OUT 20H,ALMOV AL,08H;中断类型号基值为08HOUT 21H,ALMOV AL,09H;缓冲,非自动结束OUT 21H,AL,24,8087协处理器中断请求RAM奇偶错I/O通道检查错,NMI屏蔽寄存器屏蔽控制,定时器(主板上)键盘(主板上),NMI,INTR,01234567,优先级,8088CPU,8259A,I/O通道,IBM PC/XT机中的外部中断管理,未用异步通信卡(辅)异步通信卡(主)硬盘软盘并行打印机,在8086系统中,CPU和8259A的所有数据传送都在数据总线的
14、低8位上进行。地址总线的A1与8259A的A0相连,以保证数传都在总线的低8位中进行。,六、8259A的中断级联,中断请求源多于8个:将多片8259A级联使用图7-14给出了两级级联的例子。第一级为8259A主片,第二级为8259A从片,主片可接18片8259A从片,这样最多可管理64级中断源。级联系统中主片和从片要分别初始化。通常主片设为特殊全嵌套工作方式,从片可为全嵌套方式。全嵌套方式下,级联系统中断的响应过程。中断的结束方法。,见教材P295,见教材P296,图7-14 8259A级联方式连接图,27,8259A在IBM PC/AT上的应用,CAS02,CAS02,+5V,主8259A,
15、80286 CPU,INTRD0D7,SP/ENINTD0D7,日时钟键盘串行口2串行口1并行口2软盘并行口1A0-INTR1 CS,IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 A0 CS,从8259A,D0D7INTSP/EN,实时钟改向0AH中断保留保留保留协处理器硬盘保留A0-INTR2 CS,IRQ8 IRQ9 IRQ10 IRQ11 IRQ12 IRQ13 IRQ14 IRQ15 A0 CS,系统总线B25B24B23B22B21,系统总线B4D3D4D5D6D7,INTA,RD,WR,INTA,IOR,IOW,INTA,RD,WR,-S0-S2,
16、82288,利用上升沿做为中断请求IRQ的有效信号IRQ0IRQ7中断向量号依次为08H0FHIRQ8IRQ15中断向量号依次为70H77H(PC/AT机)采用普通全嵌套优先权方式,中断优先权从高到低顺序为IRQ0IRQ2、IRQ8IRQ15(级连从片)、IRQ3IRQ7,且不能改变采用普通中断结束EOI方式,需在中断服务程序最后发送普通EOI命令一般采用普通屏蔽方式,通过写IMR相应位为0允许中断,应注意不要破坏原屏蔽状态。,例 7-21:某系统中两片8259A采用中断级联方式组成中断系统,从片的INT端连8259A主片的IR3端。若当前8259A主片从IR1、IR5端引入两个中断请求,中断
17、类型号为31H、35H。中断服务程序的段基址为1000H,偏移地址分别为2000H及3000H。8259A从片由IR4、IR5端引入两个中断请求,中断类型号为44H和45H,中断服务程序段基址为2000H,偏移地址为3600H及4500H,图716给出了级联连接图,图717为此例中断入口地址表内容。,8259A级联使用例子,图7-16 8259A级联使用实例,图7-17 中断入口地址表内容,在主程序中设置,;LTIM=0,SNGL=0,SFMN=1,OCW1=11010101,在中断服务子程序中发中断结束命令,在主程序中初始化,;OCW2的EOI=1,在中断服务子程序中发中断结束命令,在主程序中初始化,7.5 保护模式下中断(略),第7章教学要求1.掌握中断的基本概念。(中断、中断优先权)。2.掌握8088/8086的中断类型、中断响应过程、中断向量表。3.重点掌握:CPU响应可屏蔽中断的条件 CPU响应可屏蔽中断的过程4.掌握8259的功能。理解8259A的内部结构、中断过程、命令字。理解8259A的普通全嵌套优先权、普通中断结束、边沿触发方式5、了解中断编程的基本原理(主程序,中断服务子程序的编写)。,