《中断和中断控制器》PPT课件.ppt

上传人:za****8 文档编号:16088631 上传时间:2020-09-18 格式:PPT 页数:43 大小:777.62KB
返回 下载 相关 举报
《中断和中断控制器》PPT课件.ppt_第1页
第1页 / 共43页
《中断和中断控制器》PPT课件.ppt_第2页
第2页 / 共43页
《中断和中断控制器》PPT课件.ppt_第3页
第3页 / 共43页
点击查看更多>>
资源描述
第7章 中断和中断控制器,北京科技大学 理工类(非电非信息)相关专业适用,微机原理及应用,第7章 中断和中断控制器,7.1 中断的基本概念 中断、中断源 中断处理过程 中断优先权 7.2 8086/8088中断系统 中断指令 中断分类 中断向量表 中断处理过程,7.1中断的基本概念,中断、中断源 中断处理过程 中断优先权,中断及相关概念,中断:指计算机的 CPU 在正常运行程序时,由于内部或外部某个紧急事件的发生,使CPU暂停正在运行的程序,在执行完当前指令后,转去执行请求中断的那个外设或事件的中断服务(处理)程序;待处理完后再返回被中断的程序,继续执行正常的程序 中断源:引起中断的事件 断点:主程序被打断的位置 中断服务程序:对中断源的响应或处理程序,中断源示意,硬件中断和软件中断,硬件中断:由硬件设备引起的中断 复位、键盘输入、串口输入输出、传感器信号、计时器等 软件中断:执行特殊指令产生的,无需外部设备发送请求信号 单步调试、DOS输入、输出功能调用等 异同 硬件中断由硬件产生的中断信号引起,具有随机性,软件中断由程序设计的固定位置调用指令产生,具有确定性 硬件中断的响应一般需要CPU发回中断响应信号,软件中断不需要 硬件中断的中断号一般由中断控制器管理提供,除不可屏蔽中断外其它的均可屏蔽;软件中断的中断号相对固定且无需中断控制器管理提供,且不可屏蔽,内部中断和外部中断,内部中断:由CPU硬件本身或运算出错引起 除零、溢出、掉电等 外部中断:由CPU的外设引起 复位、键盘输入、打印机等 异同 内部中断一般不可屏蔽 外部中断一般是可屏蔽的,可屏蔽中断和不可屏蔽中断,可屏蔽中断:CPU通过IF状态标志位,决定是否响应; 允许通过软件来设定IF标志位 不可屏蔽中断:CPU必须要响应 8086/8088提供两条中断输入信号线 NMI是不可屏蔽中断的输入信号线 INTR是可屏蔽中断的输入信号线,中断处理过程,中断请求 优先级判别 中断响应 保存现场 中断服务 恢复现场 中断返回,中断请求,中断请求 概念:外部设备需要CPU资源时,产生一个中断信号发送到CPU的中断请求信号输入管脚 中断请求信号分类:沿触发(上升沿、下降沿、双沿)和电平触发(高电平、低电平) CPU总在当前指令执行结束时才检查中断请求;因此中断请求信号需要保持到CPU对其进行中断响应后才能撤销,优先级判别,优先级判别(中断排队) 多个中断源同时发起中断请求时,CPU需要对多个中断源的优先级进行判断,响应最紧急的中断请求 中断源的优先级需要根据中断源的紧迫性、重要性以及外设处理速度等进行综合考虑;优先级判别有多种方法 如发生不可屏蔽中断,必须优先响应,中断响应,中断响应 对于内部中断,CPU通过判断中断源,并自动跳转到相应的中断服务程序入口地址,执行中断服务子程序 对于外部可屏蔽中断中断,CPU先判断标志位IF,若CPU允许响应外部中断,并向发出中断请求的外设返回一个中断应答信号;否则CPU不响应该中断请求,保存现场、执行中断,保存现场 CPU响应中断,需要保存中断返回地址以及其它可能被破坏的寄存器内容;称为保护中断现场 保护现场过程中,禁止CPU再响应其他的中断请求信号 执行中断处理 CPU通过中断类型码最终确定并跳转到中断服务程序的入口地址,开始中断处理 进入中断处理程序之后,可以允许CPU再响应其它中断,恢复现场、返回,断点现场恢复 中断服务结束后,将保存在堆栈中的所有寄存器内容弹出,恢复中断前的寄存器原值-恢复原现场 恢复现场CPU必须关闭中断(即恢复过程中不能响应新的中断) 中断返回 通过中断返回指令从中断状态返回,继续正常程序 返回之后,CPU自动打开中断,开始允许响应其它中断请求,中断优先权管理,中断优先级 设置优先级的原因:中断处理的重要程度和时延要求不同 程序员或系统将按照中断源的重要程度为每个中断源分配不同的优先级,并以优先级大小进行排序,确定多个中断源请求时,对不同中断源的服务次序;称之为中断优先级 依据中断优先级别,决定对多个中断源的响应顺序,正确地形成中断嵌套 优先级别可以是固定的,也可以动态调整,优先级判别方法,软件查询方式 中断系统提供并传送“查询字”;CPU读取并依次检测各位的取值状态;取值1或0对应有或无中断请求 各个中断在“查询字”中,被查询的先后顺序,决定了该中断优先权的高低顺序 该顺序,需要程序员在编辑查询程序时,事先设置和约定 所以,先被查询到的,一定是优先权最高的,设置优先级,D7,D0,高,低,中断服务系统,确定中断级别示意,软件方式确定优先权, 假设可有8个外设中断源;约定D7中断源的级别最高,D0 的最低;他们的状态或1或0(假设1为有中断请求) CPU首先通过INTR引脚收到请求信号 CPU再通过数据线读取8位数据(查询字),启动查询程序,从D7开始依次查询各个位的状态,决定先响应哪一个中断请求(或决定是否需要中断嵌套) 未被响应的较低级中断将连同新产生的中断一起,继续向CPU的INTR请求,IN AL,PORT_R ;从端口读取“查询字” TEST AL, 80H ;测试AL的最高位 JNZ D7SEV ;转向D7的服务程序标号 TEST AL,40H ;测试AL的次高位 JNZ D6SEV ;转向D6的服务程序标号 TEST AL,01H JNZ D0SEV ;转向D0的服务程序标号 D7SEV: ; D7的服务程序标号 ,软件方式确定优先权,硬件方式确定中断优先权,用硬件方式实现中断优先权的判别 常用的硬件电路有:中断优先权编码、链式优先权排队电路及专用硬件电路等 广泛使用8259A控制器,硬件方式确定中断优先权的例,优先级判别方法,硬件查询方式 中断向量方式 中断控制器(8259A控制器),中断屏蔽,中断的屏蔽一般分为两级实现; CPU内部的中断屏蔽 处理器将根据IF标志位,确定外部可屏蔽中断请求INTR是否被允许进入系统 中断控制器中断屏蔽 中断控制器包括一个中断屏蔽寄存器,为每一个中断源设置一个中断屏蔽位,开放或关闭某个具体的外部中断源的请求,中断嵌套,CPU同时接收到多个中断请求时,总是首先响应优先级最高的中断请求 对于正在被响应的中断服务,可以被另一个优先级更高(特殊情况下可以是同级别)的中断所中断,而暂停当前正在执行的中断服务程序,转而去响应级别更高的中断请求,等更高级别的中断服务处理完毕,再返回到被中断了的中断服务程序继续执行;这个过程称为中断嵌套,7.2 8086/8088中断系统,本节主要内容 8086/8088中断指令 8086/8088中断分类码 8086/8088中断向量表 8086/8088中断处理过程,8086/8088中断指令,8086/8088 CPU提供以下中断操作指令 CLI :关闭CPU中断(将标志寄存器FLAGS的IF位置0) STI :开启CPU中断(将标志寄存器FLAGS的IF位置1) INT n :软中断指令:产生一个软中断 INTO :溢出中断指令:测试运算结果是否溢出,并处理溢出问题 IRET :中断服务程序返回指令:结束中断服务程序,然后返回中断现场;必须出现在中断服务程序的最后,INT和IRET中断指令,中断指令的执行过程中涉及的堆栈操作,中断响应 INT,中断返回 IRET,中断服务入口地址送入CS和IP,转去执行中断服务程序,IP,CS,FLAG,所有的中断服务程序都必须通过IRET返回到断点,INTO指令,溢出中断INTO INTO指令首先检查溢出标志OF位 如果OF=1,则启动一个中断号为4的中断过程 如果OF=0,不做任何操作 INTO指令一般安排在有符号数算术运算指令后面,用于进行运算结果的溢出检查 IMUL BX ;乘法指令 INTO ;若溢出,则启动中断服务处理 MOV RESULT,AX MOV RESULT+2,DX,8086/8088中断类型码, 8086/8088的中断系统最多可以处理256种不同类型的中断 对于每个中断,都分配一个中断类型的编码,以示区别 类型编码(也称中断号)为 0-255 特别提示,专用中断:类型号04 是专用中断,不允许做任何修改 其它中断:其余的中断类型号既可以分配给软中断使用,也可以分配给可屏蔽中断使用,由指令 INT 3 产生;程序调试手段;断点中断与单步中断不同在于:单步中断每执行一条指令中断一次;断点中断是程序运行到预先设置的断点处,中断一次;设置断点就是在此处设置一个 INT 3 指令,8088/8086的中断类型,CPU在执行除法指令时,若发现除数为0或商超过了寄存器所能表达的范围,就立即产生了一个类型为0的中断;CPU不需要执行任何指令,自动地响应该中断,转去执行“除法错误中断服务处理程序”,由CPU对状态标志寄存器中的单步标志TF的测试(TF1),而自动产生 此时,每执行一条指令,就会产生一个中断;一般用在调试程序中,由指令INTO产生 当OF1时,执行 INTO 就会进入类型码为4的中断;其中断服务程序一定是处理运算过程中的溢出错误,中断向量即中断服务程序的入口地址(首地址) 它应该包含段基地址和偏移地址两个部分 将占用4个字节;低地址存放中断服务程序的入口偏移地址,高地址存放其段基地址,中断向量,8086/8088微处理器规定:从物理地址00000H开始,依次存放中断向量,形成一个特殊的中断服务程序入口地址的存储区域,称为中断向量表 在该表中,各中断向量的存放顺序按中断类型码排列;并约定从 0000H:0000H 开始存放 256个不同类型的中断向量将占用1KB区域;故中断向量表建立在内存空间中最低1K地址,地址从00000003FFH,8086/8088中断向量表,中断向量表示意, 中断向量在中断向量表中的存放(首)地址称为中断向量地址指针 中断向量指针由CPU采用“中断类型码乘以4”的方式确定并管理 中断类型码联系着中断向量和中断向量地址指针,中断向量地址指针,此例中的所存数据是类型码为32(20H)的中断服务程序的入口地址,例如:对于中断类型码为24H的中断源 其中断向量地址指针为 24H 40090H 在0000:0090H开始的4个单元中,依次存放该中断源的中断服务程序的人口地址IP和CS 若00090H00093H中的内容分别是00H、46H、A4H、3BH,则该中断源的中断服务程序入口地址为 3BA4H:4600H,中断向量相关概念例,进一步分析!,说明,同样: 若中断类型码42H的中断向量为 5678H:1234H 则中断向量表中,在00108H0010BH这4个单元内一定是依次存放着 34H、12H、78H、56H,说明,中断向量相关概念例, 为中断服务程序安排了存储空间后,还须按照其中断类型码,确定中断向量指针,将它的入口地址置入中断向量表中;称为中断向量表的设置 当中断到来时,CPU就会根据其中断类型码,确定中断向量地址指针,然后到中断向量表中,取出中断向量,形成入口地址IP和CS,转入中断服务程序 系统提供的中断服务程序的设置由系统自动完成;程序员自定义的中断服务程序的中断向量应由程序员设置,设置中断向量表的作用和意义,中断向量表的设置方法,设置中断向量表,中断向量表设置方法,中断向量表的设置方法 用传送指令直接设置 调用DOS的系统功能,并使用软中断指令INT 2lH 设置,例:假设某中断服务程序的入口地址为 INTSUB,中断类型码为70H;试用传送指令设置中断向量表,设置中断向量表例,XOR AX,AXMOV ES,AX ;设置段寄存器为0000HMOV BX,70H*4 ;确定中断向量指针MOV AX,OFFSET INTSUB ;取偏移地址MOV ES:BX,AXMOV AX,SEG INTSUB ;取段基址MOV ES:BX2,AX,VECDATA SEGMENT AT 0000H ;设置该段段基址的定位方式 ORG 70H*4 ;对应类型码70H LOCA70 DW 2 DUP (?) VECDATA ENDS CODE SEGMENT CLI ;关中断,设置过程中不再响应其他中断 PUSH DS ;保护现场 MOV AX,VECDATA MOV DS,AX ;指定段基址为 0000H MOV LOCA70,OFFSET INTSUB ;存放中断向量 MOV LOCA70+2,SEG INTSUB POP DS ;恢复现场 STI ;开中断 CODE ENDS,把本段装到指定的16位的段基址上, 调用DOS系统的25号功能,设置中断向量表 执行调用前需预置相关的入口参数 1) AH中预置功能编号25H; 2) AL中预置中断类型码; 3) DS和DX中预置中断服务程序的入口地址(段地址和偏移地址分别置入DS和DX) 预置完以上参数后,执行 INT 21H 指令就可把中断服务程序的入口地址置入中断向量表中适当的位置,设置中断向量表,例:设中断服务程序的入口地址为INTSUB,中断类型码为70H,则用下列指令段可设置中断向量,PUSH DS MOV AX,SEG INTSUB MOV DS,AX LEA DX ,INTSUB MOV AL,70H MOV AH,25H INT 21H POP DS,中断向量表的设置例,DOS功能调用35H用来读取中断向量表 入口、出口参数如下: AH:预置DOS功能编号35H AL:中断类型号 ES:读出的中断服务程序入口的段地址 BX:读出的中断服务程序入口的偏移地址,中断向量表的读取,MOV AL,70H MOV AH,35H INT 21H,8086/8088中断响应过程,
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!