《中断控制器》PPT课件.ppt

上传人:牧羊曲112 文档编号:5456392 上传时间:2023-07-09 格式:PPT 页数:74 大小:764KB
返回 下载 相关 举报
《中断控制器》PPT课件.ppt_第1页
第1页 / 共74页
《中断控制器》PPT课件.ppt_第2页
第2页 / 共74页
《中断控制器》PPT课件.ppt_第3页
第3页 / 共74页
《中断控制器》PPT课件.ppt_第4页
第4页 / 共74页
《中断控制器》PPT课件.ppt_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《《中断控制器》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《中断控制器》PPT课件.ppt(74页珍藏版)》请在三一办公上搜索。

1、第7章 中断控制器,本章引入-中断技术概念,中断:指当CPU检测到某种服务请求后,暂时中止现行程序而转去执行一个特定的中断服务程序,当中断程序执行完毕后,返回到原来的程序的中断处继续执行。中断过程:中断申请 中断排队 中断响应 中断服务 中断返回,一、中断申请,中断申请:是由中断源发出的请求服务的信号。中断源:能够发出中断请求信号的来源,一、中断申请,中断源通常有如下几种:1.一般的I/O设备,如键盘、打印机等。2.实时时针及过程,如时针电路,A/D转换等。3.故障源:包括硬件故障及软件故障,如电源掉电,存储器故障,运算举出等。4.软件设置中断源,如在程序中用中断指令而产生的中断。,一、中断申

2、请,中断源能够产生中断申请信号的两个条件 1.中断源自身工作已经准备就绪 2.CPU允许该中断源申请中断,BACK,二、中断排队,在中断系统中,根据中断源的轻重缓急,为每一个中断源规定一个服务优先级别,这就是所谓的中断优先级或叫中断优先权。中断优先级排队一般有两种方法:即软件查询法和硬件排队法。,二、中断排队,软件查询法:用软件查询中断源,根据查询的顺序先后来确定中断源的优先级。先查询的优先级就高,后查询的优先级就低。只要改变查询的顺序,就可以改变中断源的优先级。硬件排队法:用硬件判优逻辑电路来确定申请中断中的最高优先级,系统中各中断源的优先级是由它们在判优电路中的位置确定的。分为一般硬件法和

3、专用硬件法(8259A),二、中断排队-菊花链法,二、中断排队-菊花链法,二、中断排队-专用硬件法,二、中断排队,三种方法比较:软件查询方式:电路简单。缺点:由外设发出中断请求到CPU转入相应的服务程序入口的时间较长,特别是中断源比较多时。菊花链法:中断优先级不可调。专用硬件方式:成本高。,BACK,三、中断响应,中断响应的条件:1.外部设备有中断请求 2.CPU自身允许中断 3.没有更高级的中断正在被服务 4.CPU在每条指令结束后响应中断,三、中断响应,在中断响应周期,硬件自动完成一些必要的操作:1、关中断 2、保护断点 3、将中断服务程序的入口地址送入CS,IP,从而实现转入相应的中断服

4、务程序。,BACK,四、中断服务,保护现场(部分寄存器的内容)执行中断服务程序恢复现场,BACK,8086/8088的中断系统,8088可以处理256种不同类型的中断,类型号为0-2558088的中断分为内部中断和外部中断两类外部中断:由CPU外部引起,需要外设产生一个信号来通知CPU,包括非屏蔽中断和可屏蔽中断。内部中断:由CPU状态的改变或执行中断指令而产生的中断,它不受IF控制。内部中断:除法错中断、单步中断、溢出中断、软件中断,第7章 目录,7.1 8259A引脚功能及编程结构7.2 8259A工作方式7.3 8259A初始化命令字及初始化编程7.4 8259A操作命令字7.5 825

5、9A使用举例,7.1 8259A的引脚信号、编程结构和工作原理,8259A的工作特点:能管理8级中断,可嵌套:9片;具有8级优先权控制,通过芯片级联可扩展到64级。每一级中断均可通过编程屏蔽或允许。有多种工作方式,可通过编程选择。可以与CPU直接连接,不需外加硬件电路。,7.1 8259A的引脚信号、编程结构和工作原理,7.1.1 8259A的外部信号和含义7.1.2 8259A的编程结构和工作原理,7.1.1 8259A的外部信号和含义,7.1.1 8259A的外部信号和含义,CS#:片选信号。低电平有效。D7D0:数据线。INT:中断请求信号。INTA#:中断响应信号。RD#:读出信号。W

6、R#:写入信号。,7.1.1 8259A的外部信号和含义,IR7IR0:I/O设备的中断请求信号。CAS2CAS0:从片选择信号。SP/EN:主从和从片的选择和驱动信号,BACK,7.1.2 8259A的编程结构和工作原理,中断请求寄存器(IRR):寄存所有IR输入的中断请求信号,即保存正在请求服务的中断源。中断服务寄存器(ISR):保存当前被CPU服务的中断级,即记录正在被处理的中断请求。中断屏蔽寄存器(IMR):对各中断源的中断请求信号(实现开关控制),7.1.2 8259A的编程结构和工作原理,8259A会接收来自CPU的两个负脉冲INTR。第一个负脉冲:使IRR的锁存功能失效;使ISR

7、的相应位置“1”;使IRR的相应位清“0”。第二个负脉冲:将中断类型码(ICW2)送DB;如果为中断自动结束方式(ICW4),即将当前ISR的相应 位清“0”。,7.1.2 8259A的编程结构和工作原理,BACK,设置优先级的方式屏蔽中断源的方式结束中断处理的方式连接系统总线的方式引入中断请求的方式,7.2 8259A的工作方式,全嵌套方式特殊全嵌套方式优先级自动循环方式优先级特殊循环方式,7.2 8259A的工作方式-设置优先级方式,BACK,8259A初始化工作完成后,若求设定其它工作方式,就自动进入全嵌套方式。该工作方式由ICW4的D4=0来确定。,7.2 8259A设置优先级方式-全

8、嵌套方式,全嵌套方式特点:1.中断请求的优先级固定。2.ISR保存优先级状态,直到CPU发出中断结束命令为止。3.在ISR置位期间,不在响应同级及较低级的中断请求。4.IR7-IR0受IMR的D7-D0位的屏蔽与允许。,7.2 8259A设置优先级方式-全嵌套方式,BACK,特殊全嵌套方式特点:1.和全嵌套方式基本相同,只有一点差别:就是在特殊全嵌套方式下,当处理某级中断时,如果有同级的中断请求时,也会给予响应。2.特殊全嵌套方式一般用于8259A级联的系统中。,7.2 8259A设置优先级方式-特殊全嵌套方式,BACK,优先级自动循环方式特点:1.各设备的优先级相同,当某一设备受到服务后,它

9、的优先级自动排到最后。2.初始优先级为:IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7-3.有一个最低优先级指针,哪一设备刚被服务后,就被赋予最低优先级。4.自动循环优先级由OCW2的R=1,SL=0确定。,7.2 8259A设置优先级方式-优先级自动循环方式,BACK,优先级特殊循环方式特点:1.各设备的优先级相同,当某一设备受到服务后,它的优先级自动排到最后。2.不同之处:在特殊循环优先权方式中,是通过编程来确定某一设备为最低优先权。3.自动循环优先级由OCW2的R=1,SL=1确定。而L2L1L0用于指定最低优先级的二进制编码。,7.2 8259A设置优先级方式-优先级特

10、殊循环方式,BACK,每个中断请求输入信号可由IMR的相应位进行屏蔽,IMR的D0位对应IR0.。IMR相应位为“1”则屏蔽,为“0”则允许。IMR由OCW1进行设置。屏蔽方式有两种:普通屏蔽方式 特殊屏蔽方式,7.2 8259A的工作方式-屏蔽中断源方式,BACK,普通屏蔽方式特殊屏蔽方式,7.2 8259A的工作方式-屏蔽中断源方式,BACK,7.2屏蔽中断源的方式-普通屏蔽方式,每一个屏蔽位对应一个中断请求输入信号。屏蔽某一个中断请求输入信号对其他请求没有影响。未被屏蔽的中断请求输入信号按设定的优先级顺序工作,同级和低级的中断请求被禁止,如果CPU允许中断,可实现中断嵌套。,BACK,7

11、.2屏蔽中断源的方式-特殊屏蔽方式,设置特定屏蔽方式后,IMR中为“1”的位仍然屏蔽相应的中断请求输入信号,但所有未被屏蔽的位被全部开放,都可以申请中断。特定屏蔽方式由OCW3的ESMM和SMM确定,设定是ESMM=1,SMM=1,复位时ESMM=1,SMM=0,BACK,中断结束方式是指中断如何结束的方法。这里的“结束”不是指中断服务程序的结束(中断服务程序的结束用IRET指令可完成),这里的“结束”是指如何和何时使8259A的ISR中的相应位清“0”。8259A的中断结束方式有三种。,7.2 8259A的工作方式-结束中断处理方式,BACK,中断自动结束方式一般的中断结束方式特殊的中断结束

12、方式,7.2 8259A的工作方式-结束中断处理方式,BACK,命令中断结束方式,8259A自动地在最后一个中断响应脉冲后,将ISR相应位清“0”。过程:中断请求,CPU响应,发第一个负脉冲,ISR相应位置“1”,CPU发第二个,8259A提供中断类型码,ISR相应位清“0”。ISR的相应置“1”位在CPU中断响应周期内自生自灭。ISR中不会有两个或两个以上的置“1”位。,7.2 结束中断处理方式-中断自动结束方式,应用场合:单片系统,或不需嵌套的多级中断系统。AEOI只能用于主片8259A,不能用于从片8259A。由ICW4的AEOI=1确定。,7.2 结束中断处理方式-中断自动结束方式,B

13、ACK,在中断服务程序返回之前,向8259A发中断结束命令(EOI),使ISR中的相应位清“0”。一般中断结束方式用在全嵌套方式下。该命令能自动地把当前ISR中的最高优先级的那一位清“0”。,7.2 结束中断处理方式-一般的中断结束方式,BACK,在中断服务程序返回之前,向8259A发中断结束命令(EOI),使ISR中的相应位清“0”。工作在非全嵌套方式下。由于无法确定最后响应的是哪一级中断。的以应向8259A发出特殊的EOI命令,即指定哪一级中断返回,使其ISR中的相应位清“0”。,7.2 结束中断处理方式-特殊的中断结束方式,BACK,缓冲方式非缓冲方式,7.2 8259A的工作方式-连接

14、系统总线的方式,BACK,7.2 连接系统总线的方式-缓冲方式,即在8259A与DB之间挂接总线驱动器的方式。在缓冲方式下,引脚(SP/EN)将输出一个有效低电平,开启缓冲器工作。该方式多用于级联的大系统。缓冲方式由ICW4的BUF=1确定。,BACK,7.2 连接系统总线的方式-非缓冲方式,是相对于缓冲方式而言。当系统只有单片8259A或是在级联方式下,但片数很少时,可以将它直接与DB相连。SP/EN做为输入端。由ICW4的BUF=0设置,BACK,8259A的中断请求寄存器IRR中有8个中断请求触发器,分别对应8个中断请求信号的输入端IR0-IR7。这些触发器的触发方式有两种:即边沿触发和

15、电平触发。,7.2 8259A的工作方式-引入中断请求的的方式,BACK,7.2 8259A的工作方式-引入中断请求的的方式,边沿触发方式电平触发方式 中断查询方式,BACK,7.2 引入中断请求的方式-边沿触发,当输入端有从低电平到高电平的正跳变时,则产生中断请求。IRR中相应位的触发器被触发置“1”,而不是直接向CPU申请中断。此后,即使输入端仍然保持高电平也不会再产生中断。,7.2 引入中断请求的方式-边沿触发,BACK,当输入端产生高电平时产生中断请求。高电平一直保持到中断输入端出现一个中断请求并得到响应之前。但需要注意的是,在电平触发方式下,在发出EOI命令以前,或CPU开放中断以前

16、,必须去掉中断请求信号(使其变为低电平),否则将产生第二次中断。,7.2 引入中断请求的方式-电平触发,7.2 引入中断请求的方式-电平触发,BACK,不使用中断,用软件寻找中断源。在这种方式下,8259A不向CPU发中断请求INT信号,或CPU禁止中断输入。申请中断的优先级不是由8259A提供的中断类型码,而是由CPU发查询命令得到的。,7.2 引入中断请求的方式-中断查询方式,7.2 引入中断请求的方式-中断查询方式,查询过程:CPU向8259A发查询命令。8259A接到查询命令后,就把下一条IN指令产生的读脉冲作为中断应答信号。此时,如果有中断请求信号,则在ISR中相应位置“1”,并把该

17、优先级送DB。8259A提供CPU读取查询的代码格式为:,BACK,7.2 8259A级联的方式,级联方式的要点。一个8259A至多带8个从片,可扩展到64级。缓冲方式下,主片和从片的设定由ICW4的M/S位确定的。M/S=1是主片,M/S=0是从片。M/S的状态在BUF=1时才有意义。在非缓冲方式下,主片和从片由SP/EN引脚确定,SP/EN=1主片,SP/EN=0从片。主片和从片需要分别初始化,可设定为不同的工作方式。,7.2 8259A级联的方式,级联系统中,每个从片的中断请求输出线INT直接连到主片的某个中断请求输入线上。主片的CAS0-CAS2是输出线,从片的CAS0-CAS2是是输

18、入线,接收主片发出的从片代码,以便与自身代码相比较。,BACK,8259A内部有7个寄存器,分为两组:初始化寄存器组和操作寄存器组。初始化寄存器组包括4个寄存器:ICW1-ICW4操作寄存器组包括3个寄存器:OCW1-OCW3,7.3.1 8259A的初始化流程,8259A的命令控制字包括两个部分:初始化命令字和操作命令字.初始化命令字:一般在系统复位后的初始化编程中设置,于确定8259A的基本工作方式,设置以后一般保持不变.操作命令字:是在初始化以后的正常工作中写入的,它实现对8259A的状态,中断方式和过程的动态控制,在工作中可随时修改.,7.3.1 8259A的初始化流程,8259A只有

19、一条地址线A0,所以系统只提供两个端口地址,一个奇地址,一个偶地址。采取措施:第一、以端口地址来区分 第二、把命令字中的某些位作为特征码来区分 第三、以命令字的写入顺序来区分。在PC/XT中,8259A的两个端口地址分别为20H和21H,7.3.1 8259A的初始化流程,7.3 8259A的初始化命令字和初始化流程,全嵌套方式,特殊全嵌套方式,中断请求触发方式,缓冲方式,级联方式,自动中断结束方式等是由初始化命令字ICW来设定。优先级循环方式,特定屏蔽方式,查询方式,命令中断结束方式,读8259A状态等是由操作命令字OCW来设定。,7.3.1 8259A的初始化流程,系统上电或复位后,第一件

20、要做的工作就是初始化ICW1写入偶端口,ICW2ICW4写入奇端口 ICW1ICW4的设置次序固定 ICW1和ICW2必须设置,ICW3和ICW4非必须 在级联时,主片和从片各设置ICW3,7.3.2 8259A初始化命令字-ICW1,ICW1:芯片控制初始化命令字。确定级联方式与触发方式.格式及含义:D7-D5:不使用。D4:标识位LTIM:中断请求信号的形式 1:边沿触发 0:电平触发ADI:不起作用。SNGL:是否级联。1:只有一片 0:多片IC4:是否设置ICW4。ICW1写入偶地址。,7.3.2 8259A初始化命令字-ICW1,写入ICW1后,8259A内部自动复位,其复位功能为:

21、初始化命令字顺序逻辑重新置位,准备接收ICW2-ICW4清除IMR和ISRIRR状态可读优先级排队,IR0最高特殊屏蔽方式复位设定为边沿触发有效自动EOI循环方式复位,ICW2写入奇地址。是设置中断类型码的初始化命令字。ICW2高5位影响中断类型码,而中断类型码的低3位由IR0IR7决定,7.3.2 8259A初始化命令字-ICW2,7.3.2 8259A初始化命令字-ICW3,ICW3:标志主片和从片的初始化命令字。ICW3写入偶地址。由ICW1的SNGL位=0时,ICW3才需要设置。,主片ICW3,从片ICW3,7.3.2 8259A初始化命令字-ICW4,ICW4:方式控制初始化命令字。

22、格式及含义:D7-D5:标识码。SFNM:1:特殊全嵌套方式。BUF:是否缓冲方式。1:缓冲方式 0:非缓冲方式M/S:主片还是从片。1:主片 O:从片AEOI:是否自动结束方式。UPM:为1表示当前8259A所在系统为非8位系统。,BACK,7.3 初始化程序举例,8259A端口地址为80H,81HMOV AL,13HOUT 80H,ALMOV AL,18HOUT 81H,ALMOV AL,0DHOUT 81H,AL,7.4 8259A操作命令字,在初始化命令字写8259A后,8259A就准备接收中断请求输入信号了。在8259A工作期间,CPU可以随时通过操作命令字使8259A完成各种不同的工作方式。8259A有三种操作命令字:OCW1 OCW2 OCW3在写入时,它们与初始化命令字不同,它们不是按一定顺序写入,而是按设计者的要求写入。,7.4 8259A操作命令字-OCW1,7.4 8259A操作命令字-OCW2,(1)设置优先级循环方式(2)组成两类中断结束命令:一般的中断结束命令特殊的中断结束命令,7.4 8259A操作命令字-OCW3,功能:(1)设置和撤销特殊屏蔽方式(2)设置中断查询方式(3)设置对内部寄存器的读出命令,7.5 中断嵌套举例,7.5 如何使用中断结束命令举例,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号