您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 第7章 微机中断系统
微机原理及应用第7章微机中断系统2中断系统概述中断处理过程中断优先级和中断嵌套3概述中断的提出中断的概念中断的分类4中断的提出中断最初是作为处理器与外部设备交换信息的一种控制方式提出的;最初的中断全部是对外部设备而言的,称为外部中断或硬件中断;随着计算机技术的发展,为解决机器内部运行时出现的异常以及为编程方便提出了内部软件中断的概念。5中断的概念中断:处理器暂停执行当前程序,转而处理随机发生的事件,处理完毕后再返回到断点处继续执行原来程序的过程。中断源中断请求当前程序中断服务程序程序断点中断返回中断响应中断源中断响应中断返回中断向量表中断屏蔽中断优先级中断嵌套6中断的分类外部中断(硬件中断)内部中断(软件中断)由中断指令引起的中断:INTn由CPU的某些运算错误引起的中断:INTO(4#)或除法错(0#)中断源由调试程序debug设置的中断:TF=1单步中断(1#)或断点中断(3#)可屏蔽中断INTR--实时处理同步操作电源故障中断动态RAM有奇偶校验错误I/O通道出现奇偶校验错误协处理器8087有中断请求不可屏蔽中断NMI(2#)7中断处理过程CPU响应中断过程中断向量表中断服务程序返回中断服务子程序8CPU响应中断过程中断请求中断响应保护现场状态寄存器(PSW)断点(CS和IP)中断服务程序要用到的寄存器的内容进入中断服务程序恢复现场中断返回9CPU响应中断过程CPU响应外部中断的条件外设提出中断申请(有中断请求信号)本中断未被屏蔽本中断优先级最高CPU允许中断(IF=1)CPU响应中断要在完成当前正在执行的指令之后在等待指令或串操作指令时,允许在指令执行过程中进入中断,但要在当前一个基本操作完成之后下述情况要执行完下一条指令才能响应外部中断CPU正在执行封锁指令正在执行向段寄存器输送数据的指令10中断请求的查询是否有不可屏蔽中断是否有可屏蔽中断是否有内部中断是否有单步执行中断是否允许外部中断11保护现场PSW入栈保护程序断点地址允许CPU继续响应其他中断检查是否有不可屏蔽中断检查是否有单步执行中断恢复现场TF12中断向量表中断服务程序进入问题:确定是哪个中断源发出的中断请求信号得到对应的中断服务程序入口地址解决:中断类型号:每一个中断源分配唯一的中断类型号与其对应中断向量表:用来存放与中断类型号对应的中断源的中断服务程序的入口地址13中断向量表中断类型号:8086/8088系统有256种类型的中断,对应类型号0~FFH(P501)。0——除法出错1——单步中断2——不可屏蔽中断3——断点中断4——溢出中断5——打印屏幕8~0FH——8259A中断10H~1FH——BIOS中断20H~3FH——DOS中断调用中断向量表:内存中00000H~003FFH的1K空间存放中断向量表(也称中断矢量表)每个中断向量占4个字节,高2个字节放中断入口地址的段地址(CS),低2字节放偏移地址(IP)中断向量地址=中断类型号×414中断向量表15中断向量表供用户使用的中断类型号可由用户定义为软中断,由INTn指令引用可通过INTR端直接接入可屏蔽中断可通过中断控制器8259A引入可屏蔽中断用户需要自己将中断服务程序入口地址写入中断向量表两种方法设置中断向量指令DOS功能调用16中断向量表的设置—指令设置MOVAX,0;主程序中设置MOVES,AXMOVBX,N*4;中断类型号NMOVAX,OFFSETINTRAD;置偏移地址MOVES:WORDPTR[BX],AXMOVAX,SEGINTRAD;置断地址MOVES:WORDPTR[BX+2],AXSTI...INTRAD:PUSHAX;中断服务子程序STI...POPAXIRET17中断向量表-中断类型号的获取对于除法出错、单步中断、不可屏蔽中断、断点中断、溢出中断,CPU自动提供中断类型号0~4用户自己确定的软件中断INTn,类型号由n决定对外部可屏蔽中断INTR,可用硬件电路设计产生中断类型号对外部可屏蔽中断INTR,可以用8259A获得中断类型号18中断服务程序返回通过中断返回指令IRET自动弹出断点处指令地址和程序状态字使CPU返回原程序断点处继续执行19中断服务子程序保护现场,涉及的寄存器入栈;若允许中断嵌套,用STI开中断,使IF=1;执行中断处理程序;用CLI关中断,使IF=0;给中断命令寄存器送中断结束命令EOI,使当前处理的中断请求标志位清零;恢复现场,保护的寄存器值出栈;用IRET返回主程序。20中断优先级和中断嵌套多个中断源同时向CPU请求中断时,按中断源的轻重缓急程度确定的优先级别称为中断优先级;CPU先响应优先级高的中断,挂起优先级低的中断;在CPU正处理一个中断时,又有更高优先级的中断请求时,CPU要挂起原中断,进入更高级别的中断服务程序中,称为中断嵌套。21中断优先级通常一个系统有多个中断源,而CPU同一时刻只能响应一个中断源的请求,那么当多个中断源同时请求中断服务时,按中断源的优先级决定响应的先后内部中断和异常(除法错)软件中断(INTO,INTn)外部非屏蔽中断(NMI)外部可屏蔽中断(INTR)优先级递增单步中断IBMPC机中规定的优先级次序22中断嵌套中断优先级3#2#1#1#中断请求响应返回1#中断服务程序2#中断请求响应返回2#中断服务程序3#中断请求响应返回3#中断服务程序原主程序中断嵌套可以有多级,具体级数原则上不限,只取决于堆栈深度。作业P281:6-8,2023
本文标题:第7章 微机中断系统
链接地址:https://www.777doc.com/doc-3650930 .html