1. 1、本文档共122页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 中断系统 1、中断的基本概念 2、8086/8088CPU的中断系统 3、可编程中断控制器8259A原理及应用 4、中断处理例程的设计 中断的基本概念 1、基本概念 2、中断处理过程 3、中断识别和中断优先级 中断与中断源 中断:是一个“过程”,由微机内外部的硬件或软中断指令引起,CPU终止现行程序,转去执行相应的中断服务程序。与调用子程序相似,但有本质的不同。 中断源:引起中断请求的源。有: ①I/O设备、定时时钟等CPU外部的。 ②CPU硬件故障、指令执行异常(掉电、除0、结果溢出、指令非法)等。 ③执行了INT指令(无随机性)。 中断系统 为实现中断而设置的各种硬件和软件系统称为中断系统。中断系统应具备的功能: 1、能实现中断响应、中断服务和中断返回。 2、能实现中断优先级排队。 3、能实现中断嵌套。 中断处理过程 中断处理过程可分4个阶段: ⑴中断请求,发请求须满足: ①外设应通过接口电路在CPU的中断请求输入引脚输入一个符合规定的信号(电平的或边缘触发的) ②外设处于就绪工作状态。 ③该中断源未被屏蔽。 中断响应 ⑵中断响应。CPU的中断响应包括: ①关中断,使中断响应周期不被其他中断终止。 ②保护断点(当前程序的断点地址CS和IP进栈)和标志寄存器内容进栈。 ③取得中断服务程序的入口地址并执行。 CPU响应外部中断的条件(以8086/8088 CPU为例)是: ①当前指令周期无总线请求 ②中断允许标志位IF=1 ③当前指令执行完。 中断服务 ⑶中断服务。 中断服务程序要做的工作有: ①保护现场。将中断服务程序可能用到的寄存器进栈保护。 ②开中断 ③查找中断源,转入相应的中断服务。 中断服务完成后: ④关中断,使下一步的恢复现场工作不受干扰。 ⑤恢复现场 ⑥开中断,允许其他中断请求可以被CPU响应。 中断返回 ⑷中断返回。 中断服务程序最后一条指令,必须是中断返回指令。CPU执行后,自动把现存堆栈中的标志寄存器内容和断点地址内容恢复,接着执行的将是中断前被打断的原程序。 中断识别和中断优先级 中断优先权是事先根据中断源的重要性给每个中断源确定一个中断优先级别-优先权。 中断优先权管理就是判别和确定各个中断源的中断优先权。 中断优先权判别方法有查询中断方式和矢量中断方式两种。 查询中断方式 硬件接口电路将所有中断请求触发器组合成一个端口(中断寄存器),再把所有中断请求相或后作为INTR信息发送给CPU。当CPU响应中断时,不管中断是由哪个中断源引起的中断,总是转向一个固定的程序入口,该程序读取中断寄存器的状态,再通过逐位查询来确定申请中断的中断源,最后转到相应的服务程序去处理。查询的次序体现了事先规定好的优先级,最先查询的优先级最高。 查询中断方式 优点:硬件接口电路简单,改变程序中的查询次序就可以改变外设的中断优先级而不必变更硬件连接。 缺点:速度慢,实时性差。查询要占用CPU时间,降低了CPU的使用效率。 查询中断方式 矢量中断方式 CPU响应中断后,要求中断源提供一个地址信息,该地址信息称为中断向量(或称为中断矢量)。当CPU识别出某个外设请求中断并予以响应时,控制逻辑将该I/O设备的中断服务程序的入口地址送CPU,转入中断服务程序。 根据入口地址形成的机制不同,向量中断又分为:简单硬件查询方式(菊花链法)和中断控制专用硬件方式。 菊花链法 当中断输入n发中断信号时,如没有服务中断,同时,中断是开放的,则CPU响应中断请求n。每个中断输入可屏蔽其下一级的中断请求信号的输出,并可将屏蔽信号传递到下面的各级。当有某级中断在服务时,比它级别高的中断输入请求中断时,高级别中断将被CPU响应,同时屏蔽其以下的各级中断。从而达到了中断优先排队的目的。 中断控制专用硬件方式 从外设的I/O接口送来的中断请求信号(IR0~IR7)可并行的送到中断请求寄存器的输入引脚(IR0~IR7)上。中断优先级管理电路从请求信号中识别出当前优先级最高的中断请求(设IR0最高,IR7最低),并把请求寄存器的低3位转换成3位代码送到中断类型寄存器的低3位所对应的中断请求序号,同时中断类型寄存器将此代码送入中断服务寄存器使其相应位置“1”,随后,向CPU发出中断请求信号。如果CPU内的中断允许标志IF为1,CPU即发出中断响应信号,进入中断响应周期。中断处理结束,中断服务寄存器对应位清0,中断级别较低的中断请求才能得到响应。 中断的多级嵌套 指低级中断服务可以被高级中断服务打断的中断管理。 写有嵌套功能的中断服务程序时要注意: ①有屏蔽本级和低级中断请求的环节。防止低级中断的干扰。 ②执行中断服务程序前,要开放中断,才可以响应高级中断请求。 ③执行中断服务程序后,要关中断,然后才恢复现场

文档评论(0)

liudao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档