




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第中断系统和中断控制器演示文稿当前第1页\共有123页\编于星期三\8点(优选)第中断系统和中断控制器当前第2页\共有123页\编于星期三\8点2023/6/14微机原理及应用3一、中断的基本概念1、中断及中断源2、中断处理过程3、中断优先权管理当前第3页\共有123页\编于星期三\8点2023/6/14微机原理及应用41、中断及中断源
中断是一种让CPU挂起正在执行的程序而转去处理特殊事件的操作。
CPU暂时停止执行原来的程序而转去中断处理,处理好中断服务后再返回继续执行原来的程序,这样一个过程就是一个中断过程。
能够引起CPU中断的事件称为中断源
。
CPU中断系统的基本功能
。当前第4页\共有123页\编于星期三\8点2023/6/14微机原理及应用5中断源(1)一般的输入输出设备。如键盘,打印机等;(2)数据通道中断源。如磁盘,磁带机等直接与存储器交换数据所要求的中断;(3)实时时钟。在控制系统中使用外部硬件电路实现时间控制,当定时时间到时向CPU发出中断申请;(4)故障引起的中断。如电源掉电等;(5)由中断指令或软件故障引起的中断。如系统功能调用,除数为0,或者在程序调试时设置断点等引起的中断。当前第5页\共有123页\编于星期三\8点2023/6/14微机原理及应用6中断分类
根据中断与CPU的相对关系,中断分为内部中断和外部中断。
内部中断可以是中断指令设置的中断,调试程序时设置的中断,或是程序运行过程中发生的非预期情况而产生的中断;
外部中断则是由直接连到CPU引脚上的信号引起的中断,如外部设备请求服务中断,实时时钟定时到中断,电源掉电等等。当前第6页\共有123页\编于星期三\8点2023/6/14微机原理及应用7CPU中断系统的功能(1)实现中断及返回(2)实现优先权排队,以确定优先处理的中断源。(3)优先权高的中断源能中断优先权低的中断处理当前第7页\共有123页\编于星期三\8点2023/6/14微机原理及应用8(1)实现中断及返回当有一中断源提出中断请求时,CPU首先判断是否响应该中断?*如果CPU正在执行的是重要的程序,可以暂不响应,即关中断;*当CPU完成了当前的重要程序后,开中断予以响应,同时,保存断点,转入中断处理;*当中断处理完后,恢复断点从而回到被中断运行的原程序继续执行;当前第8页\共有123页\编于星期三\8点2023/6/14微机原理及应用9(1)实现中断及返回*通过设置CPU内部的中断允许触发器(IFF),开关中断。 当IFF=1,使中断允许(开中断); 当IFF=0,使中断不允许(关中断)。注意:不可屏蔽中断,要求CPU立即处理。不受中断允许触发器(IFF)的控制。可屏蔽中断,受中断允许触发器(IFF)的控制。当前第9页\共有123页\编于星期三\8点2023/6/14微机原理及应用10(2)实现优先权排队,以确定优先处理的中断源
一个系统中有多个中断源,存在着几个中断源同时请求的可能;因此,必须事先根据中断源的重要性,给每个中断源确定一个中断优先级别——优先权。中断响应时,CPU应能首先响应优先权级别高的中断源。当前第10页\共有123页\编于星期三\8点2023/6/14微机原理及应用11在中断服务处理过程中:若新的中断申请其优先级别更高,则CPU应再一次中断,转去优先权更高的中断源服务。处理完后,再回到原来的中断服务中,这也称为中断嵌套。若新的中断源优先权级别为同级或低级,则CPU暂不理会,继续正在处理的中断服务,直到当前中断处理结束后再去处理新的中断申请。
(3)优先权高的中断源能中断优先权低的中断处理当前第11页\共有123页\编于星期三\8点2023/6/14微机原理及应用122、中断处理过程一个中断过程应该包含以下五个过程:
(1)中断请求 (2)中断排队 (3)中断响应 (4)中断服务 (5)中断返回当前第12页\共有123页\编于星期三\8点2023/6/14微机原理及应用13(1)中断请求当中断源需要CPU为其服务时,首先送出中断请求信号。中断信号可以由中断指令或是某些特定条件产生,也可以是通过CPU引脚(INTR)向CPU发出中断请求信号而产生。实际系统中一般都有多个中断源,为了增加控制的灵活性,每个中断源接口电路中,设置一个中断请求触发器和一个中断屏蔽触发器。当前第13页\共有123页\编于星期三\8点2023/6/14微机原理及应用14(1)中断请求当中断源有请求时,将中断请求触发器置1:*若中断屏蔽触发器为“0”状态,表示允许该中断源向CPU发出中断请求“信号”;*若中断屏蔽触发器为“1”状态,表示禁止该中断源向CPU发出中断请求“信号”。尽管该中断源有中断请求,也不能被送出,称该中断请求被屏蔽了。当前第14页\共有123页\编于星期三\8点2023/6/14微机原理及应用15(2)中断排队和(3)中断响应
中断排队是确定当前所有中断请求中优先级最高的那个中断源。因为CPU一次只能响应一个中断,所以必须首先处理最紧急最重要的中断。根据中断源的轻重缓急给予一个中断优先权级别,优先权级别最高的中断源将首先得到响应。当前第15页\共有123页\编于星期三\8点2023/6/14微机原理及应用16(2)中断排队和(3)中断响应
CPU通过中断排队确定了要响应的中断源后,进入中断响应,自动完成以下步骤:①关中断;②保护断点,将正在执行的程序地址(断点)入栈;③保护现场,标志寄存器FR自动入栈;④形成中断服务程序入口地址。当前第16页\共有123页\编于星期三\8点2023/6/14微机原理及应用17(4)中断服务和(5)中断返回中断服务是指CPU执行中断服务程序。中断服务程序应包括:
①保护现场,CPU响应中断时自动保护断点,寄存器则由程序员决定是否要入栈;
②开中断,CPU响应中断时,自动执行关中断操作。要实现中断嵌套,必须在中断服务程序中开中断;当前第17页\共有123页\编于星期三\8点2023/6/14微机原理及应用18(4)中断服务和(5)中断返回③中断处理,对中断源作相应的处理,是中断服务程序的核心;
④关中断,若中断服务程序设置了开中断,则此时应该关中断,以保证恢复现场的操作不被打断;
⑤恢复现场,按后进先出的原则,PUSH和POP应配对使用;
⑥中断返回,从堆栈中弹出断点,返回主程序。当前第18页\共有123页\编于星期三\8点2023/6/14微机原理及应用193、中断优先权管理中断优先权是事先根据中断源的重要性给每个中断源确定一个中断优先级别——优先权。中断优先权管理就是判别和确定各个中断源的中断优先权。中断优先权判别方法有软件和硬件两种方法。当前第19页\共有123页\编于星期三\8点2023/6/14微机原理及应用203、中断优先权管理(1)软件确定中断优先权
软件法是在CPU响应中断后,用软件查询确定哪个中断源申请中断,先被查询的先响应。查询次序决定了中断优先权次序,最先被查询的中断源具有最高的优先权。当前第20页\共有123页\编于星期三\8点2023/6/14微机原理及应用213、中断优先权管理如图,8个外设只要有中断请求,CPU检测到中断请求信号,响应中断;读入端口80H的内容,逐位判别确定当前申请中断的优先权最高的中断源,从而进入相应的中断服务程序。当前第21页\共有123页\编于星期三\8点2023/6/14微机原理及应用223、中断优先权管理(1)软件确定中断优先权软件查询流程图软件查询程序:INAL,80H;端口读入状态TESTAL,80H;JNZSERVE_ATESTAL,40HJNZSERVE_B……TESTAL,01HJNZSERVE_HHLT*软件查询次序就是优先权高低的次序;*软件确定中断优先权不需复杂的硬件电路,简单易实现;*中断源较多时,查询时间较长,中断响应较慢。*当中断源多于8个时,可多设置一个外设端口,先查询的外设端口优先权较高,后查询的端口优先权较低。当前第22页\共有123页\编于星期三\8点2023/6/14微机原理及应用233、中断优先权管理(2)硬件确定中断优先权
由硬件实现中断优先权的判别。
*常用的硬件电路有:中断优先权编码电路,链式优先权排队电路及专用硬件电路等。
*利用中断控制器8259A,它具有8个优先权控制,可以通过级联,扩展至64级优先权控制,且每级中断都可设置为允许或屏蔽。当前第23页\共有123页\编于星期三\8点2023/6/14微机原理及应用24二、8086/8088的中断系统
8086/8088CPU具有一个功能很强、管理高效且简便灵活的中断系统,可以处理多达256种中断源。采用向量中断方法,对256种中断只需一次间接访问就可获得任一中断源的中断服务程序的入口地址,中断响应快速。8086/8088CPU有两类中断:*内部中断由执行中断指令或特殊事件引起;*外部中断由外围设备接口向CPU的中断请求引脚INTR和NMI发出中断请求信号而引起的。当前第24页\共有123页\编于星期三\8点2023/6/14微机原理及应用25二、8086/8088的中断系统1、8086/8088的中断指令2、8086/8088的中断分类3、中断向量表4、8086/8088中断处理过程当前第25页\共有123页\编于星期三\8点2023/6/14微机原理及应用261、8086/8088的中断指令
8086/8088提供了3条中断操作指令。(1)中断指令指令格式: INT
n
;n=0~255,中断类型码指令操作:
SP-2→SP(修改堆栈指针),FR入栈,IF=0(中断标志置0,关中断,CPU不响应可屏蔽中断),TF=0(陷阱标志,TF=0,CPU正常执行程序),SP-2→SP(修改堆栈指针),CS入栈SP-2→SP(修改堆栈指针),IP入栈
[n×4]→IP[n×4+2]→CS当前第26页\共有123页\编于星期三\8点2023/6/14微机原理及应用271、8086/8088的中断指令中断向量就是中断服务程序的入口地址;中断类型码n×4即为该中断向量的存放地址;低字是IP,高字是CS,CPU取出CS和IP,转去执行中断服务程序。
INTn指令除了使IF=0和TF=0,对其他标志位没有影响;
INT指令(即n=3),称为断点中断指令,用于软件调试。当前第27页\共有123页\编于星期三\8点2023/6/14微机原理及应用281、8086/8088的中断指令(2)溢出中断指令指令格式:INTO ;与INT4等价指令操作:
溢出中断指令用于带符号数加减法运算后,由于运算溢出而产生中断。通常,写在一条算术运算指令后:若运算结果使OF=1,进入中断类型码为4的中断;否则,按顺序执行下一条指令。n×4=0010H中断向量存放地址为:当前第28页\共有123页\编于星期三\8点2023/6/14微机原理及应用291、8086/8088的中断指令(3)中断返回指令指令格式:IRET指令操作:IP,CS,FR依此出栈,SP+6→SP
所有中断服务程序,无论是软件中断,还是硬件中断,最后执行的指令一定是IRET,用以退出中断,返回断点。当前第29页\共有123页\编于星期三\8点2023/6/14微机原理及应用302、8086/8088的中断分类8086/8088的中断系统可以处理256种不同的中断。
所有可能产生的中断源有:可屏蔽中断INTR、非屏蔽中断NMI、指令中断INTn和特定条件下的中断,分为两类:内部中断外部中断当前第30页\共有123页\编于星期三\8点2023/6/14微机原理及应用312、8086/8088的中断分类内部中断
CPU不是通过外部中断请求而是通过内部逻辑进入中断,调用相应的中断服务程序,是CPU自启动的中断。
除单步中断外,所有内部中断均为非屏蔽型的。
内部中断主要用于解决程序运行中发生的一些意外情况、程序调试、用户定义的中断或者调用系统提供的一些标准中断服务程序。(1)除法出错中断(类型0);(2)单步中断(类型1);(3)断点中断(类型3);(4)溢出中断(类型4);(5)软件中断返回当前第31页\共有123页\编于星期三\8点2023/6/14微机原理及应用322、8086/8088的中断分类内部中断(1)除法出错中断(类型0)CPU在执行触发指令DIV和IDIV时,若发现除数为0,或商超过了寄存器所能表达的范围,就立即产生一个类型为0的内部中断,CPU转入除法错误中断处理程序。注意:此中断是由CPU自身产生,并没有对应的中断指令。当前第32页\共有123页\编于星期三\8点2023/6/14微机原理及应用332、8086/8088的中断分类内部中断(2)单步中断(类型1)此中断也是由CPU自身产生,没有对应的中断指令,它是由CPU对状态标志寄存器中的陷阱标志TF的测试而引起的。
TF=1,自动单步中断,用于程序调试。当前第33页\共有123页\编于星期三\8点2023/6/14微机原理及应用342、8086/8088的中断分类内部中断(3)断点中断(类型3)执行INT指令就产生一个类型为3的内部中断,称为断点中断。和单步中断类似,用于程序调试。当前第34页\共有123页\编于星期三\8点2023/6/14微机原理及应用352、8086/8088的中断分类内部中断(4)溢出中断(类型4)溢出中断是由CPU执行一条INTO指令实现的:当OF=1时,执行INTO就会进入类型码为4的内部中断;否则,按顺序执行。当前第35页\共有123页\编于星期三\8点2023/6/14微机原理及应用362、8086/8088的中断分类内部中断(5)软件中断当执行INTn指令时,形成中断,类型码由指令提供。从功能上来说,类似于调用子程序,但入口地址在中断向量表里。当前第36页\共有123页\编于星期三\8点2023/6/14微机原理及应用372、8086/8088的中断分类外部中断
通过外部的硬件产生,由送至CPU引脚NMI和INTR上的信号引起中断。分为两类:(1)非屏蔽中断(n=2)一旦在NMI引脚有中断请求,CPU立即响应。返回当前第37页\共有123页\编于星期三\8点2023/6/14微机原理及应用382、8086/8088的中断分类(2)可屏蔽中断,
从INTR脚引入,必须满足IF=1,且没有非屏蔽中断,CPU可以响应中断。中断请求信号是由电平触发,必须保存到CPU响应中断请求后才能撤除。中断允许标志IF的标志,可由指令设置:
STI——开中断,将IF置1;
CLI——关中断,将IF置0。当系统复位,或CPU响应中断后,都使IF置0。当前第38页\共有123页\编于星期三\8点2023/6/14微机原理及应用393、中断向量表
中断向量即中断服务程序的入口地址,用两个字表示,低字是IP,高字是CS。将所有中断源的中断向量集中存储在内存的指定空间内,这样一个指定的存储区称为中断向量表;
8086/8088的中断类型码用8位二进制表示,共有从n=0~FFh,256个中断向量;
中断向量表建立在内存空间最低1K地址;
地址范围:00000H—003FFH(即CS=0000H)。注意:中断类型码只能决定存放中断向量的地址,并不能决定中断向量本身和中断服务程序的功能。当前第39页\共有123页\编于星期三\8点2023/6/14微机原理及应用403、中断向量表在IBM-PC/XT机中,n=40H~0FFH,可以供用户设置中断向量。向中断向量表中写入中断向量,就是中断向量表的设置。(1)使用INT21H(2)用传送指令当前第40页\共有123页\编于星期三\8点2023/6/14微机原理及应用41(1)使用INT21H,设置中断向量操作步骤:①AH中预置功能号,AH=25H;②AL中预置要设置的中断类型码;③DS:DX中预置中断服务程序的入口地址;
(DS内是段地址,DX内是偏移地址)④执行INT21H
例题当前第41页\共有123页\编于星期三\8点2023/6/14微机原理及应用42使用INT21H,设置中断向量设中断服务程序的入口地址标号为INTSUB,中断类型码为40H,编写程序段设置中断向量。解:……PUSHDS ;将DS入栈,保存DSMOVDX,OFFSETINTSUB
;取INTSUB的偏移地址
MOVAX,SEGINTSUB
;取INTSUB的段基址
MOVDS,AX ;段基址送DSMOVAL,40H
;送中断类型码
MOVAH,25H ;送功能号
INT21H ;系统功能调用
POPDS ;恢复DS ……当前第42页\共有123页\编于星期三\8点2023/6/14微机原理及应用43用传送指令设置中断向量设中断服务程序的入口地址标号为INTSUB,中断类型码为40H,编写程序段设置中断向量。解:数据段
DATASEGMENTAT0000 ;设置数据段DATA段 ;从最低内存开始
ORG100H ;确定中断向量的位置在 ;40H×4=100H INT_SUBDW2DUP(?) ;预留两字内存
DATAENDS 当前第43页\共有123页\编于星期三\8点2023/6/14微机原理及应用44用传送指令设置中断向量——代码段CODESEGMENT ……CLI ;设置IF=0,关中断
PUSHDS ;DS入栈
MOVAX,DATA MOVDS,AX ;取DATA的段基址
MOVINT_SUB
,OFFSET
INTSUB
;取INTSUB的偏移;地址送到INT_SUBMOVINT_SUB+2,SEG
INTSUB;取INTSUB的段基址 ;送到INT_SUB+2 POPDS ;恢复DSSTI ;设置IF=1,开中断CODEENDS 当前第44页\共有123页\编于星期三\8点2023/6/14微机原理及应用454、8086/8088的中断处理过程8086/8088中断处理过程包含:中断请求、中断排队、中断响应、中断服务和中断返回。讨论:(1)中断响应条件(2)中断处理顺序(3)中断类型码的获取(4)中断响应过程当前第45页\共有123页\编于星期三\8点2023/6/14微机原理及应用46(1)中断响应条件
任何一种中断,都要待CPU执行完当前指令后方能响应中断。①当CPU执行LOCK时,要等后面的指令完成后才能响应中断;②设置段寄存器内容的指令和下条指令之间不允许中断;③在等待指令和重复串操作指令执行过程中,可响应中断,但必须在一个基本操作完成以后。当上述情况满足后,有内部中断、NMI、INTR(且IF=1),CPU将暂时终止现行程序,进入中断响应。当前第46页\共有123页\编于星期三\8点2023/6/14微机原理及应用47(2)中断处理顺序
中断处理顺序即按中断优先权从高到低的排队顺序对中断源进行响应。
8086/8088系统的中断处理次序如下:①除法错误中断、溢出中断、INTn;②NMI(非屏蔽中断);③INTR(可屏蔽中断,需判断IF=1?);④单步中断。当前第47页\共有123页\编于星期三\8点2023/6/14微机原理及应用48(2)中断处理顺序①当CPU进入中断响应时,保护FR,TF送暂存TEMP,然后清除IF和TF,以保护本中断服务不被可屏蔽中断打断;中断返回时,FR恢复;②NMI的请求拥有最高优先权,需要立即处理;③没有NMI,查看TEMP,以确定是否单步执行?④一个中断被响应,CPU进入中断服务程序;在中断服务程序中,设置了开中断,即设置IF=1,则不但可以响应NMI,也可响应优先权更高的INTR;⑤多个中断同时发生,按优先权从高到低响应。当前第48页\共有123页\编于星期三\8点2023/6/14微机原理及应用49(3)中断类型码的获取
8086/8088的中断系统是根据中断类型码从中断向量表中取得中断服务程序的入口地址的。①专用中断0—4,由硬件逻辑电路自动提供;②INTn指令的第二字节为中断类型码,因而软件中断指令是从指令中直接获得;③外部可屏蔽中断由外部硬件电路在中断响应时向CPU提供中断类型码。当前第49页\共有123页\编于星期三\8点2023/6/14微机原理及应用50(4)中断响应过程期。由两个INTA总线周期组成。当INTR请求被响应时,CPU进入了中断响应周通知申请中断的外设准备好中断INTA类型码,在第二个第一个INTA时送上数据总线。当前第50页\共有123页\编于星期三\8点2023/6/14微机原理及应用51(4)中断响应过程
INTR被响应时,CPU实际执行的过程如下:①CPU取得中断类型码后,左移两位,存入内部暂存器;②FR入栈;③IF置零,TF置零;④CS入栈;⑤IP入栈;⑥中断向量低字送IP;⑦中断向量高字送CS。当前第51页\共有123页\编于星期三\8点2023/6/14微机原理及应用52三、中断控制器8259A1、8259A基本构成与引脚信号2、8259A工作过程3、8259A的工作方式4、8259A编程方法当前第52页\共有123页\编于星期三\8点2023/6/14微机原理及应用531、8259A基本构成与引脚信号(1)8259A是一种功能很强的可编程中断控制器,是28脚芯片,具有很强的功能。(2)8259A的基本构成和引脚功能当前第53页\共有123页\编于星期三\8点2023/6/14微机原理及应用548259A的基本构成
IRR是一个8位寄存器,用于锁存所有从IRi引脚输入的中断请求信号。输入线IR7—IR0分别连接8个中断源的中断请求信号,当中断源有中断请求时,在相应的IR引脚上送入有效信号,IRR中相应的位就置位,以锁存该中断请求信号。
中断请求寄存器IRR
中断源当前第54页\共有123页\编于星期三\8点2023/6/14微机原理及应用558259A的基本构成*PR用于识别各中断请求的优先权级别,并进行优先权管理。*各中断请求的优先权级别可以由CPU定义或修改。*若IRR有几位被置位,且未被屏蔽,表明有多个中断源同时申请中断。则由PR经过判断确定最高优先权的中断请求,并在CPU响应周期内,将它送入ISR中相应的位。优先权判别器PR
中断源当前第55页\共有123页\编于星期三\8点2023/6/14微机原理及应用568259A的基本构成*中断服务寄存器ISR为8位寄存器,用于记录已被CPU响应的中断。*在中断响应周期里,由PR根据IRR和IMR的状态,确定先被响应的中断请求,送至ISR,使相应的位被置位,并一直保持(自动EOI方式例外)。由EOI命令复位。中断服务寄存器ISR中断源若ISR中有多个位被置位,是什么原因?当前第56页\共有123页\编于星期三\8点2023/6/14微机原理及应用578259A的基本构成*中断屏蔽寄存器IMR也是8位寄存器,用于存放对中断请求的屏蔽信息,其内容可编程设定。*IMR中的8个位对应IR7—IR0这8个中断请求,当IMR中某位被置位,对应的中断请求就被屏蔽。
则,IRR对应的位虽被置位,但不能送出它的中断请求信号给CPU,由此实现对各中断有选择的屏蔽。中断屏蔽寄存器IMR
中断源当前第57页\共有123页\编于星期三\8点2023/6/14微机原理及应用588259A的基本构成*数据总线缓冲器为8位双向三态缓冲器,是8259A与CPU间数据传输的通道。*CPU通过数据总线缓冲器向8259A送初始化命令和操作命令字,或是读取状态信息。*在中断响应周期,8259A通过数据总线缓冲器向CPU送出中断类型码。数据总线缓冲器
当前第58页\共有123页\编于星期三\8点2023/6/14微机原理及应用598259A的基本构成*读/写控制电路的逻辑功能就是负责接收CPU发来的控制信号,完成规定的写入命令操作以及读IRR、ISR和IMR的操作。*该片8259A的操作过程中,片选CS必须有效。读/写控制逻辑
当前第59页\共有123页\编于星期三\8点2023/6/14微机原理及应用608259A的基本构成
*级联缓冲/比较器用于实现8259A的级联,构成主从式中断管理系统,使中断源由8级扩展到64级。*级联线CAS2—CAS0
在主从式中断管理系统中,全部8259A对应相连;主片8259A,其为输出线,CPU响应中断时,输出级联设备编码,选中对应的从片;从片的8259A,其为输入线,接收来自主片的设备编码。级联缓冲/比较器
当前第60页\共有123页\编于星期三\8点2023/6/14微机原理及应用618259A的基本构成*控制电路逻辑根据CPU编程设定的工作方式产生片内控制信号,控制片内的工作;*同时,根据IRR、IMR的内容和PR判断结果,向CPU发出中断请求,接受来自CPU的中断响应信号。控制逻辑
当前第61页\共有123页\编于星期三\8点2023/6/14微机原理及应用62引脚功能
1、中断请求输入线IR7—IR0接受来自外设或8259A从片的中断请求信号。可设置为上升沿触发或高电平触发。中断请求输入线
当前第62页\共有123页\编于星期三\8点2023/6/14微机原理及应用63引脚功能*双向三态数据线D7—D0可与系统数据总线直接相连,称为非缓冲方式工作;*也可通过总线缓冲器与系统数据总线相连,称为缓冲方式工作。
双向三态数据线
当前第63页\共有123页\编于星期三\8点2023/6/14微机原理及应用64引脚功能中断请求线INT,输出信号,通常与CPU的可屏蔽中断输入端INTR相连,向CPU发送中断请求信号。
中断请求线当前第64页\共有123页\编于星期三\8点2023/6/14微机原理及应用65引脚功能*接收CPU在中断响应周期发来的中断响应信号,8259A接到此信号后,送上中断类型码;*中断类型码由编程设定。中断响应线中断响应线当前第65页\共有123页\编于星期三\8点2023/6/14微机原理及应用66引脚功能*由CPU的高位地址线控制,低电平时,表示8259A被选中,允许CPU对8259A进行读或写操作;*高电平时,表示未选中该片。片选信号线
片选线当前第66页\共有123页\编于星期三\8点2023/6/14微机原理及应用67引脚功能地址线A0用以选择8259A内部不同寄存器。*在8088系统中,A0与CPU的A0相连;*在8086系统中,8259A的D7—D0与系统数据线低8位相连,而CPU与偶地址传递低8位数据信息,所以A0应与8086CPU的A1相连。地址线
当前第67页\共有123页\编于星期三\8点2023/6/14微机原理及应用68引脚功能当读信号低电平时,允许8259A将中断请求寄存器IRR、中断服务寄存器ISR、中断屏蔽寄存器IMR的内容送上数据总线,供CPU读取。读信号读信号当前第68页\共有123页\编于星期三\8点2023/6/14微机原理及应用69引脚功能写信号低电平时,允许CPU将命令字写入8259A。写信号写信号当前第69页\共有123页\编于星期三\8点2023/6/14微机原理及应用70引脚功能*级联线CAS2—CAS0
在主从式中断管理系统中,全部8259A的CAS2—CAS0与对应端相连。*作为主片的8259A,其CAS2—CAS0为输出线,在CPU响应中断时,用来输出级联设备编码,选中对应的从片;*作为从片的8259A,其CAS2—CAS0为输入线,接收来自主片的设备编码。级联线当前第70页\共有123页\编于星期三\8点2023/6/14微机原理及应用71引脚功能非缓冲方式工作时,作为输入线,*高电平时,表示该8259A为主片;*低电平时,表示该8259A为从片。缓冲方式下工作时,作为输出线,用于控制缓冲器接收和发送。从片编程/缓冲使能
从片编程/缓冲使能与CAS2-CAS0实现8259A的级联当前第71页\共有123页\编于星期三\8点2023/6/14微机原理及应用728259A的主要功能(1)每一片8259A可管理8级中断,通过级联,最多可以管理64级中断;(2)每级中断源都可单独进行屏蔽或允许;(3)在中断响应周期,能向CPU提供中断类型码,从而使CPU获得相应的中断向量;(4)允许多级中断嵌套;(5)可设置多种中断优先权管理方式,(6)8259A是可编程芯片,用户可通过编程选择不同的工作方式;(7)具有中断查询方式功能,使CPU以查询方式与各外设进行I/O操作。当前第72页\共有123页\编于星期三\8点2023/6/14微机原理及应用732、8259A工作过程当有外部中断请求时,8259A处理过程:
(1)中断请求寄存器IRR接受外部中断请求并锁存,当中断屏蔽寄存器IMR为0时,则中断请求进入优先权判别器PR,由PR判断是否当前优先权最高?如果是,则8259A的INT为1,向CPU的INTR发出中断请求;当前第73页\共有123页\编于星期三\8点2023/6/14微机原理及应用742、8259A工作过程
8259A使中断服务寄存器ISR的相应位置1,并将中断请求寄存器IRR的相应位清零,再送出中断类型码;断,发回信号;(2)当CPU的中断允许标志IF=1,CPU响应中INTA当前第74页\共有123页\编于星期三\8点2023/6/14微机原理及应用752、8259A工作过程(3)若允许中断嵌套,则由8259A的PR依据ISR中的状态,判断新的中断请求优先权是否高于正在服务的中断。若是,则送出INT=1,向CPU的INTR发中断请求信号,从而实现中断嵌套。(4)当中断服务结束时,CPU送出中断结束命令,使8259A清除ISR的相应位,从而结束一个中断服务。当前第75页\共有123页\编于星期三\8点2023/6/14微机原理及应用763、8259A的工作方式
8259A具有十分灵活的运行方式,,可以通过编程设定工作方式,满足用户对中断管理的不同要求。
主要工作方式:
(1)中断请求触发方式 (2)屏蔽中断源方式 (3)中断优先权设置方式
(4)中断结束(EOI)方式
(5)连接系统总线方式 (6)中断查询方式
(7)级联方式
当前第76页\共有123页\编于星期三\8点2023/6/14微机原理及应用77(1)中断请求触发方式 *电平触发 *边沿触发当前第77页\共有123页\编于星期三\8点2023/6/14微机原理及应用78电平触发
8259A将中断请求输入线上出现高电平作为有效的中断请求信号。
注意:当中断请求输入端出现一个高电平并得到CPU响应时,应及时撤消信号。否则,在CPU进入中断处理过程,开放中断后,会引起错误的第二次中断。限定中断源产生的中断请求触发电平的时间,持续至CPU响应它的第一个INTA脉冲的下降沿。当前第78页\共有123页\编于星期三\8点2023/6/14微机原理及应用79边沿触发
8259A将中断请求输入线出现的上升沿作为中断请求信号。上升沿触发后,可一直保持高电平,而不会产生重复触发。通常用负脉冲的后沿实现边沿触发。当前第79页\共有123页\编于星期三\8点2023/6/14微机原理及应用80(2)屏蔽中断源方式 *普通屏蔽方式 *特殊屏蔽方式当前第80页\共有123页\编于星期三\8点2023/6/14微机原理及应用81普通屏蔽方式
CPU对8259A的中断屏蔽寄存器IMR写入命令字OCWl,使IMR中的某个位或几个位置1,对应的中断请求就被屏蔽,从而不能被8259A送到CPU。而IMR中被置0的那些位对应的中断请求允许从8259A送到CPU。对中断屏蔽可以随时修改,即通过对命令字OCWl的重新设置,实现对某些中断的屏蔽。当前第81页\共有123页\编于星期三\8点2023/6/14微机原理及应用82特殊屏蔽方式是在中断服务程序中使用,用于中断嵌套,实现在高优先权的中断服务程序中开放低优先权的中断请求。实现:在中断服务程序中,用命令字OCW1对中断屏蔽寄存器IMR中相应的位置1,且清除当前中断服务寄存器ISR对应的位,从而开放低优先权的中断请求。当前第82页\共有123页\编于星期三\8点2023/6/14微机原理及应用83(3)中断优先权设置方式 *普通全嵌套方式 *特殊全嵌套方式 *优先权自动循环方式 *优先权特殊循环方式当前第83页\共有123页\编于星期三\8点2023/6/14微机原理及应用84普通全嵌套方式这是8259A最基本、最常用的工作方式,若对8259A初始化后没有设置其它优先权方式,则默认为此方式。普通全嵌套方式中,8259A的8个中断源请求的优先权级别,按照IR0优先权最高、IR7优先权最低的固定优先权顺序。当一个中断被响应后,只有比它高优先权的中断请求才会被响应。当前第84页\共有123页\编于星期三\8点2023/6/14微机原理及应用85特殊全嵌套方式与普通全嵌套方式基本相同,优先权顺序按照IR0优先权最高、IR7优先权最低的固定顺序。唯一不同在于:若CPU正在处理某一级中断时,如果有同级的中断请求,8259A也会送出中断请求给CPU。
特殊全嵌套方式是对同级中断的一种中断嵌套。一般用在8259A级联的系统中,设定主片为特殊全嵌套方式。当某一从片的中断请求正在被处理时,既开放主片上其他优先权高的中断请求,同时也开放了同一从片上的较高优先权的中断请求。当前第85页\共有123页\编于星期三\8点2023/6/14微机原理及应用86优先权自动循环方式一个系统的几个中断源的重要性差别不大,因而希望它的优先权不是固定不变的。优先权自动循环方式下,优先权顺序是在变化的:初始时,IR0为最高优先权,IR7为最低优先权;当一个中断被CPU响应后,它的优先权自动降为最低的;原在其下一级的中断升为最高优先权,其余循环类推。假设,初始时有IR3中断请求,且被CPU响应,当IR3的中断服务结束后,IR3降为最低优先权。此时的优先权顺序变为:IR4、IR5、IR6、IR7、IR0、IRl、IR2、IR3。当前第86页\共有123页\编于星期三\8点2023/6/14微机原理及应用87优先权特殊循环方式与优先权自动循环方式相似,优先权的顺序是变化的,当一个中断被CPU响应,它的优先权自动降为最低。
优先权特殊循环方式中,初始最低优先权是由编程设定的。
设编程时设定IR4为最低,则初始优先权顺序由高至低为:IR5、IR6、IR7、IR0、IRl、IR2、IR3、IR4。优先权顺序还可在执行EOI命令时指明最低优先权。当前第87页\共有123页\编于星期三\8点2023/6/14微机原理及应用88(4)中断结束(EOI)方式当一个中断请求被响应,8259A在中断服务寄存器ISR的相应位置l。当中断服务结束时,必须将ISR中相应的位清0,进行中断结束操作。 *自动中断结束方式
*普通中断结束方式 *特殊中断结束方式
当前第88页\共有123页\编于星期三\8点2023/6/14微机原理及应用89自动中断结束方式
CPU一旦进入中断响应周期,8259A就自动将当前中断服务寄存器ISR中相应的位清0。这时,尽管CPU正在为某个中断源服务,但在8259A的ISR中没有对应位置1,优先权判别器PR不能依据ISR正确判别是否接收新的中断请求,就会出现低优先权中断打断高优先权中断的情况。
自动中断结束方式通常用在不允许中断嵌套的场合。当前第89页\共有123页\编于星期三\8点2023/6/14微机原理及应用90普通中断结束方式普通中断结束方式用在普通全嵌套情况下。在中断服务结束时,必须由CPU用OUT指令发来一个普通EOI命令,8259A收到后,将当前中断服务寄存器ISR中的已置1的最高优先权的位复位。当前第90页\共有123页\编于星期三\8点2023/6/14微机原理及应用91特殊中断结束方式特殊中断结束方式多用于优先权循环情况下。由CPU在中断服务结束时,发出一条特殊EOI命令,指明要清除ISR中的哪一位。
注意:在级联方式下,一般不用自动EOI方式,而用普通中断结束或特殊中断结束方式。一个中断结束可能要发两次EOI命令,一次对主片,一次对从片,分别清除主、从片的ISR中相应位。当前第91页\共有123页\编于星期三\8点2023/6/14微机原理及应用92(5)连接系统总线方式*缓冲方式—8259A通过总线缓冲器和系统数据总线相连。8259A的端和总线缓冲器的允许端相连。输出的低电平作为总线缓冲器的启动信号。*非缓冲方式—8259A直接与数据总线相连。为输入端。单片的8259A系统,作接高电平;多片8259A的级联系统,主片接高电平,从片接低电平。当前第92页\共有123页\编于星期三\8点2023/6/14微机原理及应用93(6)中断查询方式
8259A提供了中断查询方式。这种方式下,外设仍然靠中断请求要求服务,但CPU不是通过对中断请求的响应,而是靠主动查询实现对外设的服务。在CPU为关中断情况下,外设的中断请求信号不被响应,但CPU可以通过查询方式检查请求中断的外设,获取中断请求信号,从而进入中断服务。当前第93页\共有123页\编于星期三\8点2023/6/14微机原理及应用94(7)级联方式
8259A可以及联使用,一个主8259A可以最多带8个从8259A,将中断源扩展到64级。级联方式下,从片的INT端接至主片的IRi端,从片上的中断请求通过主片的INT送至CPU;CPU发来的中断响应信号送至主、从片上。主8259A在级联线上CAS2—CAS0送出相应的标识符编码,若从片的标识符与主片送出的相同,该动作,而由该从片送上中断类型码。从片的起作用。在第二个负脉冲时,主片不当前第94页\共有123页\编于星期三\8点2023/6/14微机原理及应用95(7)级联方式通常主片采用特殊全嵌套方式,允许同一从片上优先权高的中断请求打断优先权低的中断请求。其余的工作方式、寄存器读取方法与单片系统基本相同。8259A的级联除对中断响应信号的操作与单片系统不同外,优先权的设置也不同。当前第95页\共有123页\编于星期三\8点2023/6/14微机原理及应用964、8259A编程方法
8259A为可编程的中断控制器,它的工作状态和操作是由接收CPU的命令而确定的。
8259A在开始使用前,首先写入初始化命令字,使其处于预定的初始状态;初始化命令字设定后,在整个系统工作过程中保持不变;
操作命令字用来控制8259A执行不同的操作方式。初始化命令字设置后,在8259A工作期间的任何时刻都可设置操作命令字,且允许重置操作命令字动态地改变8259A的操作方式。 作业当前第96页\共有123页\编于星期三\8点2023/6/14微机原理及应用97初始化命令字初始化命令字有4个: ①ICW1格式 ②ICW2格式 ③ICW3格式 ④ICW4格式8259A在使用前首先必须对它进行初始化,使其处于预定的初始状态,初始化命令字设定后,整个工作过程中保持不变。例题当前第97页\共有123页\编于星期三\8点2023/6/14微机原理及应用98ICW1格式D4=1,A0=0表示设置的是ICW1注意:A0=0,表示输入8259A低地址端口;当前第98页\共有123页\编于星期三\8点2023/6/14微机原理及应用99ICW2格式ICW2用于设置中断类型码。注意:
A0=1,表示输入8259A高地址端口。当前第99页\共有123页\编于星期三\8点2023/6/14微机原理及应用100ICW3格式ICW3是在级联方式下设置的初始化命令字。当ICW1中D1=1,单片使用,不需要ICW3;当ICW1中D1=0
,表示8259A工作于级联方式,必须设置ICW3。当前第100页\共有123页\编于星期三\8点2023/6/14微机原理及应用101ICW3格式*假设,主片ICW3=01010011,表示该从片的INT连至主片的IR7
表示IR6、IR4、IR1、IR0上接有从片*假设,从片ICW3=00000111,当前第101页\共有123页\编于星期三\8点2023/6/14微机原理及应用102ICW4格式当ICW1的D0=1,需要设置ICW4。D7D6D5=000ICW4的标志SFNM=1,用于指明是否选择特殊全嵌套方式,一般在使用多片8259A中使用,主片即选用特殊全嵌套方式。当前第102页\共有123页\编于星期三\8点2023/6/14微机原理及应用103例题解:其初始化程序如下: ……MOVAL,13H ;设置ICW1=00010011,即采用边沿 ;触发,单片,需要ICW4OUT80H,AL ;ICW1写入地址A0=0MOVAL,18H ;ICW2=00011000,确定ICW2的高5位OUT81H,AL ;ICW2写入地址A0=1MOVAL,0DH ;ICW4=00001101,即普通嵌套方式, ;缓冲方式,非自动中断结束方式,用 ;于8086/8088OUT81H,AL ;ICW4写入地址A0=1 ……单片8259A的端口地址是80H和81H,采用边沿触发,普通嵌套方式,缓冲方式,非自动中断结束方式,需要ICW4,中断类型码是18H—1FH,请对8259A进行初始化。当前第103页\共有123页\编于星期三\8点2023/6/14微机原理及应用104操作命令字向8259A写入初始化命令字后,8259A就处于设定的工作状态,随时准备接受中断请求信号,按要求管理中断;自动进入操作命令状态,在任何时刻都可以设置操作命令字,选择其不同的操作方式;
操作命令字用于规定中断屏蔽、中断结束、优先权循环和中断状态的读出和查询等等。操作命令字有三个,根据需要输入,无需按顺序。 ①OCW1 ②OCW2 ③OCW3
例题当前第104页\共有123页\编于星期三\8点2023/6/14微机原理及应用105OCW1OCW1的功能用来动态地设置中断源的屏蔽状态。CPU也可以从8259A的高地址端口读取中断屏蔽寄存器IMR的内容。假设,OCW1=33H
—表示IR5、IR4、IR1、IR0引脚上的中断被屏蔽,其余中断请求允许;当前第105页\共有123页\编于星期三\8点2023/6/14微机原理及应用106OCW2D4D3=00:可作为OCW2的标志位。D5:即EOI,中断结束命令位。OCW2的功能
就是用于控制中断结束,优先权循环等操作方式。当前第106页\共有123页\编于星期三\8点2023/6/14微机原理及应用107OCW2若ICW4中AEOI=0,表明设置非自动中断结束方式,则在中断服务程序最后中断返回前必须设置中断结束(EOI)命令。
EOI置1为一个EOI命令,执行此命令将清除8259A的中断服务寄存器ISR具有最高优先权的位或由L2—L0指定的位;
R、SL、EOI三位配合使用选择中断结束和优先权循环的操作方式。当前第107页\共有123页\编于星期三\8点2023/6/14微机原理及应用108OCW2假设,OCW2=01100011, 是特殊EOI命令,清除ISR指定的位(即D3);
OCW2=10000000, 设置为工作于中断优先权自动循环方式。优先权初始次序由高至低为IR0→IR7,当一个中断被处理返回后,自动降为最低级,其下一级作为最高级,其余依次类推。OCW2=11100010, 清除ISR中当前中断对应的位,指定当前系统的最低优先权级(IR2)
。中断返回后,优先权次序改为IR3、IR4、IR5、IR6、IR7、IR0、IRl、IR2。 当前第108页\共有123页\编于星期三\8点2023/6/14微机原理及应用109OCW3OCW3用于控制8259A的运行方式。包括设置或撤销特殊屏蔽方式和查询方式,可读出8259A的中断请求寄存器IRR,中断服务寄存器ISR等。P=1,查询D4D3=01OCW3的标志当前第109页\共有123页\编于星期三\8点2023/6/14微机原理及应用110OCW3当CPU发来一个OCW3查询命令(P=1):假设,此时优先权次序为IR3、IR4、IR5、IR6、IR7、IR0、IRl、IR2
,且IR5、IRl有中断请求。随后,CPU执行一条输入指令,便可得到查询字:85H查询字格式=1,有中断请求优先权最高位当前第110页\共有123页\编于星期三\8点2023/6/14微机原理及应用111OCW3CPU不必设置OCW3,可随时在高地址读取IMR的值;而读取IRR和ISR之前,必须先发一个OCW3命令字。D1D0:读取8259A的IRR或ISR的值当前第111页\共有123页\编于星期三\8点2023/6/14微机原理及应用112OCW3假设,8259A的端口地址为20H,21H,MOVAL,0AH ;设置OCW3,其中D1D0=10OUT20H,AL ;从低端口输出NOP ;等待INAL,20H ;读入IRR的内容如果需要读入ISR的内容,如何修改?当前第112页\共有123页\编于星期三\8点2023/6/14微机原理及应用113R、SL、EOI组合RSL
EOI意义及应用000结束优先权自动循环方式。用于方式设置001普通中断结束命令。用于普通全嵌套方式中的中断结束010无意义*011特殊中断结束命令。清除ISR中指定位100设置优先权自动循环方式。用于方式设置101普通中断结束命令并设置优先权自动循环,优先权次序移一级*110指定优先权特殊循环方式的最低级。用于方式设置*l11普通中断结束命令并设置优先权特殊循环,指定新的最低级注:有信号的组合,OCW2的L2~L0有效当前第113页\共有123页\编于星期三\8点2023/6/14微机原理及应用114例题(1)1、已知8259A的端口地址是20H,21H,读取其中断请求寄存器IRR和中断服务寄存器ISR的内容。解: …MOVAL,0AH;OCW3=00001010,读IRR寄存器OUT20H,AL ;OCW3输出到8259A的低地址NOP ;空操作,等待3个时钟周期INAL,20H ;从低地址读入IRR的内容
…当前第114页\共有123页\编于星期三\8点2023/6/14微机原理及应用115例题(2)2、修改中断屏蔽寄存器IMR内容,使IR5的中断请求被屏蔽,开放IR3的中断请求,其余不变,8259A的端口地址60H,62H。解:OCW1对应位为0,开中断;对应位为1,禁止中断;CPU从8259A高地址读取的内容就是中断屏蔽寄存器IMR的内容。
…INAL,62H ;从高地址读入IMRANDAL,0F7H ;读入的IMR与11110111,即IR3置0ORAL,20H ;以上IMR的值或00100000,即IR5置1OUT62H,AL ;从高地址写入IMR … 当前第115页\共有123页\编于星期三\8点2023/6/14微机原理及应用116例题(3)3、8259A当前中断服务寄存器ISR的内容代表什么?在中断嵌套和单个中断情况下,ISR的内容有什么不同?
解:中断服务寄存器ISR记录了正被CPU响应的中断(在非自动EOI方式下)。ISR是8位寄存器,8个位分别对应8个中断源IRi,若某个中断源的中断请求被CPU响应,则对应位置1。单个中断被响应时,ISR中只有一个位为1。中断嵌套时ISR中有两个以上的位为1,表明一个中断未处理结束,又转入更高优先权的中断处理中。所以ISR表示当前有哪些正在响应的中断存在。
当前第116页\共有123页\编于星期三\8点2023/6/14微机原理及应用117例题(4)4、8259A按中断结束方式分有哪几种
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天津大学《数据库系统设计实践》2023-2024学年第二学期期末试卷
- 菏泽学院《医学影像设备安装与维修学》2023-2024学年第二学期期末试卷
- 肇庆医学高等专科学校《可编程控制器技术》2023-2024学年第二学期期末试卷
- 信阳航空职业学院《建筑设计基础二》2023-2024学年第二学期期末试卷
- 哈尔滨传媒职业学院《毕业论文写作》2023-2024学年第二学期期末试卷
- 湖州学院《微信小程序开发与实践》2023-2024学年第二学期期末试卷
- 重庆移通学院《Pthon数据分析与挖掘基础》2023-2024学年第二学期期末试卷
- 广州航海学院《体育(上)》2023-2024学年第二学期期末试卷
- 四川应用技术职业学院《工程制图与CAD》2023-2024学年第二学期期末试卷
- 温州科技职业学院《智能汽车传感技术》2023-2024学年第二学期期末试卷
- 《道路建筑材料绪论》课件
- 医学遗传学教案-山东大学医学遗传学
- 2025年湖南现代物流职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 第二十章手术减肥及体形塑造美容手术美容外科学概论讲解
- 2025年苏州卫生职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 履带式剪叉高空作业平台安全操作规程
- 《水稻育秧技术新》课件
- 2024-2025年第一学期初中德育工作总结
- 围手术期手术患者护理要点
- 2025年大连长兴开发建设限公司工作人员公开招聘高频重点提升(共500题)附带答案详解
- 货物学 课件1.3货物的计量
评论
0/150
提交评论