资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第八章 中断技术,中断的基本原理,中断的实现方法,主 要 内 容,所谓中断,就是指当,CPU,正在执行程序时,外设(或其它中断源)向,CPU,发出请求,,CPU,暂停当前程序的执行,转向该外设服务(或称中断服务)程序,当中断服务程序运行结束后,返回原程序继续执行的过程。,第一节 中断原理,中断过程,中断请求,中断响应,中断处理,中断请求,数据输入,/,输出外设请求中断,定时时间到申请中断,满足规定状态申请中断,电源掉电申请中断,故障报警申请中断,程序调试设置中断,中断响应,非屏蔽中断,执行完正在执行的指令,保护现场,可屏蔽中断,无总线请求,CPU,被允许中断,CPU,执行完现行指令,CPU,响应中断要自动完成的三件事,关闭中断,保护关键现场,即保护断点和标志寄存器(,CS,、,IP,和,Flags),获得中断服务程序入口地址,转中断服务程序,中断处理(六步),保护现场,用户保护主程序使用的寄存器。执行,PUSH,指令将要保护的寄存器内容压入堆栈。,开中断,对应中断响应时的关中断,中断服务,对中断的处理,关中断,为下一步的恢复现场服务,恢复现场,对应保护现场,开中断返回,POP,出,CS,、,IP,和,Flags,1,8086,响应中断时,不能自动入栈保存的是(),A.,标志寄存器,FR B.,代码段寄存器,CS,C.,指令指针寄存器,IP D.,累加器,AX,2,保护断点就是保存()。,A.,中断类型码,B.,中断服务程序入口地址,C.,现场,D.,当前,CS,、,IP,的值,3.CPU,响应中断请求的时刻是在,(),。,A.,执行完正在执行的程序以后,B.,执行完正在执行的指令以后,C.,执行完正在执行的机器周期以后,D.,执行完本时钟周期以后,在中断输入,/,输出方式下,外设的()线可用于向,CPU,发送中断请求信号。,A.,控制字,B.,状态,C.,数据,D.,其它,通常,中断服务程序中的一条,STI,指令,其目的是()。,A,开放所有屏蔽中断,B.,允许第一级中断产生,C,允许高一级中断产生,D.,允许同一级中断产生,中断处理不能中断()。,A.,当前子程序执行,B.,当前指令的执行,C.,当前中断服务程序执行,D.,当前主程序的执行,中断源的识别,查询中断(软件识别),矢量中断(硬件识别),中断优先级的确定,软件查询法,是在,CPU,响应中断后,用软件查询以确定是哪些外设申请中断,并判断它们的优先权,优点:可以用修改软件来改变中断优先级,而不必修改硬件。,缺点:速度慢,服务效率低。,硬件处理,编码器组成中断优先级电路(,74LS148),教材P284,硬件优先权排队电路,链式优先权排队电路也称雏菊花链,将所有的中断源排成一个链。各中断源在链中的前后顺序是根据中断源优先级别的高低来排列。排在链前面的优先级最高。,硬件处理,可用硬件编码器和比较器组成的优先权排队电路,第二节,8086,中断系统,中断类型,8086/8088的中断源,8086,的中断处理,80386/86486,的中断,中断类型,8086/8088系统的中断源可分为,软件中断,和,硬件中断,软件中断:由,CPU,执行有些指令引起的中断,除法出错中断,类型为,0,单步中断,类型为,1,INTO,溢出中断,类型为,4,中断指令,INTO n,中断类型,硬件中断,由,CPU,外部中断请求引脚,NMI,和,INTR,引起的中断。,非屏蔽中断,,8086/8088,要求,NMI,信号跳变成高电平后至少保持两个时钟周期以上的宽度,以便锁存下来,待当前指令执行完后响应,中断型号为,2,。,可屏蔽中断,8086/8088的中断源,8086/8088系统的中断源分为外部中断(中断源来自,CPU,外部)和内部中断(来自,CPU,内部的中断),内部中断,除法溢出中断0号中断,单步中断1号中断,INT,指令中断,溢出中断4号中断,外部中断,非屏蔽中断,非屏蔽中断的优先权高于可屏蔽中断。其中断请求信号是发生在,NMI,上的电压跳变(边沿触发)。,可屏蔽中断,出现在,INTR,线上的请求信号是电平触发 的。只有当中断允许标志位,IF,为1时,,CPU,才能响应,INTR,的中断请求。如果,IF,为0,即使,INTR,端有中断请求信号,CPU,也不会响应。这种情况称为中断屏蔽,。,8086,微机系统中,,NMI,中断的中断矢量位置是()。,A.,由程序指定,B.,由操作系统自动分配,C,.,固定在,0008H,开始的,4,个字节中,D.,固定在中断时量表的表首,8086,的中断处理,中断管理,系统定义的专用中断,000H-013H,,包括:,除法出错中断,单步中断,外部引入不可屏蔽中断,断电中断,溢出中断,系统备用中断,018H-031H,供用户使用的中断,032H-0FFH,8086,的中断处理,中断类型号的获取,直接获取,0,号,-4,号,INT n,外部引入的中断,由硬件获取:当,CPU,在响应中断的响应周期进行到第二个,INTA,周期时,用,INTA,将类型号送到数据总线上。,中断向量表,8086/8088系统支持最多256个中断,对应每一个中断,都有一个中断服务程序,该中断服务程序的入口地址称为中断向量。,每个中断向量占用4个字节,前两个字节为服务程序的,IP(,偏移量),后两个字节为服务程序的,CS(,段地址)。,已知中断类型号为,0BH,,则其中断服务程序入口地址存放在中断时量表中的地址是()。,A.CS:000BH B.0000:000BH,C.CS:002CH D.,0000:002CH,若某中断向量为,08H,,则该中断的中断服务子程序的入口地址在中断向量表中的物理地址范围为(,00020,)(,00023,)。,练习:,8086,内存的前,1K,字节建立了一个中断向量表,可以容纳多少个中断向量?如果有中断表指针是,004CH,,假设由该内存单元中顺序存放着,59H,ECH,00H,F0H,则中断服务程序入口地址是多少?,解:每,4,个字节存放一个中断向量,所以,1K/4=256,个,(CS)=F000H (PC)=EC59H,中断服务程序入口地址为:,(CS)*16+(PC)=F0000+EC59H=FEC59H,练习:什么是中断类型码、中断向量、中断向量表?在基于,8086/8088,的微机系统中,中断类型码和中断向量之间有什么关系?,答案:处理机可处理的每种中断的编号为,中断类型码,。中断向量是指中断处理程序的,入口地址,,由处理机自动寻址,中断向量表是存放所有类型中断处理程序入口地址的一个默认的内存区域。在,8086/8088,系统中,,中断类型码乘,4,得到向量表的入口,,从此处读出,4,字节内容即为中断向量。,8086,转入中断服务程序前,不会自动执行()操作。,A.,将中断地址入栈,B.,将标志寄存器入栈,C.,将受影响的寄存器内容入栈,D.,将中断允许标志清零,8086,中断向量表的大小为()。,A.256 B.1024 C.2K D.64K,给定,(SP)=0100H,(SS)=0300H,(FLAG)=0240H,存储单元的内容为(,00020H,),=0040H,(00022H)=0100H,在段地址为,0900H,及偏移地址为,00A0H,的单元中有一条中断指令,INT 8,,试问执行,INT 8,后,,SP,、,SS,、,IP,、,CS,的内容是什么?栈顶的三个字是什么?,答案,:,(SS),不变,(SP)=(SP)-6=00FAH,向量表入口,:8*4=32=0020H,所以 中断服务程序的入口地址为,:,(CS)=(00022H)=0100H (IP)=(00020H)=0040H,中断的保护现场,要先保护,FLAG,,再保护下条指令的地址,所以,栈顶三个字为,:,00A0H,0900H,0240H,第三节 可编程中断控制器,8259A,8259,A,的结构及逻辑功能,8259A,的中断管理方式,8259A,的编程,内部结构,管理和控制80,x86,的外部中断请求,实现中断判优,提供中断向量,屏蔽中断输入,使用单片8259,A,可以管理8级中断,采用级联方式,最多可管理64级中断,8259,A,的结构及逻辑功能,内部结构,8259A,级联时,,CAS0-CAS2,功能是()。,A.,从片给主片送上申请中断的引脚号,B.,主片给从片送上被响应的从片编号,C.,主片给从片送上响应的中断类型码,D.,从片给主片送上响应的中断类型码,中断请求寄存器,IRR,优先级分析器,中断服务寄存器,ISR,中断屏蔽寄存器,IMR,数据总线缓冲器,读/写逻辑,级联缓冲器,功能,管理和控制80,x86,的外部中断请求,实现中断判优,提供中断向量,屏蔽中断输入,使用单片8259,A,可以管理8级中断,采用级联方式,最多可管理64级中断,8259,A,的引脚,中断响应过程,(1)外部设备在中断请求输入线(,IR7,IR0),上发了中断请求,使中断请求寄存器,IRR,的相应位置位。,(2),IRR,的内容与,IMR,的内容相“与”,结果送给优先级分析器。中断优先级分析器把优先级最高的中断请求送到控制电路。,(3)控制电路将接收到的中断请求向,CPU,输出,INT,信号。,教材P291,(4)若,CPU,是处在开中断状态,则在当前指令执行完以后,接收到,INT,信号,输出一个中断响应脉冲,进入第一个中断响应周期。,(5)8259,A,的,INTA,脚上收到脉冲信号,就将最高优先级所对应的,IRR,位清除,并将对应的,ISR,位置位。,(6),CPU,启动第二个中断响应周期,输出另一个脉冲,在这个周期8259,A,向数据总线输出一个中断向量码。,(7),CPU,读取该中断向量码,把它乘以4,得到中断服务程序入口地址,转入该中断服务程序。这样一个中断响应周期就完成了。,级联缓冲,/,比较器,一片8259,A,只能接收,8,级中断,当超过,8,级时,可用多片8259,A,级联使用,构成主从关系,这时用到,CAS2-CAS0,对于主8259,A,,级联管脚是输出。,对于从8259,A,,级联管脚是输入。,见教材P291,中断优先级管理,完全嵌套方式,优先级固定,即,IR,0,-IR,7,自动循环方式,中断屏蔽方式,普通屏蔽方式,特殊屏蔽方式,特殊完全嵌套方式,级联时的情况,主从片都执行完全嵌套方式。,第四节,8086,中断矢量表的建立,绝对地址置入法,使用串送存指令装入法,使用,DOS,调用法,直接装入法,P303,练习,1,、,8086,响应中断时,不能自动入栈保存的是(),A,标志寄存器,FR B,代码段寄存器,CS,C,指令指针寄存器,IP D,累加器,AX,2,、保护断点就是保存()。,A.,中断类型码,B.,中断服务程序入口地址,C.,现场,D.,当前,CS,、,IP,的值,3,、,8086 CPU,采用()中断结构。,A,、单级,B,、多级,C,、级联,D,、矢量,4,、,CPU,响应中断请求的时刻是在,(,),。,A.,执行完正在执行的程序以后,B.,执行完正在执行的指令以后,C.,执行完正在执行的机器周期以后,D.,执行完本时钟周期以后,5,、,8086,允许在内存低端保存,_,个中断向量,每个向量占用,_,个存储单元。,6,、中断向量表的长度是(,1024,)个字节。,7,、,微处理器只启动外设而不干预传输过程的传送方式是(,中断,)。,8,、,8086,中断系统中优先级最低的是(,C,)。,A,可屏蔽中断,B,非屏蔽中断,C,单步中断,D,除法出错,9,、当进入中断过程时,,CPU,把断点处的有关内容压入堆栈保护,并清除(,D,)。,A TF B IF C OF D TF,和,IF,10,、所有中断处理过程的最后一条可执行指令必须是(,B,)。,11,、判断:,即使,IF=0,,如果有非屏蔽中断产生,,CPU,也会做出中断处理。,12,、,8086,微机系统中,,NMI,中断的中断矢量位置是(,C,)。,A,由程序指定,B,由操作系统自动分配,C,固定在,0008H,开始的,4,个字节中,D,固定在中断时量表的表首,13,、在,8086,系统中使用的中断控制器是(,8259A,)芯片,该中断控制器可接受(,8,)级硬件外中断。,14,、通畅,中断服务程序中的一条,STI,指令,其目的是(,C,)。,A,开放所有屏蔽中断,B,允许第一级中断产生,C,允许高一级中断产生,D,允许同一级中断产生,15,、软中断,INT n,的优先级排列原则是(,A,)。,A n,值越小级别越高,B n,值越大级别越高,C,无优先级别,D,随应用而定,
展开阅读全文