




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第第8章章 微计算机中断系统微计算机中断系统8.1 中断的基本概念中断的基本概念一、什么是中断?一、什么是中断? 在在CPU正常运行程序时,由于内部或外部某个正常运行程序时,由于内部或外部某个非预料事件非预料事件的的发生,使发生,使CPU暂停正在运行的程序,而转去执行暂停正在运行的程序,而转去执行处理引起中断事处理引起中断事件的程序件的程序,然后再返回被中断了的程序,继续执行。这个过程就,然后再返回被中断了的程序,继续执行。这个过程就是中断。是中断。非预料事件非预料事件是指事件发生的是指事件发生的时间无法预知,即何时产生时间无法预知,即何时产生中断请求信号是不确定的,中断请求信号是不确定的,
2、是随机的。但事件的性质及是随机的。但事件的性质及处理方法则是已知的,确定处理方法则是已知的,确定的;即中断服务程序是的;即中断服务程序是事先事先编写好的编写好的,只是何时执行未,只是何时执行未知知。2二、中断源二、中断源 引起中断的事件,称为中断源。产生中断的事件分为内引起中断的事件,称为中断源。产生中断的事件分为内部事件和外部事件,因此,就分为内部中断和外部中断。部事件和外部事件,因此,就分为内部中断和外部中断。8086的内部中断也称为软中断,是由中断指令和的内部中断也称为软中断,是由中断指令和CPU某些严某些严重运算错误引起的中断;而外部中断是外部设备或部件通过重运算错误引起的中断;而外部
3、中断是外部设备或部件通过INTR或或NMI向向CPU发的中断请求信号所引起的中断事件。发的中断请求信号所引起的中断事件。三、中断响应、中断屏蔽、中断向量、中断服务程序三、中断响应、中断屏蔽、中断向量、中断服务程序 由于外部的中断请求是随机的。由于外部的中断请求是随机的。CPU在每个指令周期的在每个指令周期的最后一个最后一个T周期检测周期检测INTR信号是否为低电平。一旦检测到为信号是否为低电平。一旦检测到为低电平,且中断屏蔽位低电平,且中断屏蔽位IF=1,CPU就响应中断,向外发中断就响应中断,向外发中断响应信号响应信号INTA=0,并读出由中断源提供的中断向量,找到与,并读出由中断源提供的中
4、断向量,找到与该中断源相关服务程序的地址,然后执行该程序,这段为中该中断源相关服务程序的地址,然后执行该程序,这段为中断服务的程序称为中断服务程序。如果断服务的程序称为中断服务程序。如果IF=0,即使,即使CPU检测检测到到INTR为低电平,为低电平,CPU也不会响应中断,称为中断屏蔽。也不会响应中断,称为中断屏蔽。3四、中断返回四、中断返回 CPU执行完中断服务程序,返回原来的程序,称为中断执行完中断服务程序,返回原来的程序,称为中断返回。为了使中断能返回原来的点(称为断点),在执行中返回。为了使中断能返回原来的点(称为断点),在执行中断服务程序之前就必须将断点的地址压栈保护,中断返回就断服
5、务程序之前就必须将断点的地址压栈保护,中断返回就将断点的地址从堆栈弹出,恢复断点。将断点的地址从堆栈弹出,恢复断点。五、中断优先权与中断嵌套五、中断优先权与中断嵌套 由于外部能发中断请求的中断源可能有几个,因此要给由于外部能发中断请求的中断源可能有几个,因此要给每个中断源指定一个优先权,称为中断优先权。每个中断源指定一个优先权,称为中断优先权。 当多个中断当多个中断源同时发出中断请求时,源同时发出中断请求时,CPU按照中断优先权的高低顺序,按照中断优先权的高低顺序,依次响应,或者依次响应,或者CPU正在执行某个中断服务程序,正在执行某个中断服务程序,CPU又检又检测到更高级的中断源发的中断请求
6、,测到更高级的中断源发的中断请求,CPU中断正在执行的服中断正在执行的服务程序,转去执行更高级中断源的服务程序,称为中断嵌套。务程序,转去执行更高级中断源的服务程序,称为中断嵌套。六、中断系统六、中断系统 为了完成上面二、三、四和五的功能,微型计算机必须为了完成上面二、三、四和五的功能,微型计算机必须有一个与之配套的系统,称为中断系统。不同微型计算机,有一个与之配套的系统,称为中断系统。不同微型计算机,中断系统也不相同,差别很大。中断系统也不相同,差别很大。4一、中断的分类一、中断的分类8086机的中断系统可处理机的中断系统可处理256种不同的中断。如图为种不同的中断。如图为PC中中断源。按中
7、断产生的方法分可以分为:外部中断和内部中断。断源。按中断产生的方法分可以分为:外部中断和内部中断。 8.2 PC系列机的中断结构系列机的中断结构51、外部中断、外部中断 外部中断也称硬中断,是由外部硬件产生的,它又分为非屏外部中断也称硬中断,是由外部硬件产生的,它又分为非屏蔽中断(蔽中断(NMI)和可屏蔽中断()和可屏蔽中断(INTR)。)。(1)非屏蔽中断)非屏蔽中断 外部硬件通过外部硬件通过NMI向向CPU发的中断请求,不可屏蔽,发的中断请求,不可屏蔽,CPU必须响应。必须响应。PC中有三种非屏蔽中断:中有三种非屏蔽中断:系统板动态系统板动态RAM奇偶校验错。奇偶校验错。I/O扩展槽上扩展
8、槽上I/O通道板奇偶校验错。通道板奇偶校验错。协处理器协处理器8087发中断请求。发中断请求。(2)可屏蔽中断)可屏蔽中断 外部硬件通过外部硬件通过INTR向向CPU发的中断请求,发的中断请求,CPU是否响应取是否响应取决与中断屏蔽控制位决与中断屏蔽控制位IF是否为是否为1。PC机的中,外部硬件通过中断机的中,外部硬件通过中断控制器控制器8259的的IRi端端 ,向,向CPU的的INTR请求信号,请求信号,8259内部设有内部设有中断屏蔽寄存器,有中断屏蔽寄存器,有8位对应可以控制位对应可以控制8个外不硬件的中断请求。个外不硬件的中断请求。一片一片8259可管理可管理8个中断请求,如果用个中断
9、请求,如果用8259两级级连,可管理多两级级连,可管理多达达64个中断请求。个中断请求。62、内部中断、内部中断8086的内部中断又称软中断。产的内部中断又称软中断。产生软中断有三种情况:生软中断有三种情况:(1)中断指令)中断指令 INT n或或INT。(2)CPU的某些运算错误。的某些运算错误。(3)Debug设定的中断。设定的中断。二、二、CPU响应中断的过程响应中断的过程 外部发中断请求,外部发中断请求,CPU发发中断响应,保护断点,取中断向中断响应,保护断点,取中断向量获得中断服务程序地址,执行量获得中断服务程序地址,执行中断服务程序,恢复断点,中断中断服务程序,恢复断点,中断返回。
10、返回。中 断优 先 级内中断(除法错,INTO,INT)最 高最 低非屏蔽中断NMI可屏蔽中断INTR单步中断7三、中断向量三、中断向量1、中断类型码、中断类型码 8086为每个中断源分配了一个中断类型码,其取值范围为为每个中断源分配了一个中断类型码,其取值范围为0255,即可处理,即可处理256种中断。其中包括软件中断,系统占用种中断。其中包括软件中断,系统占用的中断以及开放给用户使用的中断。中断类型码或者包含在指的中断以及开放给用户使用的中断。中断类型码或者包含在指令中,或者预先规定。所有内部中断和令中,或者预先规定。所有内部中断和NMI中断都不执行中断都不执行INTA总线周期;除单步中断
11、外,任何内部中断都无法禁止且都比外总线周期;除单步中断外,任何内部中断都无法禁止且都比外部中断优先级高。部中断优先级高。中断类型中断类型功能功能类型类型0除数为除数为0中断例行程序中断例行程序类型类型1单步单步类型类型2非屏蔽中断,非屏蔽中断, NMI类型类型3设置断点设置断点类型类型4溢出处理中断,溢出处理中断,INTO指令指令类型类型10显示设备中断显示设备中断类型类型20程序结束中断程序结束中断类型类型21DOS系统功能调用功能程序系统功能调用功能程序8二、中断向量表二、中断向量表 当有外部中断请求时,当有外部中断请求时,CPU如果响应中断,如果响应中断,CPU就会寻址中就会寻址中断源。
12、常用的寻找中断源的方法有:查询中断和矢量中断法。断源。常用的寻找中断源的方法有:查询中断和矢量中断法。查询法就是查询法就是CPU查询每个可能发中断请求的外部设备,检测它们查询每个可能发中断请求的外部设备,检测它们的中断请求触发器的状态,检测到后,的中断请求触发器的状态,检测到后,CPU转向该设备预设的中转向该设备预设的中断程序入口地址。矢量法则是由发中断请求的设备提供矢量地址断程序入口地址。矢量法则是由发中断请求的设备提供矢量地址(中断程序的入口地址)。(中断程序的入口地址)。中断向量中断向量:中断服务子程序的入口称为中断向量(:中断服务子程序的入口称为中断向量(=中断类型中断类型4)。)。中
13、断向量表中断向量表:将所有中断向量按一定的规律排列成一个表,就是:将所有中断向量按一定的规律排列成一个表,就是所谓的中断向量表,当中断源发出中断请求时,即可查找该表,所谓的中断向量表,当中断源发出中断请求时,即可查找该表,找出其中断向量,就可转入相应的中断服务子程序。找出其中断向量,就可转入相应的中断服务子程序。向量表地址:中断向量在中断向量表中的位置。向量表地址:中断向量在中断向量表中的位置。 8086中断系统中的中断向量表是位于中断系统中的中断向量表是位于0段的段的03FFFH的存贮的存贮区内,每个中断向量占四个单元,其中前两个单元存放中断处理区内,每个中断向量占四个单元,其中前两个单元存
14、放中断处理子程序的入口地址的偏移量子程序的入口地址的偏移量(IP),低位在前,高位在后;后两个单,低位在前,高位在后;后两个单元存放中断处理子程序入口地址的段地址元存放中断处理子程序入口地址的段地址(CS),也是低位在前,也是低位在前,高位在后,整个中断向量的排列是按中断类型号进行的。高位在后,整个中断向量的排列是按中断类型号进行的。91、中断向量和中断向量表、中断向量和中断向量表00H04H-系统专用系统专用10H1FH-BIOS用用40HFFH-用户用用户用08H0FH-硬件中断硬件中断20H3FH-DOS用用102、中断响应时序、中断响应时序由发由发INTR的外的外部设备提供中部设备提供
15、中断类型码断类型码N。CPU在每条指令的最后一个在每条指令的最后一个T状态,采样状态,采样INTR信号,若有效,且信号,若有效,且IF=1,则,则CPU在在当前指令执行完毕以后响应,进入中断当前指令执行完毕以后响应,进入中断响应周期。响应周期。113、中断向量的设置、中断向量的设置中断向量中断向量=中断类型码中断类型码N4。可以用指令将中断服务程序入口地址的可以用指令将中断服务程序入口地址的CS和和IP存入存入N4即可。即可。MOV AX,0MOV ES,AXMOV DI,N*4MOV AX,OFFSET INTP0CLDSTOSW;IP存入存入N*4和和N*4+1单元单元MOV AX,CSS
16、TOSW;CS存入存入N*4+2和和N*4+3STIINTP0PROCPUSH AXSTIPOP AXIRETINTP0ENDP主程序主程序中断服务程中断服务程序序124、用、用DOS功能调用设置中断向量和获取中断向量功能调用设置中断向量和获取中断向量(1)设置中断向量)设置中断向量预置预置AL=中断类型号中断类型号DS:DX=中断程序的入口地址中断程序的入口地址AH=25HINT 21H(2)获取中断向量)获取中断向量预置预置AL=中断类型号中断类型号AH=35HINT 21H返回返回ES:BX=中断程序入口地址中断程序入口地址13MOV AL,N;中断号中断号MOV AH,35HINT 2
17、1H;取原入口地址取原入口地址PUSH ES;保存保存PUSH BXPUSH DSMOV AX,SEG INTP1;新入口段地址新入口段地址MOV DS,AXMOV DX,OFFSET INTP1;新入口新入口IPMOV AL,NMOV AH,25HINT 21H;设置新入口地址设置新入口地址POP DS;恢复原恢复原DSPOP DXPOP DSMOV AL,NMOV AH,35HINT 21H;恢复原入口地址恢复原入口地址RETINTP1PROCPUSH AXSTIPOP AXIRETINTP1ENDP14三、中断优先级三、中断优先级PC机的中断优先级从高到低的顺序为:机的中断优先级从高到低
18、的顺序为:内部中断(除法错、内部中断(除法错、INT、INT N)非屏蔽中断(非屏蔽中断(NMI)可屏蔽中断(可屏蔽中断(IF=1,INTR)单步。单步。15四、中断的嵌套四、中断的嵌套8259在完全嵌套方式下优先级顺序为:在完全嵌套方式下优先级顺序为:IR0到到IR7。STI置置IF=1,EOI清清除该中断标志。除该中断标志。8086响应中断自动清响应中断自动清IF=0,就不能响应其它看屏蔽中,就不能响应其它看屏蔽中断断。五、中断服务程序(五、中断服务程序(P271)16 8.3 8259A可编程中断控制器一、一、8259A概述概述1. 具有具有8级中断优先控制,通过级连可以扩展至级中断优先
19、控制,通过级连可以扩展至64级优先权控制;级优先权控制;2. 每一级中断都可以通过初始设置为允许或屏蔽状态;每一级中断都可以通过初始设置为允许或屏蔽状态;3. 8259A的工作方式,可以通过编程进行设置,因此,使用非常灵活;的工作方式,可以通过编程进行设置,因此,使用非常灵活;4. 8259A采用采用NMOS制造工艺,只需要单一的制造工艺,只需要单一的+5V电源。电源。二、二、8259A的内部结构和工作原理的内部结构和工作原理1、数据总线缓冲器、数据总线缓冲器 它是它是8259A与系统数据总与系统数据总线的接口,是线的接口,是8位双向三态缓冲位双向三态缓冲器。器。CPU与与8259A之间的控制
20、之间的控制命令信息、状态信息以及中断命令信息、状态信息以及中断类型信息,都是通过该缓冲器类型信息,都是通过该缓冲器传送的。传送的。2、读、读/写控制逻辑写控制逻辑 CPU通过它实现对通过它实现对8259A的读的读/写操作。写操作。173、级连缓冲器、级连缓冲器 用以实现用以实现8259A芯片之间的级连,使得中断源可以由芯片之间的级连,使得中断源可以由8级扩展至级扩展至64级。级。4、控制逻辑电路、控制逻辑电路 对整个芯片内部各部件的工作进行协调和控制。对整个芯片内部各部件的工作进行协调和控制。5、中断请求寄存器、中断请求寄存器IRR(8位)位) 用以分别保存用以分别保存8个中断请求信号,当相应
21、的中断请求输入引脚有中断个中断请求信号,当相应的中断请求输入引脚有中断请求时,该寄存器的相应位置请求时,该寄存器的相应位置1。6、中断屏蔽寄存器、中断屏蔽寄存器IMR(8位)位) 相应位用以对相应位用以对8个中断源的中断请求信号进行屏蔽控制。当其中某位个中断源的中断请求信号进行屏蔽控制。当其中某位置置”0”时,则相应的中断请求可以向时,则相应的中断请求可以向CPU提出;否则,相应的中断请求提出;否则,相应的中断请求被屏蔽,即不允许向被屏蔽,即不允许向CPU提出中断请求。该寄存器的内容为提出中断请求。该寄存器的内容为8259A的操的操作命令字作命令字OCW1,可以由程序设置或改变。,可以由程序设
22、置或改变。7、中断服务寄存器、中断服务寄存器ISR(8位)位) 当当CPU正在处理某个中断源的中断请求时,正在处理某个中断源的中断请求时,ISR寄存器中的相应位置寄存器中的相应位置1。8、优先级比较器、优先级比较器PR 用以比较正在处理的中断和刚刚进入的中断请求之间的优先级别,以用以比较正在处理的中断和刚刚进入的中断请求之间的优先级别,以决定是否产生多重中断或中断嵌套。决定是否产生多重中断或中断嵌套。18三、三、8259A的外部引脚的外部引脚D7-D0:双向数据输入双向数据输入/输出引脚,输出引脚,用以与用以与CPU进行信息交换。进行信息交换。IR7-IR0:8级中断请求信号输入引级中断请求信
23、号输入引脚。脚。INT:中断请求信号输出引脚,高电中断请求信号输出引脚,高电平有效,用以向平有效,用以向CPU发中断请求,发中断请求,应接在应接在CPU的的INTR输入端。输入端。INTA:中断响应应答信号输入引脚,中断响应应答信号输入引脚,低电平有效,接在低电平有效,接在CPU的中断应答的中断应答信号输出端。信号输出端。RD、WR:读读/写控制信号输入引脚,写控制信号输入引脚,低电平有效,实现对低电平有效,实现对8259A内部有关内部有关寄存器内容的读操作。寄存器内容的读操作。CS:片选信号输入引脚,低电平有片选信号输入引脚,低电平有效,决定了效,决定了8259A的端口地址范围。的端口地址范
24、围。A0:8259A两组内部寄存器的选择两组内部寄存器的选择信号输入引脚,决定信号输入引脚,决定8259A的端口地的端口地址。址。19CAS2-CAS0:级连信号引脚,当级连信号引脚,当8259A为主片时,为输出;否则为输入,为主片时,为输出;否则为输入,与信号配合,实现芯片的级连,这三个引脚信号的不同组合与信号配合,实现芯片的级连,这三个引脚信号的不同组合000111,刚好,刚好对应于对应于8个从片。个从片。SP/EN:为级连管理信号输入引脚,在非缓冲方式下,若为级连管理信号输入引脚,在非缓冲方式下,若8259A在系统中作在系统中作从片使用,则从片使用,则SP=1;否则;否则SP=0;在缓冲
25、方式下,用作;在缓冲方式下,用作8259A外部数据总线外部数据总线缓冲器的启动信号。缓冲器的启动信号。+5V、GND:电源和接地引脚。电源和接地引脚。8259A的工作过程的工作过程当有一条或若干条中断请求输入(当有一条或若干条中断请求输入(IR7-IR0)有效时,则使中断请求寄存器的)有效时,则使中断请求寄存器的IRR的的相应位置位。相应位置位。若若CPU处于开中断状态,则在当前指令执行完之后,响应中断,并且发应答信号处于开中断状态,则在当前指令执行完之后,响应中断,并且发应答信号(两个连续的(两个连续的INTA负脉冲)。负脉冲)。第一个第一个INTA负脉冲到达时,负脉冲到达时,IRR的锁存功
26、能失效,对于的锁存功能失效,对于IR7-IR0上发来的中断请求信上发来的中断请求信号不予理睬。号不予理睬。使中断服务寄存器使中断服务寄存器ISR的相应位置的相应位置1,以便为中断优先级比较器的工作做好准备。,以便为中断优先级比较器的工作做好准备。使中断请求寄存器的相应位复位,即清除中断请求。使中断请求寄存器的相应位复位,即清除中断请求。第二个第二个INTA负脉冲到达时,将中断类型寄存器中的内容负脉冲到达时,将中断类型寄存器中的内容ICW2,送到数据总线的,送到数据总线的D7-D0上,上,CPU以此作为相应中断的类型码。以此作为相应中断的类型码。若若ICW4中的中断结束位为中的中断结束位为1,那
27、么,第二个,那么,第二个INTA负脉冲结束时,负脉冲结束时,8259A将将ISR寄存寄存器的相应位清零。否则,直至中断服务程序执行完毕,才能通过输出操作命令字器的相应位清零。否则,直至中断服务程序执行完毕,才能通过输出操作命令字EOI,使该位复位。使该位复位。20四、四、8259A的工作方式的工作方式1、优先权的管理方式、优先权的管理方式(1)全嵌套方式)全嵌套方式 这是这是8259A默认的优先权设置方式,在全嵌套方式下,默认的优先权设置方式,在全嵌套方式下,8259A所管理的所管理的8级中断优先权是固定不变的,其中级中断优先权是固定不变的,其中IR0的中断优先级最高,的中断优先级最高,IR7
28、的中断优先级的中断优先级最低。最低。CPU响应中断后,请求中断的中断源中,优先级最高的中断源,在中响应中断后,请求中断的中断源中,优先级最高的中断源,在中断服务寄存器断服务寄存器ISR中的相应位置位,而且把它的中断矢量送至系统数据总线,中的相应位置位,而且把它的中断矢量送至系统数据总线,在此中断源的中断服务完成之前,与它同级或优先级低的中断源的中断请求在此中断源的中断服务完成之前,与它同级或优先级低的中断源的中断请求被屏蔽,只有优先级比它高的中断源的中断请求才是运算的,从而出现中断被屏蔽,只有优先级比它高的中断源的中断请求才是运算的,从而出现中断嵌套。嵌套。(2)特殊全嵌套方式)特殊全嵌套方式
29、 特殊全嵌套方式与全嵌套方式基本相同,所不同的是,当特殊全嵌套方式与全嵌套方式基本相同,所不同的是,当CPU处理某一处理某一级中断时,如果有同级中断请求,那么级中断时,如果有同级中断请求,那么CPU也会作出响应,从而形成了对同也会作出响应,从而形成了对同一级中断的特殊嵌套。一级中断的特殊嵌套。 特殊全嵌套方式通常应用在有特殊全嵌套方式通常应用在有8259A级连的系统中,在这种情况下,对级连的系统中,在这种情况下,对主主8259A编程时,通常使它工作在特殊全嵌套方式下。这样,一方面,编程时,通常使它工作在特殊全嵌套方式下。这样,一方面,CPU对于优先级别较高的主片的中断输入是允许的,另一方面,对
30、于优先级别较高的主片的中断输入是允许的,另一方面,CPU对于来自同对于来自同一从片的优先级别较高(但对于主片来讲,优先级别是相同的)的中断也是一从片的优先级别较高(但对于主片来讲,优先级别是相同的)的中断也是允许、能够响应的。允许、能够响应的。21(3)优先级自动循环方式)优先级自动循环方式 在实际应用中,中断源优先级的情况是比较复杂的,要求在实际应用中,中断源优先级的情况是比较复杂的,要求8级中断的优先级中断的优先级在系统工作过程中,可以动态改变。即一个中断源的中断请求被响应之级在系统工作过程中,可以动态改变。即一个中断源的中断请求被响应之后,其优先级自动降为最低。系统启动时,后,其优先级自
31、动降为最低。系统启动时,8级中断优先级默认为级中断优先级默认为IR0IR7,这时,刚好,这时,刚好IR4发出了中断请求,发出了中断请求,CPU响应之后,若响应之后,若8259A工作在优工作在优先级自动循环方式下,则中断优先级自动变为先级自动循环方式下,则中断优先级自动变为IR5、IR6、IR7、IR0、 IR1、 IR2、 IR3、 IR4。(4)优先级特殊循环方式)优先级特殊循环方式 优先级特殊循环方式与自动循环方式相比,只有一点不同,即初始化的优优先级特殊循环方式与自动循环方式相比,只有一点不同,即初始化的优先级是由程序控制的,而不是默认的先级是由程序控制的,而不是默认的IR0IR7。2、
32、中断源的屏蔽方式、中断源的屏蔽方式(1)普通屏蔽方式)普通屏蔽方式 8259A的每个中断请求输入,都要受到屏蔽寄存器中相应位的控制。若的每个中断请求输入,都要受到屏蔽寄存器中相应位的控制。若相应位为相应位为“1”,则中断请求不能送,则中断请求不能送CPU。屏蔽是通过对屏蔽寄存器。屏蔽是通过对屏蔽寄存器IMR的的编程(操作命令字编程(操作命令字OCW1),来加以设置和改变的。),来加以设置和改变的。(2)特殊屏蔽方式)特殊屏蔽方式 有些场合下,希望一个中断服务程序的运行过程中,能动态地改变系统中有些场合下,希望一个中断服务程序的运行过程中,能动态地改变系统中的中断优先级结构,即在中断处理的一部分
33、,禁止低级中断,而在中断处的中断优先级结构,即在中断处理的一部分,禁止低级中断,而在中断处理的另一部分,又能够允许低级中断,于是引入了对中断的特殊屏蔽方式理的另一部分,又能够允许低级中断,于是引入了对中断的特殊屏蔽方式。22 设置了特殊屏蔽方式后,用设置了特殊屏蔽方式后,用OCW1对屏蔽寄存器中的某一位复位时,同时也会使对屏蔽寄存器中的某一位复位时,同时也会使中断服务寄存器中断服务寄存器ISR中的相应位复位,这样就不只屏蔽了正在处理的等级中断,而且中的相应位复位,这样就不只屏蔽了正在处理的等级中断,而且真正开放了其它优先级别较低的中断请求。真正开放了其它优先级别较低的中断请求。 特殊屏蔽是在中
34、断处理程序中使用的,用了这种方式之后,尽管系统正在处理高特殊屏蔽是在中断处理程序中使用的,用了这种方式之后,尽管系统正在处理高级中断,但对外界来讲,只有同级中断被屏蔽,而允许其它任何级别的中断请求。级中断,但对外界来讲,只有同级中断被屏蔽,而允许其它任何级别的中断请求。3、结束中断的处理方式、结束中断的处理方式(1)中断自动结束方式)中断自动结束方式 这种方式仅适用于只有单片这种方式仅适用于只有单片8259A的场合,在这种方式下,系统一旦响应中断,的场合,在这种方式下,系统一旦响应中断,那么那么CPU在发第二个在发第二个INTA脉冲时,就会使中断响应寄存器脉冲时,就会使中断响应寄存器ISR中相
35、应位复位,这样一中相应位复位,这样一来,虽然系统在进行中断处理,但对于来,虽然系统在进行中断处理,但对于8259A来讲,来讲,ISR没有相应的指示,就象中断没有相应的指示,就象中断处理结束,返回主程序之后一样。处理结束,返回主程序之后一样。CPU可以再次响应任何级别的中断请求。可以再次响应任何级别的中断请求。(2)一般的中断结束方式)一般的中断结束方式 一般的中断结束方式适用用在全嵌套的情况下,当一般的中断结束方式适用用在全嵌套的情况下,当CPU用输出指令向用输出指令向8259A发一发一般中断结束命令般中断结束命令OCW2时,时,8259A才会使中断响应寄存器才会使中断响应寄存器ISR中优先级
36、别最高的位复中优先级别最高的位复位。位。(3)特殊的中断结束方式)特殊的中断结束方式 在特殊全嵌套模式下,系统无法确定哪一级中断为最后相应和处理的中断,也就在特殊全嵌套模式下,系统无法确定哪一级中断为最后相应和处理的中断,也就是说,是说,CPU无法确定当前所处理的是哪级中断,这时就要采用特殊的中断结束方式。无法确定当前所处理的是哪级中断,这时就要采用特殊的中断结束方式。 特殊的中断结束方式是指在特殊的中断结束方式是指在CPU结束中断处理之后,向结束中断处理之后,向8259A发送一个特殊的发送一个特殊的EOI中断结束命令,这个特殊的中断结束中断结束命令,这个特殊的中断结束EOI命令,明确指出了中
37、断响应寄存器命令,明确指出了中断响应寄存器ISR中需要中需要复位的位。复位的位。234、系统总线的连接方式、系统总线的连接方式(1)缓冲方式)缓冲方式 在多片在多片8259A级连的大系统中,级连的大系统中,8259A通过外部总线驱动器和数据总线通过外部总线驱动器和数据总线相连,这就是缓冲方式。在缓冲方式下,相连,这就是缓冲方式。在缓冲方式下,8259的输出信号作为缓冲器的启动的输出信号作为缓冲器的启动信号,用来启动总线驱动器,在信号,用来启动总线驱动器,在8259A与与CPU之间进行信息交换。之间进行信息交换。(2)非缓冲方式)非缓冲方式 当系统中只有一片或几片当系统中只有一片或几片8259A
38、芯片时,可以将数据总线直接与系统数芯片时,可以将数据总线直接与系统数据总线相连,这时据总线相连,这时8259A处于非缓冲方式下。在这种方式下,处于非缓冲方式下。在这种方式下,8259A的作为的作为输入端设置,主片应接高电平,从片应接低电平。输入端设置,主片应接高电平,从片应接低电平。 5、引入中断请求的方式、引入中断请求的方式(1)边沿触发方式)边沿触发方式 8259A将中断请求输入端出现的上升沿,作为中断请求信号,上升沿后相将中断请求输入端出现的上升沿,作为中断请求信号,上升沿后相应引脚,可以一直保持高电平。应引脚,可以一直保持高电平。(2)电平触发方式)电平触发方式 8259A将中断请求输
39、入端出现的高电平作为中断请求信号,在这种方式下,将中断请求输入端出现的高电平作为中断请求信号,在这种方式下,必须注意:中断响应之后,高电平必须及时撤除,否则,在必须注意:中断响应之后,高电平必须及时撤除,否则,在CPU响应中断,响应中断,开中断之后,会引起第二次不应该有的中断。开中断之后,会引起第二次不应该有的中断。24(3)中断查询方式)中断查询方式 当系统中的中断源很多,超过当系统中的中断源很多,超过64个时,则可以使个时,则可以使8259A工作在查询方式工作在查询方式下,中断查询方式的特点是:下,中断查询方式的特点是:a.中断源仍往中断源仍往8259A发中断请求,但发中断请求,但8259
40、A却不使用却不使用INT信号向信号向CPU发中断发中断请求信号。请求信号。b. CPU内部的中断允许标志复位,所以内部的中断允许标志复位,所以CPU对对INT引脚上出现的中断请求引脚上出现的中断请求呈禁止状态。呈禁止状态。CPU 用软件查询的方法来确定中断源,从而实现对设备的中断服务,可用软件查询的方法来确定中断源,从而实现对设备的中断服务,可见,中断查询方式,既有中断的特点,又有查询的特点,从外设的角度见,中断查询方式,既有中断的特点,又有查询的特点,从外设的角度来看,是靠中断的方式来请求服务,但从来看,是靠中断的方式来请求服务,但从CPU的角度来看,是用查询方的角度来看,是用查询方式来确定
41、发中断请求的中断源。式来确定发中断请求的中断源。五、五、8259A的控制字的控制字 8259A的命令字有两种。一种是初始化命令字的命令字有两种。一种是初始化命令字(ICW),在,在8259A启动之启动之前写入,使其处于预定的初始状态。另一种是操作命令字前写入,使其处于预定的初始状态。另一种是操作命令字(OCW),使处,使处于初始状态的于初始状态的8259去执行具体的去执行具体的某种操作方式某种操作方式。操作命令字可在。操作命令字可在8259初初始化后的任何时刻写入。始化后的任何时刻写入。 251.初始化命令字初始化命令字1)ICW1:芯片控制初始化命令字,在:芯片控制初始化命令字,在A0=0,
42、D4=1时写入。时写入。2)ICW2:设置中断向量码初始化命令字。:设置中断向量码初始化命令字。PC机中机中T7T3=00001,因此类型码为,因此类型码为08H0FH。263)ICW3:主片:主片/从片初始化命令字从片初始化命令字4)ICW4:方式控制字初始化命令字。:方式控制字初始化命令字。ICW4用来设定用来设定8259A的工作模式。的工作模式。272.操作命令字操作命令字1)OCW1:中断屏蔽操作命令字,在:中断屏蔽操作命令字,在A0=1时写入到中断屏蔽寄存器时写入到中断屏蔽寄存器IMR中,中,当某一位为当某一位为1时,就屏蔽与之相应的时,就屏蔽与之相应的IR输入。输入。2)OCW2:优先循环方式和中断结束方式操作字。其中:优先循环方式和中断结束方式操作字。其中R是优先级循环控是优先级循环控制位,制位,R=1为循环优先级,为循环优先级,R=0 为固定优先级。为固定优先级。283)OCW3:特殊屏蔽方式和查询方式操作字。:特殊屏蔽方式和查询方式操作字。OCW3的功能有三个方面:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新解读《GB-T 30719-2014液氢车辆燃料加注系统接口》
- 暑假新教材新课专项重点预习练:计算题(含解析)-2024-2025学年人教版二年级数学下学期
- 人教版八年级英语上册Unit8知识点梳理及语法讲义(学生版)
- 新解读《GB-T 10535-2014水处理剂 水解聚马来酸酐》
- 新解读《GB-T 1599-2014锑锭》深度解析
- 中建三局安装公司(智慧事业部)工艺标准库-给排水篇(试行版)
- 企业环保管理概述
- 老年人疾病教学课件
- 企业员工敬业与责任心培训课件
- 酿酒知识实地培训总结课件
- 高等数学绪论讲解课件
- 神经外科常见疾病的护理课件
- 科技论文写作与文献检索-1课件
- 第二单元 劳动最光荣 课件32张 统编版高中语文必修上册
- 优秀班主任的修炼手册 课件(共34张ppt)
- 部编人教版三年级道德与法治上册全册课件
- 唱出好心情课件
- 高三开学教师大会PPT
- 媒体发稿推广合作协议模版
- 汽车底盘构造与维修课件(全)全书教学教程完整版电子教案最全幻灯片
- 电气设备运行与维护ppt课件(完整版)
评论
0/150
提交评论