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

第6篇 中断控制器.ppt

  1. 1、本文档共103页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章中断控制器 6.1 概述 6.2 8086中断系统 6.3 可编程中断控制器8259A 中断的定义 CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。 中断源 引起CPU中断的事件——中断源。例如: 外设——请求输入输出数据,报告故障等 事件——掉电、硬件故障、软件错误、非法操作、定时时间到等 中断源分为:外部中断、内部中断 内部中断:CPU内部执行程序时自身产生的中断 外部中断:CPU以外的设备、部件产生的中断 8086/8088的外部中断信号:INTR、NMI INTR——可屏蔽中断请求,高电平有效,受IF标志的控制。IF=1时,执行完当前指令后CPU对它作出响应。 NMI——非屏蔽中断请求,上升沿有效,任何时候CPU都要响应此中断请求信号。 为何计算机中要引入中断? 提高数据传输率; 避免了CPU不断检测外设状态的过程,提高了CPU的利用率。 实现对特殊事件的实时响应。如多任务系统操作系统中: 缺页中断 设备中断 各类异常 实时时钟 等 中断过程 五个步骤: 中断请求 中断判优(有时还要进行中断源识别) 中断响应 中断服务 中断返回 以下以外部中断为主介绍这五个步骤。 1)中断请求 外设接口(中断源)发出中断请求信号,送到CPU的INTR或NMI引脚; 中断请求信号:边沿请求,电平请求 例如,NMI为边沿请求,INTR为电平请求 中断请求信号应保持到中断被处理为止; CPU响应中断后,中断请求信号应及时撤销。 在8086/8088系统中,外设的中断要经过8259A可编程中断控制器(PIC)的排队判优后向CPU发出: (I/O接口) → PIC → CPU 2)中断源识别 计算机中的中断源有很多,CPU必须识别是哪一个设备产生中断。识别中断源有两个方法: 软件查询。将中断信号从数据总线读入用程序进行判别,如教材图6.18和图6.19。 中断矢量法。由中断源提供中断类型号,CPU根据类型确定中断源。(8086/8088即采用此种方法) 3)中断判优 多个中断源产生中断,CPU首先为谁服务? ——中断优先级排队问题。 中断优先级控制要处理两种情况: 对同时产生的中断:应首先处理优先级别较高的中断;若优先级别相同,则按先来先服务的原则处理; 对非同时产生的中断:低优先级别的中断处理程序允许被高优先级别的中断源所中断——即允许中断嵌套。 中断优先级的控制方法 硬件判优——链式判优、并行判优(中断向量法) 软件判优——顺序查询中断请求,先查询的先服务(即先查询的优先级别高) 通常将中断判优与中断源识别合并在一起进行处理。 x86系统中,这项任务由PIC和CPU共同完成。 3)中断响应 在每条指令的最后一个时钟周期,CPU检测INTR或NMI信号。若以下条件成立,则CPU响应中断: 当前指令执行完。对INTR,还应满足以下条件 当前指令是STI和IRET,则下条指令也要执行完。 当前指令带有LOCK、REP等指令前缀时,则把它们看成一个整体,要求完整地执行完; 对INTR,CPU应处于开中断状态,即IF=1; 当前没有复位(RESET)和保持(HOLD)信号。 若NMI和 INTR 同时发生,则首先响应NMI。 3)中断响应(续) CPU中断响应时,要做下述三项工作: 向中断源发出INTA#中断响应信号; 断点保护,包括CS、IP和PSW(FLAGS)。这主要是保证中断结束后能返回被中断的程序。 获得中断服务程序首地址(入口)。 如何得到中断处理程序的首地址? 固定入口法 中断向量法 4)中断处理(中断服务) 中断服务子程序特点 为”远”过程(类型为FAR) 要用IRET指令返回 中断服务子程序要做的工作 保护现场(PUSH reg’s) 开中断(STI) 进行中断处理 恢复现场(POP reg’s) 中断返回(IRET) 5)中断返回 执行中断返回指令IRET IRET指令将使CPU把堆栈内保存的断点信息弹出到IP、CS和FLAG中,保证被中断的程序从断点处能够继续往下执行。 6. 2 8086的中断系统 与中断有关的控制线为:NMI、INTR、INTA# 8086系统的中断源 内部中断 除法溢出:类型号0,商大于目的操作数所能表达的范围时产生。 单步中断:类型号1,TF=1时产生(当前指令需执行完) 断点中断:类型号3,这是一个软件中断,即INT 3指令。 溢出中断:类型号4,这是一个软件中断,即INTO指令。 软件中断:即INT n指令,类型号n(0-255)。 外部中断 非屏蔽中断

文档评论(0)

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

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

1亿VIP精品文档

相关文档