9-中断控制器(1).ppt
《9-中断控制器(1).ppt》由会员分享,可在线阅读,更多相关《9-中断控制器(1).ppt(89页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1第九章第九章 中断控制器中断控制器2中断的基本概念中断的基本概念一、什么是中断:一、什么是中断:指指CPU在正常运行程序时,由于内部或外部事件引起在正常运行程序时,由于内部或外部事件引起CPU暂暂时中止执行现行程序,转去执行请求时中止执行现行程序,转去执行请求CPU为其服务的那个外为其服务的那个外设或事件的服务程序,待该服务程序执行完后又返回到被中设或事件的服务程序,待该服务程序执行完后又返回到被中止的程序这样一个过程。止的程序这样一个过程。中断服务程序:中断服务程序:处理中断处理中断事件的程序段。事件的程序段。中断断点:中断断点:被中断中止的被中断中止的原程序的下一条指令的地原程序的下一条
2、指令的地址。址。3例:例:设某中断源的类型码为设某中断源的类型码为4AH,试画出求中,试画出求中断服务处理程序的示意图。断服务处理程序的示意图。解:解:中断向量表指针为中断向量表指针为4*n=4*4AH=128H,即:即:0000:0128H。通过中断向量表,中断服务程序的入口通过中断向量表,中断服务程序的入口地址为地址为0F000H:1806H。如图:。如图:48086系统的中断类型和中断向量表系统的中断类型和中断向量表中断向量表物理地址单元内容INT 4AH地址单元内容 I P=1806H CS=F000HF000:180600000 H类型 0中断处理程序入口地址MOV AL,300:0
3、124类 型49 H中 断向 量00001 H0:01250:0126 向量地址:4AH*4=0128H0:012700004 H类型 1中断处理程序入口地址0:012806 H0:012918 H0:012A00 H0:012BF0 H00008 H0:012C类 型4B H中 断向 量0:012D0:012E0:012F中断处理服务程序IRET003FF H类型 FFH中断处理程序入口地址5u当当有有多多个个中中断断源源同同时时请请求求时时,CPU就就要要识识别别出出是是哪哪些些中中断断源源有有中中断断请请求求,辨辨别别和和比比较较它它们们的的优优先先权权,先先响响应应优优先先权权级级别别
4、最最高高的的中中断申请。断申请。u这这种种把把多多个个中中断断源源按按轻轻重重缓缓急急的的优优先先处处理理权权按按由由高高到到低低的的顺顺序序排排列列,称称之之为为中中断断优优先先权排队。权排队。中断优先权排队中断优先权排队:6若若CPU正正在在处处理理某某一一中中断断过过程程时时,出出现现了了级级别别更更高高的的中中断断请请求求,CPU应应能能停停止止执执行行级级别别低低的的中中断断服服务务程程序序而而去去处处理理级级别别更更高高的的中中断断,等等高高级级别别中中断断处处理理完完,再再处处理理未未处处理理完完的的低低级级中中断断,它它处处理理完完,再再回回到到主主程程序序。这这种种方方式式称
5、称为为多多重重中中断断或或中中断断嵌嵌套套。下下图图为为一一个个三三级级中中断断处处理理过过程程。图图中中,外设外设C的优先级最高,外设的优先级最高,外设B次之,外设次之,外设A最低。最低。中断嵌套中断嵌套79.1 可编程中断控制器可编程中断控制器8259A8259A 一、一、8259协助协助CPU处理中断事务所做的工作处理中断事务所做的工作u中断源的优先级排队管理中断源的优先级排队管理u接受、扩充外设的中断请求接受、扩充外设的中断请求u向向CPU提供中断类型号提供中断类型号u实施中断请求的禁止和允许实施中断请求的禁止和允许81、8259A的引脚:的引脚:二、二、8259A的引脚功能及内部结构
6、的引脚功能及内部结构 98259A的内部结构框图的内部结构框图 二、二、8259A的引脚功能及内部结构的引脚功能及内部结构 10二、二、8259A的引脚功能及内部结构的引脚功能及内部结构 l8259A引脚功能引脚功能 8259A是是28个个引引脚脚封封装装的的双双列列直直插插封封芯芯片片,芯芯片片引引脚脚功功能定义如下:能定义如下:nD7D0:双向、三态数据线,可与系统的数据总线直接相双向、三态数据线,可与系统的数据总线直接相连。连。nWR:写控制信号,输入,低电平有效。与控制总线上的信写控制信号,输入,低电平有效。与控制总线上的信号相连。号相连。nRD:读控制信号,输入,低电平有效。与控制总
7、线上的信读控制信号,输入,低电平有效。与控制总线上的信号相连。号相连。nCS:片选信号,输入,低电平有效。片选信号,输入,低电平有效。CPU的高位地址经地的高位地址经地址译码电路选中它。址译码电路选中它。nINT:中断请求信号,输出,高电平有效。是中断请求信号,输出,高电平有效。是8259A向向CPU输出的中断请求。输出的中断请求。11二、二、8259A的引脚功能及内部结构的引脚功能及内部结构 A0:地址选择信号,输入,用来选择内部端口。地址选择信号,输入,用来选择内部端口。8259A只有两个端口地址,常把只有两个端口地址,常把A0=0所对应的端口所对应的端口称为称为“偶端口偶端口”,把,把A
8、0=1所对应的端口称为所对应的端口称为“奇端奇端口口”。当当8259A与与8位位CPU8088相连时,其相连时,其A0其可直接其可直接与与8088的的A0线相连;线相连;当当8259A与与16位位CPU8086相相连连时时,由由于于其其D7D0接接8086的的低低8位位,因因此此,8086的的A1接接到到该该引引脚脚,此时此时8259A的端口均为偶地址。的端口均为偶地址。12二、二、8259A的引脚功能及内部结构的引脚功能及内部结构 nINTA:中断响应信号,输入,低电平有效。接中断响应信号,输入,低电平有效。接收来自收来自CPU的中断响应信号的中断响应信号INTA。nIR7IR0:外设向外设
9、向8259A发出的中断请求信号,发出的中断请求信号,输入,高电平有效。接收来自外设接口发出的中输入,高电平有效。接收来自外设接口发出的中断请求。断请求。nCAS2CAS0:级连信号线,双向。当级连信号线,双向。当8259A作为主片时,为输出线;当作为主片时,为输出线;当8259A作为从片时,为作为从片时,为输入线。输入线。13SP/EN:主从片设定主从片设定/允许缓冲信号,双向双功能,允许缓冲信号,双向双功能,低电平有效。低电平有效。n 8259数数据据线线与与系系统统数数据据总总线线间间连连接接方方式式采采用用非非缓缓冲冲方方式式(即即直直接接相相连连,无无数数据据总总线线驱驱动动器器)时时
10、,作为作为输入输入。主主8259接高电平,从接高电平,从8259接低电平。接低电平。n 8259数数据据线线与与系系统统数数据据总总线线间间连连接接方方式式采采用用缓缓冲冲方方式式(即即有有数数据据总总线线驱驱动动器器)时时,作作为为输输出出,用用于启动数据总线驱动器。于启动数据总线驱动器。如如果果工工作作在在缓缓冲冲方方式式并并且且有有级级连连应应用用时时,作作为为输输出出,用用于于启启动动数数据据总总线线驱驱动动器器。主主从从片片的的设设置置用软件解决。用软件解决。二、二、8259A的引脚功能及内部结构的引脚功能及内部结构 14输入:输入:作为主片时接作为主片时接+5V作为从片时接地作为从
11、片时接地8259工作于工作于非缓冲非缓冲方式方式158259工作于工作于缓冲缓冲方式方式数据缓冲器数据缓冲器输出:输出:作为数据缓冲器作为数据缓冲器的选通信号的选通信号16(1)中断请求寄存器)中断请求寄存器IRR u IRR是是8位位寄寄存存器器,用用来来接接收收来来自自外外设设中中断断源源的的中中断断请求。请求。u它它通通过过IR7IR0与与8个个中中断断源源相相连连。若若IRi=1时时,IRR的的相相应应第第i位位置置1。若若最最多多有有8个个中中断断请请求求信信号号同同时时进进入入IR7IR0端,端,IRR全被置全被置1。u一旦一旦IRi=1中断请求被响应,则中断请求被响应,则IRi=
12、0(复位)(复位)2、8259A内部结构内部结构例:如果当前例:如果当前IRR=35H,问有哪几个中断请求尚未被响应?,问有哪几个中断请求尚未被响应?00110101IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0IRR172、8259A内部结构内部结构(2)中断服务状态寄存器)中断服务状态寄存器ISR u ISR是是8位位寄寄存存器器,用用来来记记录录CPU当当前前正正在在为为哪哪个个或或哪哪几几个个中断源服务。中断源服务。u当当CPU响响应应IRi请请求求时时,ISR中中相相应应位位置置1。当当ISR中中的的有有多多个个“1”时时,表表明明CPU正正在在为为较较低低中中断断服
13、服务务时时,又又有有较较高高的的中断请求,中断请求,CPU又转去处理较高的中断,形成中断服务嵌套。又转去处理较高的中断,形成中断服务嵌套。u当当某某个个中中断断处处理理完完毕毕,ISR的的相相应应位位复复位位(或或用用指指令令或或自自动动)。例:如果当前例:如果当前ISR=45H,问有哪几个中断请求已经被响应?,问有哪几个中断请求已经被响应?如果按照如果按照IR0的中断优先级最高,的中断优先级最高,IR7的中断优先级最低排序,的中断优先级最低排序,当前正在相应的是哪一级中断?当前正在相应的是哪一级中断?ISR01000101IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR01800
14、000000ISR当当IR6有中断请求时,没有更高级的请求,给与响应有中断请求时,没有更高级的请求,给与响应。如果按照如果按照IR0的中断优先级最高,的中断优先级最高,IR7的中断优先级最低排序,的中断优先级最低排序,1当当IR2有中断请求时,优先级高于有中断请求时,优先级高于IR6,中断,中断IR6,给与响应给与响应。1IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0当当IR0有中断请求时,优先级高于有中断请求时,优先级高于IR2,中断,中断IR2,给与响应给与响应。1有三个中断请求已经被响应(有三个中断请求已经被响应(IR6,IR2,IR0),当前正),当前正在执行的是在执行
15、的是IR0的中断服务。的中断服务。如果此时如果此时IR3有中断请求,是否能够给与响应?有中断请求,是否能够给与响应?19(3)中断屏蔽寄存器)中断屏蔽寄存器IMR u IMR是是8位位寄寄存存器器,用用来来屏屏蔽蔽已已被被锁锁存存在在IRR中中的的中断请求信号。中断请求信号。u当当IMR的的第第i位位被被置置1时时,相相应应的的IRi被被屏屏蔽蔽,不不能能进进入入系系统统的的下下一一级级优优先先权权处处理理器器去去判判优优,不不能能向向CPU发出中断请求。发出中断请求。uIMR的值可通过软件设置或改变。的值可通过软件设置或改变。2、8259A内部结构内部结构例:如果当前例:如果当前IMR=48
16、H,问有哪几个中断请求被屏蔽?,问有哪几个中断请求被屏蔽?01001000IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0IMR20(4 4)优先权判别电路)优先权判别电路PRuPR用用于于判判别别已已进进入入IRR中中且且未未被被IMR屏屏蔽蔽的的各各中中断断请请求求的的优优先先级级别别。当当多多个个中中断断请请求求同同时时产产生生时时,优优先先权权处处理理器器PR根根据据IMR的的内内容容和和用用户户设设定定的的优优先先级级规规则则,判判断断这这些些请请求求信信号号的的最最高高级级,向向CPU输输出出中中断断请请求求信信号号INT。u若若CPU响应中断,则将它送入中断服务寄存
17、器响应中断,则将它送入中断服务寄存器ISR。u若若8259A正正为为某某一一中中断断服服务务,而而又又出出现现新新的的中中断断请请求求,则则PR判判断断新新的的中中断断请请求求级级别别是是否否更更高高。若若是是,则则进入中断嵌套。进入中断嵌套。2、8259A内部结构内部结构21(5)读)读/写控制逻辑写控制逻辑 该该电电路路的的功功能能是是接接收收来来自自CPU的的读读/写写命命令令,完完成成对对8259A内内部部端端口口的的读读写写操操作作。具具体体的的操操作作内内容容由由CS、A0、WR、RD四个信号共同决定。四个信号共同决定。2、8259A内部结构内部结构CSWR RDA0操操 作作00
18、10写写ICW1,OCW2,OCW30011写写ICW2,ICW3,ICW4,OCW10100读读IRR,ISR,查询字查询字0101读读IMR222、8259A内部结构内部结构(6)级联缓冲)级联缓冲/比较器比较器 当多片当多片8259A采用主从结构级联时,该部件采用主从结构级联时,该部件用来存放和比较系统中各用来存放和比较系统中各8259A的从片选择代的从片选择代码。码。(7)数据总线缓冲器:)数据总线缓冲器:数据总线缓冲器是一个数据总线缓冲器是一个8位的双向三态缓冲器,位的双向三态缓冲器,用来连接用来连接8259A和系统数据总线。和系统数据总线。8259A通过它与通过它与CPU进行命令、
19、状态、数据进行命令、状态、数据信息的传送。信息的传送。23(8)控制逻辑)控制逻辑 控制逻辑电路中有七个寄存器,其中控制逻辑电路中有七个寄存器,其中ICW1ICW4用用来存放初始化程序设定的来存放初始化程序设定的工作方式字工作方式字、管理、管理8259A的工的工作;作;OCW1OCW3用来存放操作命令字用来存放操作命令字,对中断处理,对中断处理过程进行动态控制。过程进行动态控制。控制逻辑电路有两个控制作用:控制逻辑电路有两个控制作用:一是根据一是根据IRR,IMR,PR的状态,通过的状态,通过INT向向CPU请请求中断,求中断,二是接收来自二是接收来自CPU的的INTA信号,使信号,使ISR相
20、应位置相应位置1,且,且使使IRR 相应位置相应位置0,避免该中断源一次申请产生两次或,避免该中断源一次申请产生两次或两次以上中断。两次以上中断。2、8259A内部结构内部结构24三、三、8259的工作方式的工作方式1 1、中断触发方式、中断触发方式电平触发方式电平触发方式 在该方式下,在该方式下,8259A把把IRi端出现的高电平作为中断请求信号。端出现的高电平作为中断请求信号。使用时须注意的是,当出现一个中断请求信号并得到响应(使用时须注意的是,当出现一个中断请求信号并得到响应(ISR的的相应位置位)后,必须及时撤除高电平,否则会产生不必要的第二相应位置位)后,必须及时撤除高电平,否则会产
21、生不必要的第二次中断请求。次中断请求。边沿触发方式边沿触发方式 在该方式下,在该方式下,8259A把把IRi端出现的上升沿作为中断请求信号。端出现的上升沿作为中断请求信号。边沿触发的优点是申请中断的边沿触发的优点是申请中断的IRi端可以一直保持高电平,不会被端可以一直保持高电平,不会被误判为又一次中断请求。误判为又一次中断请求。中断查询方式中断查询方式外设通过外设通过8259申请中断时,申请中断时,8259不使用硬件信号不使用硬件信号INT向向CPU发发中断请求,而是中断请求,而是CPU用软件来查询用软件来查询8259当前受到的中断请求,并当前受到的中断请求,并响应该请求。响应该请求。252
22、2、连接系统总线的方式、连接系统总线的方式 n缓冲方式缓冲方式 p在在多片多片8259A级联的大系统中级联的大系统中,8259A通过总线驱动器和通过总线驱动器和数据总线相连。此时,数据总线相连。此时,8259A的的SP/EN端输出一个低电平端输出一个低电平(EN=0)作为总线驱动器的启动信号,即与总线驱动器)作为总线驱动器的启动信号,即与总线驱动器的允许端相连。的允许端相连。n非缓冲方式非缓冲方式 p当系统中当系统中只有单片或片数不多的只有单片或片数不多的8259A时时,一般将,一般将8259A直接与数据总线相连。此时,直接与数据总线相连。此时,8259A的的SP/EN端作为输入端作为输入信号
23、。单片信号。单片8259A时,时,SP=1。若多片互连时,主片的。若多片互连时,主片的SP=1,从片的,从片的SP=0。三、三、8259的工作方式的工作方式26缓冲方式缓冲方式数据缓冲器数据缓冲器输出:输出:作为数据缓作为数据缓冲器的选通冲器的选通信号信号27非缓冲方式非缓冲方式输入:输入:主片接主片接+5V输入:输入:从片接地从片接地283 3、中断屏蔽方式、中断屏蔽方式n普通屏蔽方式普通屏蔽方式p当当CPU执执行行主主程程序序时时不不希希望望某某几几个个中中断断源源申申请请中中断断,或或在在执执行行某某一一中中断断服服务务程程序序时时不不希希望望比比该该中中断断源源级级别别更更高高的的中中
24、断断源源申申请请中中断断,可可采采用用此法。此法。p方方法法是是:将将中中断断屏屏蔽蔽字字写写入入IMR,若若某某位位写写入入“1”,则则禁禁止止相相应应的的IR申申请请中中断断,若若写写入入“0”,则开放相应的中断源。,则开放相应的中断源。三、三、8259的工作方式的工作方式29n特殊屏蔽方式特殊屏蔽方式 p在在执执行行某某一一中中断断服服务务程程序序时时,仅仅对对本本级级中中断断进进行行屏屏蔽蔽,允允许接受级别较低的中断请求。许接受级别较低的中断请求。p设设置置特特殊殊屏屏蔽蔽方方式式后后,对对正正在在响响应应的的某某级级中中断断,编编程程使使IMR对对应应位位置置1,就就会会同同时时使使
25、ISR的的对对应应位位复复位位。这这样样,不不只只屏屏蔽蔽了了当当前前正正在在处处理理的的本本级级中中断断,而而且且开开放放了了较较低低级级的的中中断断请求。请求。三、三、8259的工作方式的工作方式由上面的叙述可以看出,普通屏蔽方式的命令字可在主程序或中断服务程由上面的叙述可以看出,普通屏蔽方式的命令字可在主程序或中断服务程序中写入,而特殊屏蔽方式的命令字应当在中断服务程序中写入。序中写入,而特殊屏蔽方式的命令字应当在中断服务程序中写入。00001000IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0IMR0000000ISR例如正在执行例如正在执行IR3的中断服务:的中断服务
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中断 控制器
限制150内