计算机硬件基础第6章中断课件

上传人:我*** 文档编号:137922984 上传时间:2020-07-12 格式:PPT 页数:37 大小:287.50KB
返回 下载 相关 举报
计算机硬件基础第6章中断课件_第1页
第1页 / 共37页
计算机硬件基础第6章中断课件_第2页
第2页 / 共37页
计算机硬件基础第6章中断课件_第3页
第3页 / 共37页
计算机硬件基础第6章中断课件_第4页
第4页 / 共37页
计算机硬件基础第6章中断课件_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《计算机硬件基础第6章中断课件》由会员分享,可在线阅读,更多相关《计算机硬件基础第6章中断课件(37页珍藏版)》请在金锄头文库上搜索。

1、1,第6章中断技术,1956年,美国,IBM公司 IBM 7049机上首先使用了中断处理技术 并开始使用“中断”(interrupt)这一术语,2,第一节 概述,在中断方式中,由外部设备主动向CPU发出请求,等候处理;在没有发出请求时,CPU和外设都可以独立进行的工作。,3,作用:引入中断技术以后,可以使CPU和外设在大部分时间里并行工作,提高CPU利用率。 工作方法:外设接收到CPU的命令后,按自己的控制规律执行相应操作,完成后向CPU发出中断请求,CPU暂停正在执行的程序,转为对外设进行处理,处理完后返回断点处继续执行。,一、中断的作用和方法,4,二、中断的定义:,中断定义: CPU执行程

2、序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。 中断请求:外设的硬件中断请求和系统软件指令的 软件中断请求。,中断请求取决于事件的发生时间,而这个时间是随机的,因此 在执行程序的过程中中断程序的插入也是随机的。这是子程序 和中断处理程序的重要区别。,6,三、中断源,中断源:引起CPU中断的事件,发出中断请求的来源。 硬件中断源:I/O设备,系统时钟,故障源等等。 软件中断源:程序中断指令,指令运行出错等。 目前的微处理器系统都

3、具有中断功能,且已经不仅局限在输入/输出处理中,而是在更多的方面起着重要作用。 例如:自动监视系统运行情况的故障源,BIOS和DOS操作系统为用户提供的中断调用服务程序等。,7,中断源分类,8,外部(硬件)中断的一般过程,中断请求 中断判优及中断源识别 cpu响应中断 中断处理(服务) 中断返回,9,中断请求,中断请求信号应保持到中断被处理为止; CPU响应中断后,中断请求信号应及时撤销。,NMI INTR,10,(一)中断请求 中断源向CPU发出的中断信号。,对于硬件中断源:必须通过专门的电路传送给CPU; CPU也有专门的引脚接收中断请求信号。 8086/8088CPU用INTR引脚和NM

4、I引脚接 收硬件中断请求信号。 对于软件中断源,在CPU内部由中断指令或程序出错直接 引发中断。,(二)中断标志 1、中断允许标志 在CPU的标志寄存器中的IF标志。表示是否可以响应外设的中断请求。通常用1来表示允许。 2、中断请求标志 对应每个外设有一位,用来纪录外设的中断请求状态。有请求时置1,中断处理完后清0。 在PC机中,用8259A来管理外设的中断请求,而在8051系列的单片机中,该标志也在CPU内部。,12,(三)中断屏蔽 有些硬件中断源的请求可以根据IF标志决定是否响应,而有些硬件中断源的请求需要一定被响应。 在8086/8088系统中,INTR是可屏蔽中断请求引脚;NMI是不可

5、屏蔽的中断请求引脚。 在PC机系统中,通过8259A管理的外设中断源连在CPU的INTR引脚上。在8259A内部有8位的中断申请寄存器和8位的中断屏蔽寄存器,可以对应于8个外设的中断申请和中断屏蔽。,13,当系统具有多个中断源时,有可能同时发出请求,由CPU按照重要性和急迫性(中断优先级别)择优响应。 一般的处理原则是: 1、不同优先级同时请求,按优先级别高低处理。 2、低优先级中断正在处理,出现高优先级请求,转去处理高优先级请求。 3、高优先级中断正在处理,出现低优先级请求,暂不响应。 4、中断处理时,出现同级别请求,当前中断处理完以后再处理新的请求。,中断判优,14,中断嵌套 在CPU的处

6、理外部中断的时候,如果有更高优先级的中断请求,再转去处理高优先级的中断。 在PC机中,可以中断嵌套。,15,中断判优 方法,软件判优 顺序查询同类中断请求,先查询的先服务 (即先查询的优先级别高) 硬件判优 链式判优、并行判优(中断向量法),16,1、软件中断(除单步中断外) 2、NMI 3、INTR 4、单步中断 在PC机系统中外设中断源通过8259A中断优先级管理器连接到INTR引脚,外设中断源的优先级别由8259A进行管理。,不同中断源优先级顺序,17,中断源识别,软件查询法 中断矢量法。 由中断源提供中断类型号,CPU根据类型确定中断源。,18,断点与返回地址 CPU在每条指令执行的最

7、后一个时钟周期检测中断请求,如果响应中断的话,转去执行中断处理程序,程序被中断的地方称为“断点”。 断点处的指令是中断处理结束后,返回时恢复执行的第一条指令的地址称为“返回地址”。,19,1、CPU在每条指令执行的最后一个时钟周期检测中断请求,如果以下之一,CPU自动进入中断响应周期。 (1) 有软件中断; (2) 有NMI中断信号; (3) 有INTR中断信号且CPU允许响应中断。,中断响应和处理,20,2、进入中断响应周期以后,如果是INTR,则产生INTA信号给中断源,让中断源通过数据总线的低8位送出中断类型码给CPU;如果是NMI,类型码是2;中断指令中有类型码;程序出错有默认类型码。

8、 3、标志寄存器进栈,清除TF和IF标志,CS和IP进栈,用于返回。,21,4、形成中断服务程序入口地址,转入中断服务程序执行。每个中断的有自己的处理程序,各种微处理器形成中断服务程序入口地址的方法也不相同。,22,5、进入中断服务程序。通常由以下步骤组成: (1) 保护现场,开中断; (2) 中断处理; (3) 关中断,恢复现场,开中断; (4) 用中断返回指令(IRET)返回。 (七)中断返回 从堆栈中恢复断点(返回地址的CS和IP、标志寄存器) 返回到主程序继续执行。 (八)优先级判别,23,通常用专门的中断优先级处理电路Intel 8259A 来管理若干个硬件中断源,将中断请求信号送给

9、微处理器。 例如:在PC/XT机中使用8259A管理硬件中断源, 将中断请求送到8088的INTR引脚,将中 断类型码送到数据总线D7D0上。,24,菊花链逻辑电路,INTAin,IREQ,INTR,&,1,INTAout,DB,三态门,中 断 向 量 码,E,外设接口,中断确认,菊花链 逻辑电路,25,第二节 8086/8088的中断结构,256种中断类型:用1个字节表示中断类型码; 中断向量:每个中断类型对应于4个字节的程序入口地址,此入口地址称为中断向量;低字为段内偏移,高字为段基址。 256个中断向量存放在内存最开始的1KB的中断向量表中。,26,中断向量表的初始化,将用户自定义的中断

10、服务程序入口地址放入向量表(如:温度过高) 两种方法: 直接写中断向量表 利用DOS中断功能调用:INT 25H,27,中断向量表的初始化,例:将中断向量码为48H的服务程序入口地址放入向量表 直接写中断向量表 MOV AX,0 ;0段 MOV DS,AX MOV SI, 48H*4 ;偏移量 MOV DX,OFFSET it_proc ;服务程序偏移量 MOV SI,DX MOV DX,SEG it_proc ;服务程序段地址 MOV SI+2,DX 利用DOS中断功能调用:INT 25H MOV DX,SEG it_proc MOV DS,DX MOV DX,OFFSET it_proc

11、MOV AX,2548H ;向量码为48H INT 21H,28,内部中断 外部中断,除法错中断 溢出中断 单步中断 软件中断,非屏蔽中断 可屏蔽中断,256个中断源,29,NMI,INTR,中断逻辑,软件中断指令,溢出中断,除法错,单步中断,非屏蔽中断请求,中断控 制器 8259A PIC,8086/8088CPU内部逻辑,断点中断,可 屏 蔽 中 断 请 求,n,4,3,0,1,2,8086/8088中断源类型:,30,8088/8086内部中断响应过程,响应过程步骤: PUSH FLAG 暂存TF 清除IF和TF PUSH CS PUSH IP 0:中断类型号*4 I P 0:中断类型号

12、*4+2CS,31,8088/8086外部中断响应过程,可屏蔽中断(INTR): INTA周期1,PIC进行中断的排队和优先级处理 INTA周期2,PIC把中断类型号放到DB上,由CPU读入 PUSH FLAG 暂存TF 清除IF和TF PUSH CS PUSH IP 0:中断类型号*4 I P 0:中断类型号*4+2CS NMI中断响应过程与内部中断类似,INTR,中断控 制器 8259A PIC,32,第三节 8259A可编程中断控制器,8259A是Intel公司专为简化中断控制硬件接口而设计的LSI芯片。它可以接收8级外部硬件中断,具有中断优先级排队、中断屏蔽、提供中断类型号等功能,并可

13、通过编程选择不同工作方式,使用非常方便,因而在PC和各种系统中得到普遍应用。,33,8259A的外部特性及连接,8259A是一个28脚DIP(双列直插式)封装的接口芯片。是其方框图和外部引脚图。,34,芯片引脚信号定义如下: (1) D7D0:8位双向数据线。用于在CPU和8259A之间传送命令字、状态或中断类型号。一般与CPU的D7D0数据总线连接。 (2) WR:写控制信号,低电平有效。 (3) RD:读控制信号,低电平有效。 (4) CS:片选信号,当为低电平时,8259A被选中,CPU才可对它进行读写。 (5) A0:地址线。用来选择8259A内部不同的命令字。 (6) IR7IR0:

14、中断请求输入。在多个8259A构成的主从级连系统中,则用来与从片8259A连接。 (7) INT:中断请求输出信号,用来向CPU发中断请求信号。,35,(8) INTA:中断响应,输入信号。它与系统的INTA信号连接。当信号有效时,8259A将把中断类型号送入数据总线。 (9) CAS2CAS0:级连线。用于构成多个8259A的主从系统。 (10) SP/EN:双功能信号。在缓冲方式下,该引脚作为控制缓冲器传送方向的输出信号。而其他方式则为输入信号,用于表示该8259A是主片(1)还是从片(0)。 单片8259A与CPU的连接见图8.15。在单片系统中,8259A的CAS2CAS0不用,SP/

15、EN引脚置为高电平,表明是主8259A。CS接地址译码输出,8259A的A0一般与CPU的地址线A0连接,这样,8259A将占有两个端口地址。PC/XT计算机使用单片8259A,使用20H和21H两个端口地址。,36,如果系统的中断源超过8个,单片8259A就无法满足要求。这时需要级连多片8259A。以PC/AT机为例,它使用了两片8259A。SP/EN=1的8259A为主片,其INT信号直接与CPU的INTR引脚连接,而另一个8259A的SP/EN接地,表明是从片。注意从片的INT信号连接与主片不同,它的INT信号不需和CPU总线相连,而连接到主片的某个IR引脚,此处是IR2。其他信号如CAS2CAS0、INTA、RD、WR、D7D0、A0都是主从8259A各自同名的信号并接在一起,如果有更多的从片也是如此,但为了保证信号传输可靠,一般需在这些信号线之间接入驱动缓冲器。,PC/AT计算机连接一个从片之后可以处理15级中断。8259A最多可级连8个从片,处理64级中断。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号