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

第6章接口技术06-中断.ppt

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

第6章 微型计算机的中断系统 教学重点 了解中断的基本概念 掌握8086 CPU的中断系统 了解8259A的中断工作过程和工作方式 6.1中断的基本概念 中断: 在CPU执行程序的过程中出现了某种紧急或异常的事件(中断请求),CPU需暂停正在执行的程序,转去处理该事件(执行中断服务程序),并在处理完毕后返回断点处继续执行被暂停的程序,这一过程称为中断。 中断源 引发中断的事件都称为中断源。通常,中断源有以下几种: 外部设备的要求,例如I/O接口电路的请求、实时时钟中断等 由硬件故障引起的,例如电源掉电、硬件损坏等 由软件引起的,例如程序错、运算错、设置断点程序调试或中断指令(INT 21H)等 中断处理过程 中断请求 中断判优 中断响应 中断处理 中断返回 中断请求 中断请求是中断源向CPU发出的请求中断的要求。 中断请求是中断过程的第一步。 当中断源发出中断请求信号被中断系统接收后,就进入中断判优过程。 中断判优 中断请求是随机发生的,当系统具有多个中断源时,有时会同时出现多个中断请求,CPU只能按一定的次序予以响应和处理,这个响应的次序称为中断优先级。 对于不同级别的中断请求,一般的处理原则是: (1) 不同优先级的多个中断源同时发出中断请求,按优先级由高到低依次处理。 (2) 低优先级中断正在处理,出现高优先级请求,应转去处理高优先级请求,服务结束后再返回原优先级较低的中断服务程序继续执行。 (3) 高优先级中断正在处理出现低优先级请求,可暂不响应。 (4) 中断处理时,出现同级别请求,应在当前中断处理结束以后再处理新的请求。 中断响应 CPU在每条指令执行的最后一个时钟周期检测其中断请求输入端,判断有无中断请求。 中断响应的条件为: 有中断请求信号且应保持到它被响应为止。 CPU处在开中断状态,即CPU内部的中断允许触发器的状态为1,对8086CPU,应设置IF=1。(指令为STI) 此时无更高级中断请求。(否则先处理高级中断) CPU至少要在现行指令执行完时才有可能响应中断。 CPU响应中断后,系统将自动完成以下几件事: 关中断 一旦进入中断处理,立即清除中断请求信号。这样可以避免一个中断请求被CPU多次响应。 保存断点 CPU一旦响应中断,将自动保护断点和标志寄存器FR的内容,以确保中断处理结束后能正确返回到源程序。 形成中断入口地址 CPU响应中断后,根据判优逻辑提供的中断源的识别,以某种方式获得中断服务程序的入口地址,转到该中断程序去处理。 中断处理 中断处理通常由中断服务程序完成。 用户编写的用于CPU为中断源进行中断处理的程序称为中断服务程序。 中断服务程序中必须作以下几项工作: 保护现场 所谓现场,指中断前一刻CPU各寄存器的内容。凡不希望被破坏的寄存器数据,均应依次压栈保护。 执行中断服务程序 这是整个中断过程中唯一的实质性环节,也是中断的目的所在。 恢复现场 中断服务结束后,用出栈指令把保护现场时的有关寄存器内容恢复,并保证堆栈指针恢复到进入中断处理时的指向。 中断返回 执行完中断服务程序,返回到原先被中断的程序,此过程称为中断返回。 为了能正确返回到原来程序的断点处,在中断服务程序的最后应专门放置一条中断返回指令IRET。 中断返回指令的作用实际上是恢复断点,也就是保护断点的逆过程。 IRET 和RET的区别 中断返回指令IRET和一般子程序返回指令RET的区别是: IRET除恢复断点地址外(CS,IP),还恢复标志寄存器FR的内容。而RET仅恢复断点地址。 6.2 8086中断结构 8086的中断系统采用向量中断机制 能够处理256个中断 用中断向量号0~255区别 可屏蔽中断还需要借助专用中断控制器Intel 8259A实现优先权管理 6.2.1 8086的中断类型 内部中断(软件) 除法错中断 指令中断 溢出中断 单步中断 外部中断(硬件) 非屏蔽中断 可屏蔽中断 1. 内部中断 内部中断是由于8086内部执行程序出现异常引起的程序中断 利用内部中断,微处理器为用户提供了发现、调试并解决程序执行时异常情况的有效途径 例如,ROM-BIOS和DOS系统利用内部中断为程序员提供了各种功能调用 2. 外部中断 外部中断是由于8086外部提出中断请求引起的程序中断 利用外部中断,微机系统可以实时响应外部设备的数据传送请求,能够及时处理外部意外或紧急事件 ⑴ 非屏蔽中断 通过非屏蔽中断请求信号向微处理器提出的中断请求,微处理器无法禁止,将在当前指令执行结束予以响应,这个中断被称为非屏蔽中断 8086的非屏蔽中断的向量号为2,非屏蔽中断请求信号为NMI 非屏蔽中断主要用于处理系统的意外或故障。例如: 电源调电前的数据保护 存储器读写错误的处理 ⑵ 可

文档评论(0)

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

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

1亿VIP精品文档

相关文档