您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第7章中断与定时-1
1计算机学院体系结构中心第7章中断与定时技术2计算机学院体系结构中心本章内容7.1中断的基本概念7.28086的中断系统7.3可编程中断控制器82597.48259的应用7.5硬件的中断服务程序的编写7.6定时与计数技术3计算机学院体系结构中心7.1中断的基本概念4计算机学院体系结构中心什么是中断?软中断是用软中断指令来激活的硬中断中断的产生具有随机性,改变程序的执行顺序主程序中断服务程序外设接口中断请求中断响应中断服务完成I/O保护现场恢复现场5计算机学院体系结构中心硬中断和软中断硬件中断:由硬件设备引起的中断复位、键盘输入、串口输入输出、传感器信号、计时器等软件中断:执行特殊指令产生的,无需外部设备发送请求信号单步调试、DOS屏幕输入、输出等异同硬件中断由硬件产生的中断信号引起,具有随机性,软件中断由程序设计的固定位置调用指令产生,具有确定性硬件中断的响应一般需要CPU发回中断响应信号,软件中断不需要硬件中断的中断号一般由中断控制器管理,除不可屏蔽中断外其它的均可屏蔽,软件中断的中断号无需中断控制器管理,且不可屏蔽6计算机学院体系结构中心中断源内部中断源指令中断出错中断调试中断外部中断源可屏蔽中断非屏蔽中断7计算机学院体系结构中心可屏蔽中断和不可屏蔽中断可屏蔽中断:CPU通过状态位决定是否响应时钟中断、键盘中断不可屏蔽中断:CPU必须要响应复位、除零8086/8088两条中断输入信号线:NMI和INTRNMI是不可屏蔽中断的输入INTR是可屏蔽中断的输入8计算机学院体系结构中心中断源9计算机学院体系结构中心中断识别什么是中断识别?CPU管理多个中断源时,在收到中断源发出的中断请求后,需判断是哪一个中断源提出的中断请求,以便对它进行服务(或处理)中断识别的方法查询中断法向量中断法10计算机学院体系结构中心查询中断法CPU响应中断后,转入执行一特定地址的中断服务程序,该中断服务程序查询状态口,确定发出中断请求的外设,然后进行相应的处理。CPUINTR状态端口状态信号DataBus外设外设11计算机学院体系结构中心查询中断服务程序外设的中断优先级由查询的次序决定查询各外设对应的状态位外设1的中断处理外设2的中断处理外设1中断外设2中断主程序中断服务程序无状态位置位12计算机学院体系结构中心向量中断法多个外设经中断控制器向CPU提出中断请求,CPU响应中断发出INTA信号,中断控制器将相应的中断向量号(中断类型号)放在数据总线上,CPU读取后,即可确定中断源,查中断向量表进行相应处理。CPUINTR中断控制器状态信号DataBus外设2外设1INTA中断向量①②③④中断请求13计算机学院体系结构中心中断向量表中断向量表由若干中断服务程序入口地址组成的表例:X86的中断向量表中断服务程序入口0中断服务程序入口1中断服务程序入口255IPCSIPCSIPCSIPCSIPCS00000H00004H003FCH14计算机学院体系结构中心中断向量表的修改(1)将中断类型号为60H的中断服务程序intr入口地址填入中断向量表1.直接修改中断向量表xorax,axmoves,axmovbx,60h*4;中断向量号x4movax,offsetintr;中断服务程序的偏移地址moves:[bx],axmovax,segintr;中断服务程序的段地址moves:[bx+2],ax15计算机学院体系结构中心中断向量表的修改(2)2.利用DOS调用修改中断向量表movax,3560h;取原中断向量入口地址int21h;ES:BX=入口地址movold_off,bxmovbx,esmovold_seg,bx………movax,2560h;置中断向量入口地址movdx,segintrmovds,dxmovdx,offsetintr;DS:DX=入口地址int21h16计算机学院体系结构中心中断向量表的修改(3)movax,2560h;恢复原中断向量入口地址movdx,old_segmovds,dxmovdx,old_off;DS:DX=入口地址int21h17计算机学院体系结构中心中断优先级当多个中断源同时提出中断请求时,CPU在一个时刻只能响应并处理一个中断请求,因此,响应优先级最高的中断请求。中断源的优先级可按如下方式确定:按优先级排队根据预先确定的原则,对每一中断源指定优先级。例如:软件的查询顺序,硬件方式按轮循排队所有中断源的优先级相等18计算机学院体系结构中心中断嵌套当前正在被执行的中断服务程序可被优先级更高的中断请求中断优先级相同或更低的中断请求不能中断当前正在被执行的中断服务程序19计算机学院体系结构中心中断处理过程中断请求优先级判别中断响应保存现场中断服务恢复现场中断返回中断请求?优先级判断IF开中断?中断响应保护现场开中断中断服务关中断恢复现场中断返回YY下一条指令NN20计算机学院体系结构中心7.28086的中断系统21计算机学院体系结构中心中断源类型外部中断(硬中断)非屏蔽中断NMI可屏蔽中断INT内部中断(软中断)除法错中断溢出错中断指令中断单步中断22计算机学院体系结构中心80x86中断源8259可编程中断控制器中断逻辑INTnINTO除法错误单步中断CPU非屏蔽中断请求IR0定时IR1键盘IR2级联IR3com2IR4com1IR5硬盘IR6软盘IR7打印机104NMIINTRINTA23计算机学院体系结构中心硬中断与软中断的比较硬中断的特点由外部事件引起,具有随机性CPU需发中断响应信号可以被屏蔽软中断的特点通常用软中断指令触发,中断的发生时刻是可知的CPU不发中断响应信号中断类型号由指令直接给出不可被屏蔽24计算机学院体系结构中心8086中断处理过程(1)完成当前指令内部中断?标志进栈执行下一条指令识别中断读中断类型号YesNoNMI?INTR?TF=0?IF=1?BAYesYesYesYesNoNoNoNo25计算机学院体系结构中心8086中断处理过程(2)0TF0IFA查中断向量表得中断服务程序入口地址执行中断服务程序IRET恢复被中断的服务程序B保存断点26计算机学院体系结构中心1.非屏蔽中断NMI(1)当CPU收到非屏蔽中断NMI请求后,默认该请求的中断类型号为02H。PC机里包括3个非屏蔽中断源协处理器出错系统RAM奇偶校验错I/O通道校验错CPUNMI8087中断请求QDCLRCKPCKI/OCHECKD7RESET写(A0H)27计算机学院体系结构中心非屏蔽中断NMI(2)在PC机系统设计时,允许NMI请求被屏蔽复位后或向A0H端口(NMI屏蔽寄存器)写00H,禁止NMI请求moval,00hout0a0h,al向A0H端口写80H,允许NMI请求moval,80hout0a0h,al28计算机学院体系结构中心2.可屏蔽中断INTR在CPU的INT引脚输入“高”有效信号时,则产生硬件可屏蔽中断请求信号。是否响应该请求由PSW寄存器的IF位决定。IF=0,屏蔽中断(执行CLI指令)IF=1,允许中断(执行STI指令)使用中断控制器可管理多个硬件中断源CPUNMIIF0915PSWINT控制INTINTAWRRDA0IR0IR1IR2IR3IR4IR5IR6IR78259ACSD0-7CAS0-2SP/ENCPU响应可屏蔽中断条件:1)当前指令执行完毕2)IF=13)INTR信号有效29计算机学院体系结构中心3.内部中断(软中断)除法错中断执行DIV或IDIV指令时,商超出机器表示的最大值,即产生0号中断溢出错中断当PSW的OF=1时,执行INTO指令,即产生4号中断单步中断当PSW的TF=1时,执行每条指令,即产生1号中断指令中断断点中断INT3H(机器码为:CCH),单字节指令INTnH30计算机学院体系结构中心中断处理过程(1)中断申请外设向CPU发中断请求信号申请CPU给予服务,CPU决定是否响应中断响应发中断响应信号,获取中断类型号,保存断点及PSW于堆栈,查表获得中断服务程序入口地址中断服务程序保护现场,对外设进行服务(I/O操作),恢复现场中断返回从堆栈弹出断点及PSW,回到中断前的地址继续执行31计算机学院体系结构中心中断处理过程(2)3.中断服务程序保护现场恢复现场EOIIRETPSWCSIPSPSPSS低地址高地址主程序1.中断请求2.中断响应4.中断返回
本文标题:第7章中断与定时-1
链接地址:https://www.777doc.com/doc-3215983 .html