首页 中断

中断

举报
开通vip

中断nullnull 8.1 中断的概念 8.2 中断的响应和中断处理 8.3 8086中断系统 8.4 中断控制器8259null8.1 中断的概念定义:CPU暂停现行程序,转而处理随机到来的事件,待处理完后再回到被暂停的程序继续执行,这个过程就是中断。8.1.1 中断的基本概念 中断源的概念:通常在计算机系统中有多个外部设备并行工作,或存在多个事件,它们都可以向CPU发申请,这些外部设备或事件就称为中断源。 1.中断概念:是指当外设需要服务或事件发生时,向主机发出“请求”信号,CPU暂停当前正在...

中断
nullnull 8.1 中断的概念 8.2 中断的响应和中断处理 8.3 8086中断系统 8.4 中断控制器8259null8.1 中断的概念定义:CPU暂停现行程序,转而处理随机到来的事件,待处理完后再回到被暂停的程序继续执行,这个过程就是中断。8.1.1 中断的基本概念 中断源的概念:通常在计算机系统中有多个外部设备并行工作,或存在多个事件,它们都可以向CPU发申请,这些外部设备或事件就称为中断源。 1.中断概念:是指当外设需要服务或事件发生时,向主机发出“请求”信号,CPU暂停当前正在执行的程序,而转去为请求服务的外设或事件进行服务,待服务完毕后又自动返回到暂时被终止的程序继续执行的过程。 null2.中断的作用 ⑴ 实现CPU与多台I/O设备并行工作。若CPU与设备串行运行,则CPU效率低下。⑵ 实现实时处理。如压力过大、温度过高等情况等。 ⑶ 故障处理。如电源掉电及软、硬件故障等,提高了计算机系统的可靠性。 null3.中断系统的功能 ⑷ 实现人机对话。操作人员通过终端或控制台提供信息,对系统进行随机干预。⑸ 实现多机系统中各主机间的联系。在多机系统中,各个处理机之间的信息交流和任务切换都可以通过中断系统来实现。 ⑵ 实现优先排队。响应优先级最高的中断请求。 ⑶ 实现中断嵌套。当CPU响应某一中断并进行处理时,若有优先级更高的中断源发出中断申请,则响应。⑴ 实现中断和返回。CPU在现行的指令执行完后,判断中断源,转入相应中断处理程序,处理完毕后返回原断点,继续执行主程序。 null8.1.2 中断源类型 ⑴ 处理机内部中断:如零作除数,为调试程序设置的断点等。⑶ 数据通道中断:如磁盘、磁带等。⑵ I/O设备中断:一般的输入输出设备引起的中断。如键盘、打印机等。⑷ 实时时钟中断:如在控制中,外部时钟电路、内部定时电路等引起的中断。⑸ 故障源:如电源掉电等。磁带等。⑹ 软中断:在程序中,根据需要用命令设置的中断。null8.1.3 中断优先排队(优先权) 1.软件查询方式 各中断请求信号“或”操作后作为INTR信号。当有中断源发出请求时,都可向CPU发INTR信号。 CPU响应中断后,就进入中断处理程序,在处理程序中,先从左到右逐位检查其状态,先被查询到的中断申请先得到服务。null2.硬件方式——硬件优先权排队电路⑴ 多线请求优先权排队电路。 ⑵ 多线请求,判优响应。 Intel8259是一个可编程中断控制器,在系统中用来接收、屏蔽、判优、传递中断请求,它功能强大,应用方便。 如INTR1’有请求,则INTR2’被封锁。null8.2 中断处理 1.中断响应的条件——三个: ⑴ 中断源有中断请求。 8.2.1 中断响应 ⑵ CPU允许中断。中断允许标志IF为1(开中断或允许中断) ⑶ 一条指令执行完毕。 2.中断响应过程 ⑴ 中断源的识别。 ⑵ 保存中断现场和转向中断服务程序。现场是指机器在某一时刻所处的状态,如断点地址、条件码、屏蔽字、通用寄存器中的内容和状态位等等。压入堆栈中保存,由硬件直接控制执行,称为中断隐指令。 null8.2.2 中断处理1.中断的处理过程 ⑴关中断。目的:在现场保护过程中,CPU不应该响应更高级的中断源申请。 ⑵保存断点和现场。即将现行状态字和断点地址相继压入堆栈。目的:在中断处理完后返回主程序时,恢复原程序运行状态。 ⑶开中断。目的:允许更高级中断请求能够及时得到响应,实现中断嵌套。 ⑷转入中断服务程序。目的:完成的最终目的。 ⑸ 退出中断。返回到主程序的执行。 null2.中断服务程序 中断处理过程流程图null3.多重中断处理 多重中断是指在处理某一中断过程中又发生了新的中断,从而中断该服务程序的执行,又转去新的中断处理。这种重叠处理中断的现象又称为中断嵌套。3级中断服务主程序m+1(IP) m+1(CS) PSWm两级嵌套的情况:k+1(IP) k+1(CS) PSWknull8.3 8086中断系统 1.内部中断 ⑴ 单步中断,中断号为01H。当TF为1时,每执行一条指令后立即产生1号中断。8.3.1 8086的中断分类:内部中断和外部中断。 ⑵ 断点中断,中断号为03H。用这种方法在程序调试中设置断点。⑶ 溢出中断,中断号为04H。若OF=1,则执行INTO指令,INTO指令经常安排在运算指令之后。⑷ 除数为0中断,中断号为0H。当除法指令所得商大于机器能表示的最大值,则立即产生0号中断。 ⑸ 指令中断,即CPU执行INT n指令。 null2.外部中断:又可分为非屏蔽中断和可屏蔽中断,分别通过外部中断请求线NMI和INTR引入。 ⑴ 非屏蔽中断:通过CPU的NMI引脚引入,。不受中断允许标志位IF的影响,用于处理紧迫事件,如掉电、存储器错误或总线极性错误等紧急事态。中断号2。CPU在执行NMI中断服务时不允许响应INTR引脚上出现的中断请求,所以IF=0 。 ⑵ 可屏蔽中断:通过CPU的INTR引脚引入。 特点:① 请求信号经中断控制器判优后再送往CPU; ② CPU可通过对中断标志位IF置位或复位来允许或禁止INTR请求;③ 由中断控制器向CPU提供中断类型码;④ 可屏蔽中断允许嵌套。null8086中断系统的各中断源分类示意图 优先级别:除单步中断外,所有内部中断的优先级最高,其次为不可屏蔽中断、可屏蔽中断,单步中断的优先级最低。 null8.3.2 中断向量和中断向量表 每个中断向量(段地址和偏移量)占4个字节,256个中断向量共占1K个单元。 null8.3.3 8086硬件中断的响应时序 1.8086硬件中断的响应过程 ⑴ CPU从数据总线上读取中断类型码并存入暂存器; ⑵ 标志寄存器值压栈保护; ⑶ IF和TF清零,即禁止单步执行中断服务程序; ⑷ 保存断点,即将断点地址(CS,IP)压栈保护; ⑸ 根据中断类型码从中断向量表中取出中断向量,转入中断服务程序执行。 nullNN返回断点① null8.3.4 软件中断 软件中断有如下特点: 1.INT n 指令,中断类型码是 n。3.软件中断不受IF的影响。2.不执行中断响应总线周期,不读取中断类型码。5.软件中断没有随机性,这是因为软件中断是由程序中的中断指令引起的,何时执行,是事先知道的,所以软件中断失去了随机性。4.可进行中断嵌套,即可以响应非屏蔽中断;当被软件中断调用的中断处理子程序使IF=1时,那么也可响应屏蔽中断的高优先级请求。null8.4 中断控制器8259A 8.4.1 8259A的引脚信号、编程结构和工作原理 可对8个中断源实现优先级控制 9片对64个中断源实现优先级控制 可编程设置不同工作方式 向x86提供不同中断类型码null1.8259A的外部引脚信号 VCC和GND是电源和地,接+5V。 D7~D0:8根数据引线。在系统中,D7~D0和数据总线的低8位相连,从而实现和CPU的数据交换。INT:中断请求引线,在系统中,它与CPU的INTR相连,以向CPU发出中断请求信号。 null在8086系统中,数据总线DB为16位,只用低8位数据线进行连接,为保证数据都从低8位传送,这样需用地址线A1与8259A的A0连接,用两个相邻的偶地址来作为8259A的端口地址。 null2.8259A的结构和工作原理null☆中断请求寄存器IRR:保存从IR0~IR7来的中断请求信号,某位=1表示对应的IRi有中断请求 ☆中断服务寄存器ISR:保存所有正在服务的中断源,某位=1表示对应的IRi中断正在被服务 ☆中断屏蔽寄存器IMR:存放中断屏蔽字,某位=1表示对应的IRi输入被屏蔽 ☆中断优先权判别电路:确定是否向CPU发出中断请求,中断响应时确定ISR的哪位应置位及把相应中断的类型码放到数据总线上。 ☆级连逻辑:当引入的中断超过8级时,用多片8259A级联,构成主从关系。null⑵ 工作原理。 8259A对中断请求的处理过程如下: 当某IRi有效时,IRR相应位置1 若有效的IRi未被屏蔽,则向CPU发出中断请求 检测到第1个INTA#信号后,置ISRi=1,IRRi=0 检测到第2个INTA#信号后,把ISRi=1中最高优先级的中断类型码放到DB上 若工作在AEOI方式,在第2个INTA#结束时,使ISRi复位;否则由CPU发出EOI命令使ISRi复位null3. 8259A的工作方式 ⑴ 设置优先级的方式:有全嵌套方式、特殊全嵌套方式、优先级自动循环方式和优先级特殊循环方式等4种优先级方式。 ☆全嵌套方式:IR0的级别最高,IR2的级别次之,……,IR7的级别最低。 加电后8259A的默认方式,默认优先级顺序从高到低为IR0~IR7 null☆特殊全嵌套方式:特殊全嵌套方式一般用在多片8259A级连的系统中。使主片8259A工作在特殊全嵌套方式,但从片工作在其它优先级方式。对来自同一从片的较高优先级请求也会开放。 ☆优先级自动循环方式:一个中断源受到中断服务以后,它的中断优先级自动降为最低。 null☆普通屏蔽方式:在普通屏蔽方式中,根据需要,可通过编程设置操作命令字OCW1(屏蔽寄存器)屏蔽不需要响应的中断。程序也可以撤消对某些中断的屏蔽。⑵ 屏蔽中断源的方式:普通屏蔽方式和特殊屏蔽方式。 ☆特殊屏蔽方式:当CPU正在处理某级中断时,要求仅对本级进行屏蔽,而允许其它优先级高的或低的中断进入系统,这被称作特殊屏蔽方式。 ☆优先级特殊循环方式:在运行过程中,8个中断优先级自动循环。 优先级的方式是通过对8259A的操作命令字OCW2来设置的。 null☆中断自动结束方式:系统一进入中断过程,在第二个中断响应信号结束时,8259A就自动将ISR相应位清0。 因不保留当前正在服务的中断的状态,故AEOI不能用于中断嵌套方式⑶ 结束中断处理的方式:当某一IRi中断被服务时,ISR中的相应位ISRi=1。当服务结束后,则必须清零该ISRi位。使ISRi=0是通过向8259A发出中断结束命令(EOI命令)实现的。有三种中断结束方式: 自动EOI(AEOI)——中断自动结束方式 非指定EOI(NSEOI)——一般中断结束方式 指定EOI(SEOI)——特殊的中断结束方式 null☆一般中断结束方式:用于普通全嵌套方式的情况下。 由CPU发出正常EOI命令,该EOI命令使ISRi=1的位中优先级最高的那一位复位。☆特殊的中断结束方式:用于优先级自动循环方式或优先级特殊循环方式中。通过对8259A偶地址端口输出操作命令字OCW2来实现。 由CPU发出一条特殊的中断结束命令,该EOI命令中指出了所要复位的ISR的位号。null⑷连接系统总线的方式:缓冲方式和非缓冲方式。 ☆ 缓冲方式:在多片8259A的系统中,8259A通过总线缓冲器和数据总线连接,即为缓冲方式。 null☆非缓冲方式:非缓冲方式是相对于缓冲方式而言的。当系统中只有一片或很少几片8259A时,可将8259A的数据线直接与系统总线相连。 null⑸ 引入中断请求的方式:有下列三种 。 ☆边沿触发方式 : IRi出现上升沿表示有中断请求 ☆电平触发方式:IRi出现高电平表示有中断请求。 在第1个INTA#结束前,IRi必须保持高电平☆中断查询方式:CPU通过查询8259A状态来确定是否有中断申请,并判别是哪个中断源。null8.4.2 8259A的初始化命令字和操作命令字 8259A有4个初始化命令字和3个操作命令字,用于对8259A进行编程。 1.8259A的初始化命令字:由初始化程序填写⑴ ICW1——芯片控制初始化命令字。写入8259A的偶地址端口(A0=0)。ICW1的格式如下: D7~D5:一般不用。 D4=1:为ICW1的标志位,D4=1表示为初始化命令字ICW1,而不是操作命令OCW2和OCW3。 nullD3 (LTIM):设置中断请求信号(IRi引脚)的触发方式。LTIM=0:边沿触发方式;LTIM=1:电平触发方式。 D2 (ADI):在8086/8088系统中不用。 D1 (SNGL):用来指示本片是否与其他8259A处于级连方式。当系统中只有一片8259A时,使D1=1;当系统中有多片8259A时,应使D1=0。 D0 (IC4):用来指出后面是否设置ICW4。当IC4=0,则后面不需要设置ICW4;若使IC4=1,后面需要设置ICW4。在8086/8088系统中要求必须使用ICW4命令字,所以IC4必须设置为1。 null⑵ ICW2——中断类型码初始化命令字:用来设置中断类型码。写入8259A的奇地址端口(A0=1)。 ICW2的高5位为中断类型码的高5位,低3位由引入中断的引脚序号决定。 例如:ICW2的值为40H,则8259A的IR0~IR7对应的8个中断类型码为:40H,41H,42H,…,47H。如果设置ICW2的高5位为01001B,则8259A对应的8个中断类型码为:48H,49H,4AH,4BH,…,4FH。 null⑶ ICW3——主从片标识字初始化命令字:标识主/从片的初始化命令字,ICW3要求写入8259A的奇地址口,跟在ICW2后设置。 主片ICW3的格式如下: 从片ICW3的格式如下: IRi=1:表示IRi引脚上连有从片;IRi=0:表示IRi引脚上无从片连接。D2~D0:为从片标识符。D2~D0的组合决定哪个中断请求输出到INT脚。 如从片的INT 引脚连在主片的IR5引脚上,则此从片的ICW3中的D2~D0应设置为101B。 null⑷ICW4——方式控制初始化命令字:ICW4要求写入8259A的奇地址口,当只有在ICW1中的第0位(IC4)为1时,才有必要设置ICW4。D7 D6 D5:ICW4的标志位,这三位总是为0。 D4 (SFNM):用来定义在级连方式下是否采用特殊全嵌套方式。SFNM=0:非特殊全嵌套方式;SFNM=1:特殊全嵌套方式。在非级连方式下,D4 (SFNM)位无效。nullD3 (BUF):用来指示是否采用缓冲方式。BUF=0:非缓冲方式;BUF=1: D2 (M/S):在缓冲方式下,该位用来规定本片为主片还是从片。BUF位、M/S位和/信号线之间的关系如下: D1 (AEOI):中断结束方式。AEOI=0:8259A被设置为正常结束方式;AEOI=1:8259A被设置为中断自动结束方式 。 null2.8259A的初始化流程null例1:当8086/8088系统中8259A单级使用,其端口地址是80H和81H。 要求:需要设置ICW4,单级使用、不需要设置ICW3、中断请求为边沿方式;中断类型码为30H~37H;非缓冲方式和一般中断结束方式。初始化程序如下:MOV AL, 13H ;设置ICW1=00010011B OUT 80H, AL ;写入偶地址端口。 MOV AL, 30H ;设置ICW2=00110000B, OUT 81H, AL ;写入奇地址端口。 MOV AL, 01H ;设置ICW4=00000001B: OUT 81H, AL ;写入奇地址端口。null3.8259A的操作命令字:3个,即OCW1~OCW3 Mi=1,表示屏蔽相应的中断请求(IRi);Mi=0,表示允许相应的中断请求(IRi) ⑴ OCW1——中断屏蔽操作命令字:实现中断屏蔽功能 例如:OCW1=03H(00000011B),则IR1和IR0引脚上的中断请求被屏蔽,其它引脚上的中断请求则允许。 nullD4 D3=00:为OCW2的标志。 D7 (R):决定系统中断优先级是否按循环方式设置。若R=1,采用优先级循环方式;若R=0,非循环方式。 D6 (SL):决定了OCW2中的L2、L1、L0是否有效,若SL=1,表示由L2、L1、L0设定的优先级有效; D5 (EOI):中断结束命令。 ⑵ OCW2——工作方式操作命令字:用来设置优先级循环方式和中断结束方式 nullD2 、D1 、D0 (L2、L1、L0)有两个用途:一是当OCW2给出特殊的中断结束命令时,L2、L1、L0指出要清除当前中断服务寄存器ISR中的哪一位;二是当OCW2给出特殊的优先级循环方式命令字时,L2、L1、L0指出循环开始时,哪一个中断的优先级最低(SL=1)。nullD4、D3=01:为OCW3标志,用来和OCW2区别; D6 (ESMM):特殊屏蔽模式允许位。 D5 (SMM):特殊屏蔽模式位。 ⑶ OCW3——工作方式操作命令字:设置和撤消特殊屏蔽方式、设置中断查询方式和设置8259A内部寄存器的读命令。 nullD7:无用。 D2 (P):查询方式位。 当CPU往8259A发出查询命令后,再执行一条输入指令,就得到查询字,查询字中表明了当前外设有没有中断请求,当前优先级最高的中断请求到底是哪一个中断源。 例如:当前优先级次序为IR5、IR6、IR7、IR0、IR1、IR2、IR3、IR4,而在IR2和IR6引脚上又有中断请求,得到如下的查询字:1××××110B null【例8.2】8259A单片系统,管理8级中断,边沿触发,全嵌套,设定0级中断请求对应的中断类型为8,8259的端口地址为20H。 则初始化程序如下: MOV AL,13H ;ICW1 00010011 OUT 20H,AL MOV AL,08H ;ICW2 00100000 OUT 21H,AL MOV AL,01H ;ICW4 00000001 OUT 21H,AL分析: ICW1 = 00010011, ICW2 = 00100000 ICW4 =00000001null【例8.3】两片8259级连,15级中断,主片偶地址口为20H,从片偶地址口为A0H,边沿触发,全嵌套中断,从片INT端接主片的IR2,主片中断类型为8~FH,从片为:70H~77H。进行初始化编程。 主片初始化: MOV AL,11H OUT 20H,AL MOV AL,08H OUT 21H,AL MOV AL,04H OUT 21H,AL MOV AL,11H OUT 21H,AL 从片初始化: MOV AL,11H OUT 0A0H,AL MOV AL,70H OUT 0A1H,AL MOV AL,02H OUT 0A1H,AL MOV AL,11H OUT 0A1H,AL
本文档为【中断】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_920420
暂无简介~
格式:ppt
大小:649KB
软件:PowerPoint
页数:0
分类:
上传时间:2010-05-07
浏览量:33