- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 中断控制技术 教学目的及要求 中断的概念及中断的用途 中断过程 中断类型及中断向量 §6.1 中断概述 一、中断的基本概念 1.中断 在CPU执行程序的过程中,出现了某种紧急或异常的事件(中断请求),CPU需暂停正在执行的程序,转去处理该事件(执行中断服务程序),并在处理完毕后返回断点处继续执行被暂停的程序,这一过程称为中断。中断过程如图所示。为实现中断功能而设置的硬件电路和与之相应的软件,称为中断系统. 中断过程 中断具有以下优点: 1) 分时操作 中断技术实现了CPU和外部的并行工作,从而消除CPU的等待时间,提高了CPU的利用率。另外,CPU可同时管理多个外部设备的工作,提高了输入/输出数据的吞吐量。 2) 实时处理 在实时控制系统中,现场定时或随机地产生各种参数、信息,要求CPU立即响应。利用中断机制,计算机就能实时地进行处理,特别是对紧急事件的处理。 3)故障处理 计算机运行过程中,如果出现某些故障,如电源掉电、运算溢出等,计算机可以利用中断系统自行处理。 2.中断源 所谓中断源,就是引起中断的原因或者发出中断请求的设备。中断源一般分为两类:内部中断源和外部中断源。 内部中断源即中断源在微处理器内部。如计算溢出、中断指令的执行、程序调试中指令的单步运行等都是内部中断源。 外部中断源即引起中断的原因是处理机的外部设备。如外设的I/O请求、定时时间到、设备故障、电源掉电等都是外部中断源。 1.中断请求 中断请求是中断源向CPU发出的请求中断的要求。 软件中断源是在CPU内部由中断指令或程序出错直接引发中断;硬件中断源必须通过专门的电路将中断请求信号传送给CPU。 二、中断处理过程 中断方式的实现一般需要经历下述过程: 中断请求—→中断响应—→保护断点—→中断处理—→断点恢复—→中断返回 CPU在执行完每条指令后,都要检测中断请求输入引脚,看是否有外设的中断请求信号。 NMI引脚上的中断请求称为不可屏蔽中断请求(或非屏蔽中断请求) INTR引脚上的中断请求称为可屏蔽中断请求,IF=1为允许中断。 2.中断响应 若CPU接收到了中断请求信号,且中断允许触发器的状态为1,则CPU在现行指令执行完后,发出INTA信号响应中断。一旦进入中断处理,立即清除中断请求信号。这样可以避免一个中断请求被CPU多次响应。 3.保护断点 CPU一旦响应中断,需要对其正在执行程序的断点信息进行保护,以便在中断处理结束后仍能回到该断点处继续执行。对于8086/8088 CPU,保护断点的过程由硬件自动完成,主要工作是关中断、将标志寄存器内容入栈保存以及将CS和IP内容入栈保存。 4.中断处理 中断处理的过程实际就是CPU执行中断服务程序的过程。如在中断服务程序中用到了寄存器,还需要在中断服务程序的开头对这些寄存器内容进行保护(即保护现场),在中断服务程序的末尾恢复这些寄存器的内容(即恢复现场)。 5.中断返回 执行完中断服务程序,返回到原先被中断的程序,称为中断返回。在中断服务程序的最后应专门放置一条中断返回指令(如8086的IRET指令)。中断返回指令的作用实际上是恢复断点。 1、基本概念 中断请求是随机发生的,当系统具有多个中断源时,有时会同时出现多个中断请求,CPU只能按一定的次序予以响应和处理,这个响应的次序称为中断优先级。 三、中断优先级 2、对于不同级别的中断请求,一般的处理原则是: ①多个中断源同时请求,按优先级由高到低依次处理 ②中断处理时,出现高优先级请求,应转去处理高级请求,服务结束后再返回原中断服务程序继续 ③高优先中断正处理,不响应低级请求 ④同级别请求,应在当前中断处理结束以后再处理 假设系统中有中断源A和B,当CPU正在为中断源A服务期间,中断源B向CPU提出中断请求,若CPU暂停执行中断源A的服务子程序,而相应中断源B的请求,转去执行中断源B的服务子程序,待中断源B的服务子程序执行完后,再回到中断源A的服务子程序继续执行,责成中断源A比B的中断优先级低; 若中断源A的服务不会被B的中断请求打断,反过来,B的中断服务也不会被A的中断请求打断,则称中断源A和B是同优先级的中断。 目前采用的解决中断优先级控制的方案有: ① 软件查询。 ②硬件链式优先级排队电路。 ③硬件优先级编码比较电路。 ④利用可编程中断控制器。 3、中断优先级的确定 (1) 软件查询法 当CPU响应中断后,利用软件查询有哪些外设申请中断,判
文档评论(0)