网站大量收购独家精品文档,联系QQ:2885784924

6 中断技术09.ppt

  1. 1、本文档共69页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6 中断技术09

本章主要内容: 6.1 中断的基本原理 6.2 8088的中断方式 6.3 8259A中断控制器 6.4 微机的中断结构 6.5 中断接口技术 为什么要用中断? 早期的计算机没有中断功能,CPU和外设之间的信息交换采用的是查询方式,CPU的大部分时间都浪费在反复查询上,这妨碍了计算机高速性能的充分发挥,产生了快速的CPU与慢速的外设之间的矛盾,这也是计算机在发展过程中遇到的严重问题之一。为解决这个问题,一方面要提高外设的工作速度,另一方面引入了中断传送方式。 随着计算机的发展,中断被赋予新的功能。例如,计算机的故障监测与自动处理,人机联系,多机系统,多道程序分时操作和实时信息处理等,这些功能均要求CPU具有中断功能,能够立即相应加以处理。 中断的基本原理 中断:指计算机在正常执行的过程中,由于内部或外部的种种原因,使CPU暂停当前程序的执行,而转去处理临时发生的事件,处理完毕后,再返回继续执行暂停的程序。 中断控制方式的优点: 1)CPU与外设并行工作 2)可实现实时处理 中断系统的功能 中断系统:为了实现中断功能而设置的各种硬件和软件,统称为中断系统。? 中断系统应具有以下功能: (1) 实现中断和返回。 (2) 能实现优先权排队。 (3) 高级中断源能中断低级中断源的中断请求(中断嵌套),并且可以暂时屏蔽同级或低级中断源的中断申请。 中断过程 中断请求 中断源:引起中断的原因或发出中断申请的来源。 通常的中断源有以下几种: (1) 一般的输入输出设备,如键盘、打印机等。 (2) 数据通道中断源,如磁盘驱动器等。 (3) 定时时钟。 (4) 故障源。例如电压掉电,就要求把正在执行的程序的状态—IP、CS、各个寄存器的内容和标志位的状态保留下来,以便重新供电后能从断点处继续运行。 (5) 为调试程序而设置的中断源或程序执行过程引起中断,即软件中断。 其中(1)~(4)为外部中断(硬件中断), (5)为内部中断(软件中断)。 中断响应 中断响应过程 在中断响应期间CPU自动做以下几件事: (1)发出中断响应信号INTA,并自动关中断。 (2)入栈保护断点,保护状态标志寄存器F。 (3)根据中断类型 转入相应的中断服务程序进行中断处理。 中断处理 中断服务程序一般包括以下六部分: 1)保护现场 80x86是由软件即在在中断服务程序中把要用到的寄存器的内容入栈保护,而标志寄存器是在保护断点的同时由硬件入栈保护的。 2)若允许中断嵌套则需开中断 CPU在响应中断时已自动关中断,不允许其它的中断打断中断响应过程中的保护现场工作。如果在中断处理期间允许比它优先级更高的中断来打断,则需要用STI指令打开中断。 3)中断服务 这时中断服务程序的核心,即完成外设要求CPU完成的工作。 4)若进行过开中断则需关中断 此处关中断的目的时让恢复现场的工作顺利进行,而不被中断。 中断处理 5)恢复现场 把所保存的各个内部寄存器的内容从堆栈弹出,送回CPU原来的位置,这个操作是用POP指令来完成的。80x86的标志位的状态由硬件恢复。 6)中断返回 位于中断服务程序最后的IRET指令完成断点地址和状态寄存器的恢复。将堆栈内保存的IP和CS值弹出,运行就恢复到被中断程序。 8088的中断类型 80X86有两类中断: 内部(软件)中断: 由指令的执行所引起的中断。 外部(硬件)中断: 由外部(主要是外设)的请求引起的中断。 硬件中断有两种: NMI(non maskable interrupt):非屏蔽中断 INTR:可屏蔽中断 8088的中断管理 8088CPU对软件中断和硬件中断进行统一管理,共256级,类型号0~255(00~0FFH)。 256 级中断服务程序的入口地址(段地址和偏移地址,又称中断矢量)按顺序构成中断矢量表。 中断矢量表存放在内存的最低的1K字节RAM中。 8088的中断管理 中断矢量表 l?位于系统RAM最底端的1024个单元内,即(00000H~003FFH)单元。 l?每个中断矢量占用4个字节,其中低位放偏移地址,高位放段地址。 l?中断矢量表可分为三部分:系统专用中断,系统备用中断和可供用户使用的中断。 中断向量表 内部中断 80X86的内部中断主要有以下三种: l? 除法错误中断(类型0中断) 若发现除数为0或商超过了机器所能表达的范围,即产生此中断。 l? 软件中断 INT n(类型n中断) INTO(类型4中断,溢出中断) 若上一条指令执行的结果,使溢出标

文档评论(0)

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

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

1亿VIP精品文档

相关文档