收藏 分享(赏)

微机接口技术讲义ppt中断技术.ppt

上传人:tkhy51908 文档编号:8355144 上传时间:2019-06-22 格式:PPT 页数:107 大小:1.08MB
下载 相关 举报
微机接口技术讲义ppt中断技术.ppt_第1页
第1页 / 共107页
微机接口技术讲义ppt中断技术.ppt_第2页
第2页 / 共107页
微机接口技术讲义ppt中断技术.ppt_第3页
第3页 / 共107页
微机接口技术讲义ppt中断技术.ppt_第4页
第4页 / 共107页
微机接口技术讲义ppt中断技术.ppt_第5页
第5页 / 共107页
点击查看更多>>
资源描述

1、第5章 中断技术,5.1 中断的基本概念 一。什么是中断CPU在正常运行时候,由于内部/外部事件或程序员预先安排的事件,引起CPU暂停正在运行的程序,而转到为内部/外部事件或为预先安排的事件服务的程序中去。服务完毕,再返回去继续执行被暂停的程序。,二。中断源与中断识别 1.中断源:发出中断请求的外部设备或引起中断的内部原因称为中断源。 外设请求的中断 中断指令引起的中断 程序差错引起的中断 硬件故障引起的中断,2.中断识别 CPU寻找中断源的过程称为中断识别 中断识别的目的:获得该中断源的服务程序的入口地址。 中断识别的方法:向量中断或查询中断,三。中断向量、向量表 中断向量:中断服务程序的入

2、口地址 中断向量表:把系统中所有中断向量集中起来放到存储器的某一区域,这个存储区叫中断向量表。,四。中断类型号、向量指针 中断类型号:系统给每个中断源分配一个唯一的编号,称为中断类型号。 中断向量指针:中断向量在存储器中的地址。以下是8088CPU计算机(如IBM-PC)中断向量、向量表、指针关系参看下图,8088CPU 转入中断服务程序的过程 (INT 21H 指令导致软中断),CPU执行INT 21H指令,CPU内部电路产生一次中断请求,类型号为21H。 CPU内部电路自动计算出中断向量的指针84H(21H*4) CPU自动读内存(84H)字单元,读出数据送入(IP); CPU自动读内存(

3、86H)字单元,读出数据送入(CS); CPU到(CS,IP)所指向的内存单元(中断服务程序起始地址)取指令并执行。,五。中断向量的装入与修改(以8088/8086CPU为例) 1.中断向量的装入 方法一:用MOV指令 例:假设中断类型号为60H,中断服务程序在内存的地址为2000:006D,写出把中断向量装入程序,Mov AX,006DH;用2条指令把中断向量的偏移地址部分装入向量表 Mov DI,AX,INC DI;用4条指令把中断向量的断地址部分装入向量表 INC DI Mov AX ,2000H Mov DI, AX,MOV AX,0 ;用3条指令把中断向量指针放入DS :DI寄存器中

4、 MOV DS,AX MOV DI,4*60H,方法二:用INT 21H 指令(DOS功能调用指令) 例:假设中断类型号为60H,中断服务程序在内存的地址为2000:006D,写出把中断向量装入程序,MOV AH,25H ;设置INT 21指令的第1个参数DOS功能号 MOV AL,0H;设置INT 21指令的第2个参数中断类型号 MOV BX,2000H;设置INT 21指令的第3个参数中断向量段 Mov DS,BX MOV DX,2000H设置INT 21指令的第个参数中断向量偏移 INT 21H ;DOS 功能调用,思考:课本P82例3,修改中断向量的过程,你能理解吗?,六。优先级排队方

5、式 当系统中有多个中断源存在时,若有几个中断源同时提出申请,那么就存在CPU先响应谁的问题。为此提出了中断优先权的概念。 按优先级排队 循环轮流排队,七。中断嵌套 当CPU处理一个中断源,正在执行中断服务程序时,又遇到优先级更高的中断源中断请求。CPU暂停正在执行的中断程序,去处理这个级别更高的中断源请求,执行它的中断服务程序。待执行完毕,再返回被暂停的原来的中断服务程序。把这个过程称为中断嵌套。,5.2 IBM-PC中断系统(具体一款计算机的中断技术),8088能处理256种中断,分为两大类:外部中断(又称为硬件中断)和内部中断又称为软件中断) 。其中断分类如图,一. 外部中断 (硬件中断)

6、,非屏蔽中断 NMI (类型号为2),可屏蔽的中断INTR (类型号由中断接口8259芯片提供),高电平有效,CPU 是否响应,取决于 FR 中IF 的状态。常用于各种外设的中断。,二. 内部中断 (软件中断),通常由三种情况引起:,(1) INT n 指令中断 (n 为中断类型号),设置断点实际上是把指令“ INT 3” 插入到程序中,CPU 每执行到断点处的“INT 3” 指令,便产生类型号为3 的中断。,(3) 为调试程序设置的中断, 断点中断,(3)单步中断,当FR 中TF = 1时,每执行一条指令,CPU 产生类型号为1 的单步中断。,(2) 处理CPU 某些错误的中断, 除法错中断

7、 (中断类型号为0) 溢出中断 (INTO) (中断类型号为4),三、硬件中断与软件中断的比较 1.硬件中断的特点: 是CPU外部事件而引起的中断,具有随机性和突发性 在中断响应总线周期,CPU需要发出中断应答信号/INTA(NMI硬件中断没有)。 中断类型号由中断控制器芯片8259提供(NMI硬件中断类型号由CPU固定设为2) 是可以屏蔽的( NMI硬件中断除外),2.软件中断的特点 是执行中断指令或普通指令执行出现某种故障而引起的 中断响应周期,CPU没有INTA信号产生。 中断类型号由中断指令给出或CPU固定设置 是不可屏蔽的。四。软件中断的应用自学P89,某 外 设,8088CPU I

8、NTR/INTA,/XINTA,XINT,8259 INT IR0IR1/INTA IR6IR7,0000:0180H 0000:0182Hold_cs:old_ip1240:0200H3000:0000H 3000:00FA3000:0100H,0200H,1240H,类型60H 中断服务 程序,old_flag,XXXX,XXXX,CS=1240,IP=0200,FLAG=old_flag,DS=0000,SS=3000,SP=00FA,XXXX,old_ip,old_cs,主程序,中断响应之后,总线接口,某 外 设,8088CPU INTR/INTA,/XINTA,XINT,8259 I

9、NT IR0IR1/INTA IR6IR7,0000:0180H 0000:0182Hold_cs:old_ip1240:0200H1240:0256H 3000:0000H 3000:00FA3000:0100H,0200H,1240H,类型60H 中断服务 程序,old_flag,XXXX,XXXX,CS=1240,IP=0256,FLAG=,DS=0000,SS=3000,SP=00FA,XXXX,old_ip,old_cs,主程序,中断返回之前,总线接口,某 外 设,8088CPU INTR/INTA,/XINTA,XINT,8259 INT IR0IR1/INTA IR6IR7,00

10、00:0180H 0000:0182Hold_cs:old_ip1240:0200H3000:0000H。3000:0100H,0200H,1240H,类型60H 中断服务 程序,XXXX,XXXX,CS=old_cs,IP=old_IP,FLAG=old_flag,DS=0000,SS=3000,SP=0100,XXXX,主程序,中断返回之后,总线接口,XXXX,XXXX,五、中断处理过程(以硬件中断为例)1.中断请求: (课本P85 图5.3)外设发中断请求。CPU在每条指令的最后一个 时钟节拍,查看INT信号线。如果FLAG寄存器的IF标志为 1(允许中断标志),则响应中断。(既CPU产

11、生中断响应总线周期)。,2.中断响应: (课本P85 图5.3)共8拍,发2次INTA有效信号。第一次通知中断控制器8259,已经响应中断,请8259准备好中断类型号;第二次从8259中读出中断类型号。 CPU自动将当前的old_flag,old_cs,old_ip寄存器压入堆栈。根据中断类型号,CPU自动生成中断向量指针,自动从中断向量表中取出中断向量,装入CS,IP寄存器,从而跳入中断服务程序。,五、中断处理过程(以硬件中断为例) 3.中断服务程序: (课本P85 图5.3 ) 4.中断返回: (课本P85 图5.3 )在中断服务程序的最后,应该放一条IRET指令(中断返回指令)。该指令执

12、行时会把堆栈的原来的CSIPFLAG内容弹回。,六。中断响应周期,外设中断请求信号线IRi(i=0-7): 中断接口芯片8259内部中断请求寄存器(IRR)的第IRi位硬件设置1,进一步使得8259通过INT引脚向CPU提出中断请求。 CPU在当前指令周期的最后一个节拍硬件检测INTR引脚,如果满足响应中断条件,CPU就硬件自动发出中断响应总线周期信号。,1.8086中断响应周期的时序图,2.8086中断响应周期的说明 (1)/INTA1的作用 使8259将IRR(中断请求寄存器)中当前中断请求对应的位置清除 使8259将ISR(正在服务寄存器)中当前中断请求对应的位置1。,(2) /INTA

13、2的作用 硬件自动读出8259中断类型号 如果8259工作在自动结束方式,硬件自动清除ISR中当前中断请求对应的位.,说明: 只要设置8259工作方式就能实现让8259清除该中断的ISR中对应的位。共有2中方式可以设定 自动结束方式:这种方式下,8259接到/INTA2上什沿就清除对应的位。 非自动结束方式:这种方式下,8259接到/INTA2不会清除对应的位,需要程序员在中断服务程序中写一条指令,CPU执行该指令,会向8259发一个中断结束命令(EOI命令),思考:中断结束后,8259必须要清除该中断的ISR中对应的位。想一想,如果不清除,会导致什么不良后果?,(3)/LOCK的作用 有效期

14、间:/INTA1下跳沿有效, /INTA2下跳沿无效。 作用:送到总线仲裁机构,禁止总线仲裁设备工作,防止其它DMA控制器获得系统总线。即CPU锁定系统总线 注意:8086/8088CPU有一条LOCK指令,该指令使得下一条指令周期,/LOCK有效,供程序员锁定系统总线用。,小结: 整个中断过程是硬件和软件共同配合完成的。中断请求,中断相应是硬件自动完成的。中断服务处理,中断返回是程序员用软件实现的。,二。8259A 的内部结构与引脚信号,D0-7:数据线 A0-1地址输入线,用于选择内部端口 /CS:芯片选择,输入,低电平8259工作 IR0-7,外设中断请求输入线 /SP| /EN,主从片

15、设定。缓冲控制 CAS0-2,8259主、从片专用总线,单片8259与系统总线的连接,8259A内部逻辑框图,1. 数据总线缓冲器,8位、双向、三态,是8259A与 CPU 之间的数据接口。,D0D7直接与CPU 数据总线的低8位连结。,3. 中断请求寄存器 IRR,8 位,若IRi线 有效(高电平或上跳变),对应位置“1”,直到IRi 得到响应。,4. 中断服务寄存器 ISR,8位,当IRi线的请求得到响应时,ISR对应位置“1”。记录正在处理的IRi,当中断嵌套时,可能多位置“1”。,5. 中断屏蔽寄存器 IMR,8位,某位置“ 1”,对应IRi位 禁止产生中断。,6. 优先权判断电路,实

16、现优先权的判断与处理,采用编码器和比较器电路,如下图所示(了解即可)。,-,具有优先级别的8输入编码器。,7. 级联缓冲/比较器,可以实现8259A的级联,扩展外中断。,(1) CAS2、CAS1、CAS0 引脚, 主8259A: CAS2CAS0 输出,输出被响应的从片的标志码。, 从8259A: CAS2CAS0 输入,/INTA1有效期接收主片发出的标志码,与自己的标志码比较。若相等,在/INTA2有效期间,将中断向量送至数据总线。,(2), 当8259A 工作于非缓冲方式 (直接与系统数据总线XD 相连),为输入,是主从芯片定义引脚。,三、8259A 的工作方式,8259A有多种工作方

17、式,这些工作方式可以通过初始化命令字(ICW1ICW4)和操作命令字(OCW1OCW4)来设置。,1. 引入中断请求的方式, 边沿触发方式。以上跳沿向8259A请求中断,上跳沿后可一直维持高电平,不会再产生中断。,电平触发方式。以高电平申请中断,但在响应中断后必须及时清除高电平,以免引起第二次误中断。,中断查询方式。外设通过8259A申请中断,但8259A却不使用INT信号向CPU申请中断,CPU用软件查询确定中断源,并为其服务。,1. 引入中断请求的方式,2. 连接系统总线的方式,缓冲器方式 在最大模式总线系统中,要求数据总线有总线缓冲器。8259A与这种带总线缓冲器的系统总线连接的方式称缓

18、冲器方式。,2. 连接系统总线的方式,非缓冲器方式 在最小模式总线系统中,则8259A不需要总线缓冲器而是将其直接接至数据总线。8259A与这种不需总线缓冲器而直接连到系统总线的方式称非缓冲器方式。,3. 屏蔽中断源的方式,普通屏蔽方式。 利用操作命令字OCW1,使屏蔽寄存器IMR中的一位或几位置1来屏蔽一个或几个中断源的中断请求。若要开放某一个中断源的中断请求,则将IMR中相应的位置0。,3. 屏蔽中断源的方式,特殊屏蔽方式。在某些场合,在执行某一个中断服务程序时,要求允许另一个优先级比它低的中断请求被响应,此时可采用特殊屏蔽方式。它可通过OCW3的D6D511来设定。,4. 优先级排队的方

19、式,全嵌套方式。 在此种方式下中断优先级按0 7顺序进行排队,只允许中断级别高的中断源去中断中断级别低的中断服务程序。,4. 优先级排队的方式,特殊全嵌套方式。 它和全嵌套方式基本相同,所不同的是在特殊全嵌套方式下,当执行某一级中断服务程序时,可响应同级的中断请求,从而实现对同级中断请求的特殊嵌套(8259A级联使用时,某从片的8个中断源对主片来说,可以认为是同级的)。特殊全嵌套方式用于多片级联。,优先级自动循环方式。 在这种方式下,优先级顺序不是固定不变的,一个设备得到中断服务后,其优先级自动降为最低。其初始的优先级顺序规定为IR0,IR1,IR7。该方式用在系统中多个中断源优先级相等的场合

20、。,优先级特殊循环方式。这种方式与优先级自动循环方式唯一的区别是,其初始的优先级顺序不是固定IR0为最高,然后开始循环,而是由程序指定IR0 IR7中任意一个为最高优先级,然后再按顺序自动循环,决定优先级。,5. 结束中断的处理方式,自动中断结束方式。在中断服务程序中,中断返回之前,不需发中断结束命令就会自动清除该中断源所对应的ISR位(实际上在CPU发第二个信号(/INTA2)时,8259即自动消除ISR中的对应位)。这种方式用在多个中断不会嵌套的系统中。,非自动中断结束方式。在中断服务程序返回之前,必须发中断结束命令才能使ISR中的当前服务位清除。,四、8259A 对ICW、OCW的识别,

21、8259A 只占两个端口,但ICW 有4个,OCW有3个。,1. A0 = 0 (偶地址端口) 8259识别的方法:,用标志位识别,2. A0 = 1 (奇地址端口) 8259识别的方法:,按特定的写入流程识别 CPU写ICW1后,就启动了初始化。 启动初始化后,8259就按照特定的流程顺序识别偶地址端口,此时开发人员一定要按照8259设定的流程顺序写ICW2、ICW3、ICW4。,ICW2, ICW3, ICW4 OCW1,CPU在8259初始化程序段(写ICW1ICW4部分)以外任何时候写偶地址,都被8259装入OCW13.8259A 的初始化编程逻辑(写ICW1,就启动初始化,程序员必须

22、按下面流程完成初始化,否则8259不能正常工作!),8259A的初始化流程,五、8259A 的初始化命令字,8259A 初始化编程时,有四个初始化命令字ICW ( Initialiation Command Word),即ICW1ICW4 ;三个操作命令字OCW(Opeiation Command Word),即OCW1OCW3)。,1. ICW1,(IRi 触发方式,是否单片使用,是否写入ICW4), LTIM:规定IRi的触发方式,1 高电平触发,=, SNGL:是否单片使用,1 单片使用,0 级联使用,=, IC4:是否写入ICW4,1 后面写入ICW4,0 不写入ICW4,=,例:某8

23、086微机系统中,使用单片8259A,中断请求信号为上升沿触发,需要设置ICW4,端口地址为20H,21H,则其初始化命令字ICW1应为:0001001113H,设置ICW1的指令为:,MOV AL,13H,OUT 20H,AL,2. ICW2,(中断类型号的高5位),(中断类型号的低3位由8259A 自动编码产生),例:某PC机中8个可屏蔽中断(IR0 IR7)的类型号为08H 0FH,A01,端口地址为21H,则ICW2为:08H,设置ICW2的指令为:,MOV AL,08H OUT 21H,AL,3. ICW3,(级联时,主从芯片的级联引脚),若ICW1 中SNGL=,1 不写入ICW3

24、,0 写入ICW3,(1) 写给主片的ICW3,Si = 1, 表示主片IRi上接有从片。,(2) 写给从片的ICW3,例:某8086微机系统中,主片8259A的IR2,IR6引脚上分别接有从片8259A,则主、从片的ICW3初始化命令字设置如下:,主片初始化命令字:(口地址设为20H, 21H),MOV AL,44H ;44H为主片的ICW3,表示其IR6,IR2上接有从片,OUT 21H,AL ;将ICW3写入奇地址端口,从片1的初始化命令:,MOV AL,02H OUT 21H,AL,从片2的初始化命令:,MOV AL,06H OUT 21H,AL,4. ICW4,= 0 正常的完全嵌套

25、方式,= 1 特殊的完全嵌套方式,(1) SFNM: 规定8259A中断的嵌套方式,(单片使用时,两种方式一样。), 正常的完全嵌套方式,高级的中断, 特殊的完全嵌套方式,同级的或高级的中断,级联使用时,某一从片的IRi对主片来说是同级的。,1 缓冲方式,0 非缓冲方式,(2) BUF,=,(3) M/S, 当8259A 工作于缓冲方式时 (BUF=1), 当8259A工作于非缓冲方式时 (BUF = 0),此时 M/S 不起作用。,(4) AEOI: 规定中断的结束方式,(如何使ISR中对应位置0), AEOI = 1 自动中断结束方式,当CPU 发出第二个 后,ISR 中的相应位复位,此时

26、,不能实现中断嵌套。, AEOI = 0 非自动中断结束方式,由程序发出EOI 命令 (由8259A 的OCW 实现),使ISR 中相应位复位。,六、8259A 的操作命令字,对8259A 进行初始化编程后,8259A作好了接收中断请求输入的准备,在8259A 工作期间可由操作命令字OCW1OCW3 规定其各种工作方式。,1. OCW1(中断屏蔽操作命令字),设置或清除IMR 的各个位。,Mi=1 表示IRi被屏蔽,例:设OCW106H,则表示IR1,IR2 两 个引脚上的中断申请被屏蔽,其他的中断申请 (IR0,IR3IR7)则得到允许。8259A编程指令为:,MOV AL,00000110

27、B;OCW1屏蔽字 OUT 21H,AL ;屏蔽字写入奇地址口的OCW1寄存器,2. OCW2 (优先取循环方式和中断结束方式操作命令字),有两个作用:,(1) 8259A 工作于非自动中断结束方式时,如何复位ISR 中的对应位?, 正常方法:令SL = 0, EOI =1,将OCW2写入8259A后,将刚刚被服务的IRi对应位复位。, 特殊方法:令 SL = 1, EOI = 1,写入OCW2后,使L2L1L0指定的位复位。,5.4 8259A在PC微机系统中的应用例1.IBM-PC兼容机中系统中断接口的应用(一)、IBMPC机中8259的硬件连接(主板上,今集成在芯片组内部),(to CP

28、U),(from CPU),INT,从8259A,IR7,IR6,IR0,IR7,IR2,IR0,INT,CAS0,CAS1,CAS2,CAS0,CAS1,CAS2,主8259A,XINT,A0,A0,D0-7,D0-7,XA0 XD0-7,/CS,/CS,译码器1 020H-03FH,XA5-9,译码器2 0A0H-0BFH,XA5-9,(二)、IBMPC机中8259的初始化程序(在BIOS中,PC机上电时得到执行),主片8259: 20H、21H为8259A的端口地址,MOV AL, 13H ; ICW1=0001,0011B, 边沿触发,多片使用, 要 ICW4. OUT 20H, AL

29、 MOV AL, 08H ; ICW2=08H, IR0IR7对应的中断类型号为08H0FH OUT 21H, AL MOV AL,04H;44H为主片的ICW3,表示其IR2上接有从片 OUT 21H,AL MOV AL, 11H ; ICW4=11H, 特殊的嵌套方式,非自动中断结束方式 OUT 21H,AL,从片8259: A0H、A1H为8259A的端口地址,MOV AL, 13H ; ICW1=0001,0011B, 边沿触发,多片使用, 要 ICW4. OUT 0A0H, AL MOV AL, 70H ; ICW2=08H, IR0IR7对应的中断类型号为70H-77H OUT 0

30、A1H, AL MOV AL,02H;表示其接在主片的IR2上(010) OUT 0A1H,AL MOV AL, 01H ; ICW4=01H, 一般的嵌套方式,非自动中断结束方式 OUT 0A1H,AL,例2(来自第3章例1):设某应用系统中,系统提供一个频率为 10KHZ 的时钟信号,要求每隔10ms完成一次扫描键盘的工作。为了提高CPU的工作效率,采用定时中断的方式进行键盘的扫描。,(一)硬件设计:在第3章例1的8253定时器T0的输出OUT0连接到主片8259某中断请求线(如IR5)上。,(to CPU),(from CPU),INT,从8259A,IR7,IR6,IR0,IR5,IR

31、2,IR0,INT,CAS0,CAS1,CAS2,CAS0,CAS1,CAS2,主8259A,XINT,A0,A0,D0-7,D0-7,XA0 XD0-7,/CS,/CS,译码器1 020H-03FH,XA5-9,译码器2 0A0H-0BFH,XA5-9,来自8253的OUT0,(二)软件设计:,1.8253初始化程序(同于第3章例1软件设计):,MOV AL,14H ;通道0,写入初值位,高8位置0, ;方式2,二进制计数。,OUT 13H, AL ;写入方式到控制字寄存器,MOV AL,64H,OUT 10H,AL ;写入计数初值低8位到通道0,2. 8259主片初始化程序(同于本章5.4

32、节):,MOVAL, 13H ; ICW1=0001,0011B, 边沿触发,单片使用, 要 ICW4. OUT 20H, AL MOVAL, 08H ; ICW2=08H, IR0IR7对应的中断类型号为08H0FH OUT 21H, AL MOVAL,04H;44H为主片的ICW3,其IR2上接有从片 OUT 21H,AL MOVAL, 11H ; ICW4=09H, 特殊嵌套方式,非自动结束方式 OUT 21H,AL,3. 中断向量装入中断向量表。中断线IR5对应的中断类型号是13,中断向量指针是13*4,即0000:0034H MOV DS,0 MOV AX,OFFSET int_proc MOV 0034H,AX MOV AX, SEG int_proc MOV 0036H,AX,4. 中断服务程序 Int_proc PROC NEAR ; 此处写上键盘扫描程序 MOV AL, 00100XXXH ; 写OCW2,手工清除 8259ISR寄存器中的IS5位,手工结束中断方式OUT 20H,ALIRET ;中断返回 Int_proc ENDP,

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

当前位置:首页 > 中等教育 > 教学研究

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报