1、微机原理及应用第7章 中断系统和中断控制器8259A7.1 中断的基本概念中断的基本概念中断中断:是指:是指CPU在正常运行程序时,由于内部或外部事件在正常运行程序时,由于内部或外部事件引起引起CPU暂时中止执行现行程序,转去执行请求暂时中止执行现行程序,转去执行请求CPU为其为其服务的那个外设或事件的服务程序,待该服务程序执行完服务的那个外设或事件的服务程序,待该服务程序执行完后又返回到被中止的程序这样一个过程。后又返回到被中止的程序这样一个过程。 中断源中断源:能发出中断申请的外设或引起中断的原因。:能发出中断申请的外设或引起中断的原因。 微机原理及应用微机原理及应用中断技术的优点:中断技
2、术的优点: l 并行操作:指并行操作:指CPU和多个外设并行操作。和多个外设并行操作。l 分时操作:指分时操作:指CPU可分时执行多个用户程序和多道作业。可分时执行多个用户程序和多道作业。l 实现实时处理、实现实时处理、 故障处理。故障处理。 l 基本功能调用:通过软件中断可实现基本功能调用:通过软件中断可实现DOS功能调用和基本功能调用和基本BIOS调用。调用。 l 提高了提高了CPU的利用效率。的利用效率。微机原理及应用产生中断信号。来至于中断产生中断信号。来至于中断指令或指令或CPU引脚。每个中引脚。每个中断接口电路有一个中断请求断接口电路有一个中断请求触发器和中断屏蔽触发器。触发器和中
3、断屏蔽触发器。确定有中断请求且优先级确定有中断请求且优先级最高的那个中断源。最高的那个中断源。CPU响应进入中断周期,响应进入中断周期,自动完成下列工作:自动完成下列工作:关中断;保护断点;关中断;保护断点;保护现场;保护现场;形成中断服务程序入口地址形成中断服务程序入口地址中断服务就是中断服务就是CPU执行执行中断服务程序过程。中断服务程序过程。中断服务程序结构如图中断服务程序结构如图保护现场开中断中断处理关中断恢复现场中断返回弹出断点,返回主程序。弹出断点,返回主程序。微机原理及应用微机原理及应用微机原理及应用微机原理及应用8086/80888086/8088的中断系统的中断系统7.27.
4、2微机原理及应用7.2.1 7.2.1 中断指令中断指令1 1、中断指令、中断指令格式:格式:INT n INT n 或或 INT ;n=0255,INT ;n=0255,为中断类型码分别为为中断类型码分别为 ; ;双双/ /单字节指令单字节指令指令的操作:指令的操作:( (SP) (SP)-2,(SP+1),(SP) (FR)SP) (SP)-2,(SP+1),(SP) (FR)(IF) 0,(TF) 0(IF) 0,(TF) 0( (SP) (SP)-2,(SP+1),(SP) (CS)SP) (SP)-2,(SP+1),(SP) (CS)( (SP) (SP)-2,(SP+1),(SP)
5、 (IP)SP) (SP)-2,(SP+1),(SP) (IP)(IP) (n(IP) (n4)4)(CS) (n(CS) (n4+2)4+2)微机原理及应用7.2.1 7.2.1 中断指令中断指令2 2、溢出中断指令、溢出中断指令格式:格式:INTO ;INTO ;单字节指令单字节指令操作同操作同INT n,n=4.INT n,n=4.用于代符号数加减后溢出产生的中断用于代符号数加减后溢出产生的中断. .通常放在一条算术运算指令后面通常放在一条算术运算指令后面. .微机原理及应用7.2.1 7.2.1 中断指令中断指令3 3、中断返回指令、中断返回指令格式:格式:IRETIRET指令的操作:
6、指令的操作:(IP)(IP) (SP+1),(SP) (SP+1),(SP)( (SP) (SP)+2SP) (SP)+2(CS)(CS) (SP+1),(SP) (SP+1),(SP)( (SP) (SP)+2SP) (SP)+2(FR)(FR) (SP+1),(SP) (SP+1),(SP)( (SP) (SP)+2SP) (SP)+2注意入栈和出栈的顺序!IPCSFR高低微机原理及应用7.2.2 7.2.2 中断分类中断分类微机原理及应用除法错误:除数为除法错误:除数为0或商超过寄存器或商超过寄存器表达范围。表达范围。单步中断:单步中断:TF1,自动产生单步中断。自动产生单步中断。一般用
7、在调试程序中。一般用在调试程序中。断点中断:与单步断点中断:与单步中断类似。用在调中断类似。用在调试程序中。试程序中。溢出中断:溢出中断:OF为为1时,执行时,执行INTO进入。进入。溢出中断:溢出中断:OF为为1时,执行时,执行INTO进入。进入。微机原理及应用微机原理及应用微机原理及应用中断处理中断处理服务程序服务程序IRET0:12F0:12E0:12D类类 型型4B H中中 断断向向 量量0:12CF0 H0:12B00 H0:12A18 H0:129 I P=1806H CS=F000HF000:180606 H0:1280:127 向量地向量地址:址:4AH*4=128H0:126
8、0:125类类 型型49 H中中 断断向向 量量0:124MOV AL,30单元内容单元内容地址地址INT 4AH中断向量表中断向量表类型类型 FFH中断处理中断处理程序程序入口地址入口地址003FF H00008 H类型类型 1中断处理中断处理程序程序入口地址入口地址00004 H00001 H类型类型 0中断处理中断处理程序程序入口地址入口地址00000 H单元内容单元内容物理地址物理地址微机原理及应用已知中断向量表如下: _ 0004CH 59H _ 0004DH ECH _ 0004EH 00H _ 0004FH F0H _ A.中断类型号是多少? B.中断服务程序的入口地址是多少?
9、- 4c /4 = 13h 13h - f000:ec59 例:思考:某中断源的中断类型码为2AH,该中断源的中断服务入口地址为2000H:FF23H,试画出中断向量表图微机原理及应用7.3 7.3 中断控制器中断控制器82598259A A Intel8259A是一种可编程的中断控制器(是一种可编程的中断控制器(PIC),),有如下功能:有如下功能:l 可为可为CPU管理和处理管理和处理8个中断源电路的中断,并对它们进行优先级管理。个中断源电路的中断,并对它们进行优先级管理。l 可与其它可与其它8个个8259A芯片组成主从式中断系统,实现芯片组成主从式中断系统,实现64级中断源控制。级中断源
10、控制。l 优先级方式在执行程序时可动态改变,有多种中断管理方式。优先级方式在执行程序时可动态改变,有多种中断管理方式。l 每一中断源中断都可以屏蔽或允许,可通过编程选择。每一中断源中断都可以屏蔽或允许,可通过编程选择。l 能自动送出中断类型号,使能自动送出中断类型号,使CPU方便的找到中断服务程序的入口地址。方便的找到中断服务程序的入口地址。l允许中断嵌套。允许中断嵌套。7.3.1 82597.3.1 8259A A的主要功能的主要功能微机原理及应用7.3.2 82597.3.2 8259A A的结构及引脚的结构及引脚一、一、8259A的引脚的引脚芯片采用芯片采用双列直插式双列直插式28引脚封
11、装,引脚封装,各引脚的各引脚的信号功能信号功能如图所示如图所示微机原理及应用二、二、8259A内部功能结构内部功能结构微机原理及应用1、中断请求寄存器、中断请求寄存器IRR用于锁存所有用于锁存所有IRi引脚输入的中断请求信号。引脚输入的中断请求信号。2、优先权判别器、优先权判别器PR进行优先权管理。进行优先权管理。中断嵌套原则:高优先权中断可以打断低优先权中断;同中断嵌套原则:高优先权中断可以打断低优先权中断;同级不能互相打断;低优先权不能打断高优先权中断。级不能互相打断;低优先权不能打断高优先权中断。3、中断服务寄存器、中断服务寄存器ISR用于记录已被中断响应的中断。用于记录已被中断响应的中
12、断。4、中断屏蔽寄存器、中断屏蔽寄存器IMR用于存放中断的屏蔽信息,当用于存放中断的屏蔽信息,当IMR某位被置位,对应位的某位被置位,对应位的中断请求就被屏蔽。中断请求就被屏蔽。微机原理及应用5、数据总线缓冲器、数据总线缓冲器8259A与与CPU之间的数据传输通道。之间的数据传输通道。6、读、读/写控制逻辑写控制逻辑接受接受CPU的控制信号,完成规定的写入操作,读的控制信号,完成规定的写入操作,读IRR、ISR和和IMR。7、级联缓冲、级联缓冲/比较器比较器实现实现8259A级联。级联。8、控制逻辑、控制逻辑控制片内工作,根据控制片内工作,根据IRR、IMR的内容和的内容和PR判断结果。向判断
13、结果。向CPU发中断请求,接受发中断请求,接受CPU的中断相应信号。的中断相应信号。微机原理及应用微机原理及应用微机原理及应用7.3.3、8259A的工作过程的工作过程请求信号IRR锁存优先权判别器PR逻辑电路根据IMR判断IMR对应位为08259A的INT端为1优先权最高CPU的INTR端CPU响应中断IF18259AINTAISR相应位置1,IRR响应位清0,送中断类型码若允许嵌套,PR依据ISR的状态,判断新的中断请求优先权是否高于正在服务的中断,是则送出INT1。服务结束,8259A清除ISR响应位。微机原理及应用7.3.4 8259A的工作方式的工作方式1 1、中断请求触发方式、中断
14、请求触发方式(1 1)电平触发)电平触发性质:性质:IR7IR7IR0IR0的中断申请端出现高电平,触发中断服务。的中断申请端出现高电平,触发中断服务。特点:响应后,必须撤除申请,否则发生二次中断申请。特点:响应后,必须撤除申请,否则发生二次中断申请。(2 2)边沿触发)边沿触发性质:性质:IR7IR7IR0IR0的中断申请端出现的中断申请端出现低电平向高电平跳变低电平向高电平跳变时,触发中断服务时,触发中断服务特点:申请端一直保持高电平,不会误判。特点:申请端一直保持高电平,不会误判。微机原理及应用7.3.4 8259A的工作方式的工作方式2 2、屏蔽中断源方式、屏蔽中断源方式:由由8259
15、8259A A的内部屏蔽寄存器的内部屏蔽寄存器IMRIMR决定。有一般屏蔽方式和特殊屏蔽方式两种。决定。有一般屏蔽方式和特殊屏蔽方式两种。(1 1)一般屏蔽方式)一般屏蔽方式性质:通过编程置操作命令字性质:通过编程置操作命令字OCWOCW1 1的相应位为的相应位为1 1,则使对应中断源被屏蔽。为,则使对应中断源被屏蔽。为0 0,则使对应中断源不被屏蔽。用输出命令将,则使对应中断源不被屏蔽。用输出命令将OCWOCW2 2写入写入IMRIMR中实现。中实现。特点:使某些中断源可以申请服务,某些被屏蔽不能申请中断服务。特点:使某些中断源可以申请服务,某些被屏蔽不能申请中断服务。(2 2)特殊屏蔽方式
16、)特殊屏蔽方式性质:通过编程置操作命令字性质:通过编程置操作命令字OCWOCW3 3的的D D6 6D D5 5=11=11,进入工作方式。通过编程置操作进入工作方式。通过编程置操作命令字命令字OCWOCW3 3的的D D6 6D D5 5=10=10,退出工作方式。退出工作方式。特点:使某些优先权低的中断源可以申请服务,某些优先权低的中断源被屏蔽特点:使某些优先权低的中断源可以申请服务,某些优先权低的中断源被屏蔽不能申请中断服务。不能申请中断服务。微机原理及应用7.3.4 8259A的工作方式的工作方式3 3、中断优先权设置方式、中断优先权设置方式:(1 1)普通全嵌套方式(固定优先级方式)
17、:)普通全嵌套方式(固定优先级方式):默认方式,默认方式,IR0IR0最高,最高,IR7IR7最低最低(2 2)特殊全嵌套方式特殊全嵌套方式:基本同普通全嵌套方式,基本同普通全嵌套方式,但但可以进行同级嵌套可以进行同级嵌套。(3 3)优先级自动循环方式优先级自动循环方式:初始优先级顺序初始优先级顺序IRIR0 0最高,最高,IRIR7 7最低。最低。当其中一个中断源受到服务,当其中一个中断源受到服务,则它为最低优先权。则它为最低优先权。同时置比它低一级中断源为最高级,同时置比它低一级中断源为最高级,其它自动循环排列。其它自动循环排列。(4)优先级指定(特殊)循环方式优先级指定(特殊)循环方式:
18、当一中断源指定为最低优先权,当一中断源指定为最低优先权,则比它低一级中断源为最高级,其它顺序排列。则比它低一级中断源为最高级,其它顺序排列。 如:指定如:指定IR3为最低,则优先级顺序为为最低,则优先级顺序为IR4,IR5,IR6,IR7,IR0,IR1, IR2 , IR3 。微机原理及应用7.3.4 8259A的工作方式的工作方式4 4、中断结束、中断结束( (EOI)EOI)方式方式结束中断处理是将中断服务寄存器中对应的位置结束中断处理是将中断服务寄存器中对应的位置0 0。结束中断处理方式有三类:。结束中断处理方式有三类:(1 1)一般中断结束方式(一般中断结束方式(EOIEOI):通过
19、编程置初始化命令字通过编程置初始化命令字ICWICW4 4的的D D1 1=0=0,设置。通设置。通过编程置操作命令字过编程置操作命令字OCWOCW2 2的的D D7 7D D6 6D D5 5=001=001,执行输出命令,实现自动结束。执行输出命令,实现自动结束。特点特点:使当前中断服务寄存器(:使当前中断服务寄存器(ISRISR)中优先权级别最高的对应位清中优先权级别最高的对应位清0 0,即结束。,即结束。(2 2)特殊中断结束方式(特殊中断结束方式(SEOISEOI):通过编程置通过编程置ICWICW4 4的的D D1 1=0=0,设置。然后通过编程设置。然后通过编程置操作命令字置操作
20、命令字OCWOCW2 2的的D D7 7D D6 6D D5 5=X11=X11,D D2 2D D1 1D D0 0给出想结束的中断源号。使结束。给出想结束的中断源号。使结束。特点特点:使指定中断服务寄存器(:使指定中断服务寄存器(ISRISR)中的中断源对应位清中的中断源对应位清0 0,即结束。,即结束。(3 3)自动中断结束方式(自动中断结束方式(AEOIAEOI):通过编程置通过编程置ICWICW4 4的的D D1 1=1=1实现。实现。特点特点:只适用于一片:只适用于一片82598259A A,且各中断不发生嵌套。中断服务寄存器(且各中断不发生嵌套。中断服务寄存器(ISRISR)中的
21、中的中断源对应位清中断源对应位清0 0由硬件自动完成,但正在处理的中断服务程序并没有结束。由硬件自动完成,但正在处理的中断服务程序并没有结束。微机原理及应用7.3.4 8259A的工作方式的工作方式5 5、连接总线方式、连接总线方式(1 1)缓冲方式)缓冲方式 性质:通过编程置初始化命令字性质:通过编程置初始化命令字ICW4ICW4的的D3=1D3=1,进入工作方式。进入工作方式。82598259A A的的SP/EN SP/EN :输出低电平作为启动信号。输出低电平作为启动信号。 特点:应用于多片级连的大系统中,通过总线驱动器和数据总线相连。特点:应用于多片级连的大系统中,通过总线驱动器和数据
22、总线相连。(2 2)非缓冲方式)非缓冲方式 性质:通过编程置初始化命令字性质:通过编程置初始化命令字ICW1ICW1的的D3=0D3=0,进入工作方式。进入工作方式。 特点:申请端一直保持高电平,不会误判。特点:申请端一直保持高电平,不会误判。82598259A A直接和数据总线相直接和数据总线相连连微机原理及应用 8259A工作之前需要用两类控制字对它进行工作方式的设定和启动它工作之前需要用两类控制字对它进行工作方式的设定和启动它进行规定的操作。进行规定的操作。第一类是初始化命令字第一类是初始化命令字ICW1ICW4,它通常是计算机系统启动时由它通常是计算机系统启动时由初始化程序设置的,一旦
23、设定一般在系统各种过程不在改变。初始化程序设置的,一旦设定一般在系统各种过程不在改变。第二类是操作命令字第二类是操作命令字OCW1OCW3,它是由应用程序设定,用来对它是由应用程序设定,用来对中断处理过程进行动态控制。中断处理过程进行动态控制。7.3.5.1 初始化命令字初始化命令字微机原理及应用微机原理及应用中断类型码的高5位中断类型码的低3位,自动填入IR0:000, IR1:001IR2:010, IR3:011IR4:100, IR5:101IR6:110, IR7:111微机原理及应用Si=0:IRi无从片Si=1:IRi有从片(写主片)从片标识(写从片)微机原理及应用0:8080/
24、85系统1:8086/88系统0:非自动EOI1:自动EOI0:从片:从片1:主片:主片0:非缓冲:非缓冲1:缓冲:缓冲0:非特殊全嵌套1:特殊全嵌套微机原理及应用关中断设置ICW1设置ICW2级联?从片?设置主片ICW3设置ICW4开中断NN设置从片ICW3需要ICW4?YNY规定:1、系统中每一片都安此流程初始化2、写入ICW1ICW4的顺序固定3、ICW1写入偶地址,其他写入奇地址4、ICW1指明是否需要设置ICW3、ICW4, 级联方式下,主从片都要写ICW3微机原理及应用微机原理及应用微机原理及应用微机原理及应用例7-4 P188例7-5 P188例7-6 P189例7-7 P190