【2017年整理】7中断技术.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【2017年整理】7中断技术

第7章 中断技术; 中断技术是现代计算机系统中十分重要的功能。最初,中断技术引入计算机系统,只是为了解决快速的CPU与慢速的外部设备之间传送数据的矛盾。随着计算机技术的发展,中断技术不断被赋予新的功能,如计算机故障检测与自动处理、实时信息处理、多道程序分时操作和人机交互等。中断技术在微机系统中的应用,不仅可以实现CPU与外部设备并行工作,而且可以及时处理系统内部和外部的随机事件,使系统能够更加有效地发挥效能。; 所谓中断,是指CPU在正常运行程序时,遇到外部/内部的紧急事件需要处理,引起CPU中断正在运行的程序,而转去处理临时发生的事件,处理完毕,再返回去执行被暂时中断的程序。由于CPU正在执行的程序被暂停执行,所以称为中断。 一般将被中断的程序称为主程序,而将中断处理程序称为中断子程序(或中断服务子程序)。 ; 能够引起计算机中断的事件,称为中断源。主程序被中止的地方,称为断点,也就是下一条指令所在内存的地址。 实现中断功能的控制逻辑(硬件)、有关中断的安排或规定以及相应的软件,称为中断系统。 不同的微机的中断系统不尽相同,但都应具备以下基本功能: (1)实现中断响应和中断返回。 当CPU收到中断请求后,能根据具体情况决定是否响应中断,如果CPU没有更急、更重要的工作,则在执行完当前指令后响应这一中断请求。 ;; 在微机系统中,无论是外部中断还是内部中断,中断处理过程都要经历以下步骤: (1)请求中断。 当某一中断源需要CPU为其进行中断服务时,就输出中断请求信号,使中断控制系统的中断请求触发器置位,向CPU请求中断。系统要求中断请求信号一直保持到CPU对其进行中断响应为止。 (2)中断响应。 CPU对系统内部中断源提出的中断请求必须响应,而且自动取得中断服务子程序的入口地址,执行中断服务子程序。对于外部中断,CPU在执行当前指令的最后一个时钟周期去查询INTR引脚,若查询到中断请求信号有效,同时在系统开中断(即IF=1)的情况下,CPU向发出中断请求的外设回送一个低电平有效的中断应答信号,作为对中断请求INTR的应答,系统自动进入中断响应周期。 ; (3)关闭中断。 CPU响应中断后,输出中断响应信号,自动将状态标志寄存器FR或EFR的内容压入堆栈保护起来,然后将FR或EFR中的中断标志位IF与陷阱标志位TF清零,从而自动关闭外部硬件中断。因为CPU刚进入中断时要保护现场,主要涉及堆栈操作,此时不能再响应中断,否则将造成系统混乱。 (4)保护断点 。 保护断点就是将CS和IP/EIP的当前内容压入堆栈保存,以便中断处理完毕后能返回被中断的原程序继续执行,这一过程也是由CPU自动完成。 (5)中断源识别。 当系统中有多个中断源时,一旦有中断请求,CPU必须确定是哪一个中断源提出的中断请求,并由中断控制器给出中断服务子程序的入口地址,装入CS与IP/EIP两个寄存器。CPU转入相应的中断服务子程序开始执行。; (6)保护现场。 主程序和中断服务子程序都要使用CPU内部寄存器等资源,为使中断处理程序不破坏主程序中寄存器的内容,应先将断点处各寄存器的内容压入堆栈保护起来,再进入的中断处理。现场保护是由用户使用PUSH指令来实现的。 (7)中断服务。 中断服务是执行中断的主体部分,不同的中断请求,有各自不同的中断服务内容,需要根据中断源所要完成的功能,事先编写相应的中断服务子程序存入内存,等待中断请求响应后调用执行。 ; (8)恢复现场。 当中断处理完毕后,用户通过POP指令将保存在堆栈中的各个寄存器的内容弹出,即恢复主程序断点处寄存器的原值。 (9)中断返回。 在中断服务子程序的最后要安排一条中断返回指令IRET,执行该指令,系统自动将堆栈内保存的IP/EIP和CS值弹出,从而恢复主程序断点处的地址值,同时还自动恢复标志寄存器FR或EFR的内容,使CPU转到被中断的程序中继续执行。;中断的响应过程如图7-1所示。; 在实际系统中,常常遇到多个中断源同时请求中断的情况,这时CPU就要识别出是哪些中断源有中断请求,辨别和比较它们的优先权(priority),先响应优先权级别最高的中断申请。 另外,当CPU正在处理中断时,也要能响应更高级的中断申请,而屏蔽掉同级或较低级的中断申请。解决优先级的问题一般可有三种方法:软件查询法、简单硬件方法及专用硬件方法。 (1)软件查询法。 只需有简单的硬件电路,如将A、B、C三台设备的中断请求信号“或”后作为系统INTR,这时,A、B、C三台设备中只要至少有一台设备提出中断请求,都

文档评论(0)

liangyuehong + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档