您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 计算机硬件基础第6章中断
1第6章中断技术1956年,美国,IBM公司IBM7049机上首先使用了中断处理技术并开始使用“中断”(interrupt)这一术语2第一节概述在中断方式中,由外部设备主动向CPU发出请求,等候处理;在没有发出请求时,CPU和外设都可以独立进行的工作。3作用:引入中断技术以后,可以使CPU和外设在大部分时间里并行工作,提高CPU利用率。工作方法:外设接收到CPU的命令后,按自己的控制规律执行相应操作,完成后向CPU发出中断请求,CPU暂停正在执行的程序,转为对外设进行处理,处理完后返回断点处继续执行。一、中断的作用和方法4二、中断的定义:中断定义:CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。中断请求:外设的硬件中断请求和系统软件指令的软件中断请求。断点主程序中断服务程序有中断请求对外设进行处理继续执行返回断点中断请求取决于事件的发生时间,而这个时间是随机的,因此在执行程序的过程中中断程序的插入也是随机的。这是子程序和中断处理程序的重要区别。6三、中断源中断源:引起CPU中断的事件,发出中断请求的来源。硬件中断源:I/O设备,系统时钟,故障源等等。软件中断源:程序中断指令,指令运行出错等。目前的微处理器系统都具有中断功能,且已经不仅局限在输入/输出处理中,而是在更多的方面起着重要作用。例如:自动监视系统运行情况的故障源,BIOS和DOS操作系统为用户提供的中断调用服务程序等。7中断源分类内部中断外部中断异常中断软件中断可屏蔽中断非屏蔽中断异常事件引起中断指令引起INTR中断NMI中断8外部(硬件)中断的一般过程中断请求中断判优及中断源识别cpu响应中断中断处理(服务)中断返回9中断请求中断请求信号应保持到中断被处理为止;CPU响应中断后,中断请求信号应及时撤销。NMIINTR10(一)中断请求中断源向CPU发出的中断信号。对于硬件中断源:必须通过专门的电路传送给CPU;CPU也有专门的引脚接收中断请求信号。8086/8088CPU用INTR引脚和NMI引脚接收硬件中断请求信号。对于软件中断源,在CPU内部由中断指令或程序出错直接引发中断。(二)中断标志1、中断允许标志在CPU的标志寄存器中的IF标志。表示是否可以响应外设的中断请求。通常用1来表示允许。2、中断请求标志对应每个外设有一位,用来纪录外设的中断请求状态。有请求时置1,中断处理完后清0。在PC机中,用8259A来管理外设的中断请求,而在8051系列的单片机中,该标志也在CPU内部。OFDFIFTFSFZFAFPFCF溢出标志位方向标志位中断允许标志位陷阱标志位符号标志位进位标志位奇偶标志位辅助进位标志位零标志位图1.6标志寄存器12(三)中断屏蔽有些硬件中断源的请求可以根据IF标志决定是否响应,而有些硬件中断源的请求需要一定被响应。在8086/8088系统中,INTR是可屏蔽中断请求引脚;NMI是不可屏蔽的中断请求引脚。在PC机系统中,通过8259A管理的外设中断源连在CPU的INTR引脚上。在8259A内部有8位的中断申请寄存器和8位的中断屏蔽寄存器,可以对应于8个外设的中断申请和中断屏蔽。13当系统具有多个中断源时,有可能同时发出请求,由CPU按照重要性和急迫性(中断优先级别)择优响应。一般的处理原则是:1、不同优先级同时请求,按优先级别高低处理。2、低优先级中断正在处理,出现高优先级请求,转去处理高优先级请求。3、高优先级中断正在处理,出现低优先级请求,暂不响应。4、中断处理时,出现同级别请求,当前中断处理完以后再处理新的请求。中断判优14中断嵌套在CPU的处理外部中断的时候,如果有更高优先级的中断请求,再转去处理高优先级的中断。在PC机中,可以中断嵌套。15中断判优方法软件判优顺序查询同类中断请求,先查询的先服务(即先查询的优先级别高)硬件判优链式判优、并行判优(中断向量法)161、软件中断(除单步中断外)2、NMI3、INTR4、单步中断在PC机系统中外设中断源通过8259A中断优先级管理器连接到INTR引脚,外设中断源的优先级别由8259A进行管理。不同中断源优先级顺序17中断源识别软件查询法中断矢量法。由中断源提供中断类型号,CPU根据类型确定中断源。18断点与返回地址CPU在每条指令执行的最后一个时钟周期检测中断请求,如果响应中断的话,转去执行中断处理程序,程序被中断的地方称为“断点”。断点处的指令是中断处理结束后,返回时恢复执行的第一条指令的地址称为“返回地址”。191、CPU在每条指令执行的最后一个时钟周期检测中断请求,如果以下之一,CPU自动进入中断响应周期。(1)有软件中断;(2)有NMI中断信号;(3)有INTR中断信号且CPU允许响应中断。中断响应和处理202、进入中断响应周期以后,如果是INTR,则产生INTA信号给中断源,让中断源通过数据总线的低8位送出中断类型码给CPU;如果是NMI,类型码是2;中断指令中有类型码;程序出错有默认类型码。3、标志寄存器进栈,清除TF和IF标志,CS和IP进栈,用于返回。214、形成中断服务程序入口地址,转入中断服务程序执行。每个中断的有自己的处理程序,各种微处理器形成中断服务程序入口地址的方法也不相同。225、进入中断服务程序。通常由以下步骤组成:(1)保护现场,开中断;(2)中断处理;(3)关中断,恢复现场,开中断;(4)用中断返回指令(IRET)返回。(七)中断返回从堆栈中恢复断点(返回地址的CS和IP、标志寄存器)返回到主程序继续执行。(八)优先级判别23通常用专门的中断优先级处理电路Intel8259A来管理若干个硬件中断源,将中断请求信号送给微处理器。例如:在PC/XT机中使用8259A管理硬件中断源,将中断请求送到8088的INTR引脚,将中断类型码送到数据总线D7~D0上。25第二节8086/8088的中断结构256种中断类型:用1个字节表示中断类型码;中断向量:每个中断类型对应于4个字节的程序入口地址,此入口地址称为中断向量;低字为段内偏移,高字为段基址。256个中断向量存放在内存最开始的1KB的中断向量表中。00000H003FFH┇┇26中断向量表的初始化将用户自定义的中断服务程序入口地址放入向量表(如:温度过高)两种方法:直接写中断向量表利用DOS中断功能调用:INT25H00000H003FFH┇┇27中断向量表的初始化例:将中断向量码为48H的服务程序入口地址放入向量表直接写中断向量表MOVAX,0;0段MOVDS,AXMOVSI,48H*4;偏移量MOVDX,OFFSETit_proc;服务程序偏移量MOV[SI],DXMOVDX,SEGit_proc;服务程序段地址MOV[SI+2],DX利用DOS中断功能调用:INT25HMOVDX,SEGit_procMOVDS,DXMOVDX,OFFSETit_procMOVAX,2548H;向量码为48HINT21H28内部中断外部中断除法错中断溢出中断单步中断软件中断非屏蔽中断可屏蔽中断256个中断源29NMIINTR中断逻辑软件中断指令溢出中断除法错单步中断非屏蔽中断请求中断控制器8259APIC8086/8088CPU内部逻辑断点中断可屏蔽中断请求n430128086/8088中断源类型:308088/8086内部中断响应过程响应过程步骤:①PUSHFLAG②暂存TF③清除IF和TF④PUSHCSPUSHIP⑤[0:中断类型号*4]→IP[0:中断类型号*4+2]→CS318088/8086外部中断响应过程可屏蔽中断(INTR):①INTA周期1,PIC进行中断的排队和优先级处理②INTA周期2,PIC把中断类型号放到DB上,由CPU读入③PUSHFLAG④暂存TF⑤清除IF和TF⑥PUSHCSPUSHIP⑦[0:中断类型号*4]→IP[0:中断类型号*4+2]→CSNMI中断响应过程与内部中断类似INTR中断控制器8259APIC32第三节8259A可编程中断控制器8259A是Intel公司专为简化中断控制硬件接口而设计的LSI芯片。它可以接收8级外部硬件中断,具有中断优先级排队、中断屏蔽、提供中断类型号等功能,并可通过编程选择不同工作方式,使用非常方便,因而在PC和各种系统中得到普遍应用。338259A的外部特性及连接8259A是一个28脚DIP(双列直插式)封装的接口芯片。是其方框图和外部引脚图。36如果系统的中断源超过8个,单片8259A就无法满足要求。这时需要级连多片8259A。以PC/AT机为例,它使用了两片8259A。SP/EN=1的8259A为主片,其INT信号直接与CPU的INTR引脚连接,而另一个8259A的SP/EN接地,表明是从片。注意从片的INT信号连接与主片不同,它的INT信号不需和CPU总线相连,而连接到主片的某个IR引脚,此处是IR2。其他信号如CAS2~CAS0、INTA、RD、WR、D7~D0、A0都是主从8259A各自同名的信号并接在一起,如果有更多的从片也是如此,但为了保证信号传输可靠,一般需在这些信号线之间接入驱动缓冲器。PC/AT计算机连接一个从片之后可以处理15级中断。8259A最多可级连8个从片,处理64级中断。
本文标题:计算机硬件基础第6章中断
链接地址:https://www.777doc.com/doc-3880004 .html