第7章中断系统中断的作用.ppt

上传人:文库蛋蛋多 文档编号:2949791 上传时间:2023-03-05 格式:PPT 页数:21 大小:482.02KB
返回 下载 相关 举报
第7章中断系统中断的作用.ppt_第1页
第1页 / 共21页
第7章中断系统中断的作用.ppt_第2页
第2页 / 共21页
第7章中断系统中断的作用.ppt_第3页
第3页 / 共21页
第7章中断系统中断的作用.ppt_第4页
第4页 / 共21页
第7章中断系统中断的作用.ppt_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《第7章中断系统中断的作用.ppt》由会员分享,可在线阅读,更多相关《第7章中断系统中断的作用.ppt(21页珍藏版)》请在三一办公上搜索。

1、第7章 中断系统,中断的作用中断的基本概念中断系统的功能8086/8088的中断系统8086/8088的中断源8086/8088的中断向量表8086/8088的中断响应过程中断控制器 INTEL 8259A,7.1 中断技术概述,7.1.1 中断的作用并行操作,提高工作效率CPU与外设同时工作,多个外设同时工作。实现实时处理在控制系统中,有些参量要求计算机能快速处理,用中断方式容易实现。故障处理出现故障,提出中断申请,要求计算机及时响应。,7.1.2 中断的基本概念,中断源:任何能引发中断的事件都称为中断源。硬件中断源:I/O设备,系统时钟,故障源等软件中断源:程序中断指令(INT 21H),

2、指令运行出错(INTO)等断点:主程序被中断的地方称为断点。断点处的指令是CPU完成中断处理后返回主程序时恢复执行的第一条指令,该指令的存储地址称为返回地址。返回操作:由硬件完成将断点弹出到程序计数器中的操作,这种操作由中断返回指令来完成。现场:是指进入中断服务程序之前CPU各个寄存器的状态。,断点、返回地址与中断返回,7.1.3 中断系统的功能,1、实现中断及返回检测中断:当中断允许时,CPU在每条指令的最后一个时钟周期检测中断请求。响应中断时保护断点和现场:断点自动保护,现场要在中断服务程序中保护。中断服务完成时将中断申请信号撤销。中断服务完成后恢复现场和断点,返回原程序。2、对中断进行控

3、制对中断申请进行控制:控制中断申请能否被检测到对中断响应进行控制:8086标志寄存器Flags中IF标志可控制CPU是否查询INTR引脚。STI IF=1 允许中断CLI IF=0 禁止中断,中断系统的功能,3、实现优先权排队 当系统中多个中断源同时发出中断请求时,CPU按照重要性和急迫性(中断优先级)择优响应:不同优先级同时请求时,CPU先响应高优先级中断;CPU在处理低优先级中断时,若出现高优先级中断请求,则转去处理高优先级中断中断嵌套;CPU在处理高优先级中断时,若出现低优先级中断请求,暂不响应;CPU在处理中断时,若出现同级别中断请求,则等当前中断处理完后,才处理新的请求。,中断系统的

4、功能,4、寻找中断源 有中断申请时需要查找中断源,以决定中断服务程序入口地址。预先约定:当有中断申请时,则转到固定地址执行中断服务程序。电路简单,但一般只能为几个中断源服务。查询:在中断服务程序中查询中断源。应答方式(矢量(向量)中断):响应中断时CPU发中断响应信号,中断源收到此信号发出中断类型码,CPU根据中断类型码决定中断服务程序入口地址。,7.2 8086/8088的中断系统,8086有一个强有力的中断系统向量型中断结构,共256种中断类型外部可屏蔽中断INTR和非屏蔽中断NMI内部多种软件中断、特有的指令中断硬件提供优先级判优电路及中断类型码获得机构,中断响应速度快。,7.2.1 8

5、086/8088的中断源,8086系统的中断分为两类:硬件中断:由外部请求引起的中断软件中断:由指令执行引起的中断,外部中断(硬件中断),可屏蔽中断:申请输入为INTR引脚,高电平有效,该中断受IF控制,CPU在每条指令的最后一个T状态检测该引脚。CPU响应中断后,使INTA有效,从外设读取中断类型码。非屏蔽中断申请输入为NMI引脚,上升沿有效,该中断不受CPU控制,中断类型码为2(INT 2)。非屏蔽中断一般用于非常事件。PC/XT机中用于系统板上RAM奇偶错,I/O通道奇偶错和8087异常中断。,内部中断(软件中断),DIV和IDIV指令(INT 0)若除数为0或商超过寄存器所能表达的范围

6、,则产生类型为0的软件中断。INT 指令(INT n)执行INT n 指令引起的中断。INTO 指令(INT 4)若OF=1,则指令INTO引起类型码为4的软件中断。单步中断(INT 1)若TF=1,则CPU每执行完一条指令后便产生类型码为1的软件中断。,7.2.2 8086/8088的中断向量,中断向量:一个中断服务程序的入口地址中断向量表:就是中断服务程序的入口地址表,它是存放各中断向量的具有固定间隔的表型结构的存储区。以中断类型码为查表的索引。可利用硬件查表。可动态修改、编程灵活。中断类型码:用1个字节进行编码称为中断类型码,每个中断类型码对应4个字节的中断服务程序入口地址。,8086/

7、8088的中断向量表,8086 CPU在内存00000H003FFH的1KB地址空间内建立一个中断向量表,存放256个中断服务程序的入口地址,每个地址占4个字节。前两个字节(低地址)为中断服务程序偏移地址IP,后两个字节(高地址)为服务程序段地址CS。地址:00000H 003FFH1KB空间间隔为4字节,由于每个中断类型码对应4个字节的程序入口地址,因此中断类型码乘以4便可得到中断向量表中存放中断服务程序入口地址的存储单元的偏移量。例:INT 21H 指令调用第21H号中断服务程序,其中断向量存放在中断向量表84H87H的连续4个字节中。21H484H,若从00084H单元开始顺序存放:78

8、H、56H、34H、12H。则对应于中断类型号为21H的中断服务子程序的入口地址即为1234:5678。,7.2.3 中断优先级管理,多个中断请求同时到来时,决定CPU为谁服务的层次。在8086/8088中,除可屏蔽中断INTR引脚上的多个中断请求以外,由CPU进行管理。INTR引脚上的多个中断请求的优先级需由外部硬件管理。CPU视INTR引脚上的中断为同一优先级。,80868088的中断优先级,7.2.4 8086/8088的中断响应过程,不立即响应中断的指令STI和IRET指令:开中断指令STI在开放中断后要求执行一条后续指令后才能响应中断,中断返回指令IRET也要求执行一条后续的指令后才

9、能响应中断。理由:不论中断的请求多么频繁,CPU都能保证主程序不断地执行,不会因中断的过于频繁而使主程序停止运行。,中断响应过程,由硬件自动完成下列工作:首先将标志寄存器FLAGS压入堆栈,将TF存入暂存器;将IF和TF清零;将CS和IP分别压入堆栈;从中断向量表中取出中断向量高两个字节的内容送入CS,取出低两个字节的内容送到IP;从而转到相应中断源的中断服务程序入口,执行中断服务程序。,注意:在中断服务程序中,除完成正常的中断服务以外,最后要执行IRET指令。IRET指令执行三个出栈操作,按次序恢复断点处的IP和CS以及FLAGS的值,使程序恢复到断点处继续执行。,8086获得中断类型码的途

10、径,8086对各类中断的中断响应过程不完全相同,获得中断类型码的途径也不尽相同。对外部可屏蔽中断INTR:CPU在当前指令周期最后一个T状态采样中断请求信号,如有INTR中断请求,且CPU处于中断开放状态(IF=1),则CPU转入两个连续的中断响应周期,在第二个中断响应周期的T4状态前沿,由数据总线读入外设输入的中断类型码。对外部的非屏蔽中断NMI:CPU在当前指令周期最后一个T状态采样中断请求信号,如有NMI中断请求,由CPU直接给出2号中断类型码,而不需执行中断响应周期。软件中断的中断类型码也由CPU内部自动形成。其中除法错的中断类型码为0;单步中断的类型码为1;断点中断的类型码为3;溢出

11、中断的类型码为4;而INT n指令的中断类型码即为指令中给出的n。,中断响应流程图,7.2.5 中断响应周期,8086对INTR中断请求的中断响应占两个总线周期,称为两个中断响应周期。如果8086在一个指令周期的最后一个总线周期的T4状态中识别到一个有效的INTR信号,且IF标志为“1”,接下来的两个总线周期就是中断响应周期。发出中断请求的外设接口在收到第一个INTA脉冲时进行发送中断类型码的准备工作,收到第二个INTA脉冲时将中断类型码发送到数据总线AD7AD0 上。在第二个中断响应周期的T4态前沿,8086/8088从数据总线AD7AD0接收中断类型码。对接到INTR引脚上的多个中断源的优先级管理,8086并不负责,一般是由中断控制器8259A来管理。,8086最大模式下的中断响应周期时序图,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号