现代微机原理及接口技术 978-7-302-18204-7 第07章新.ppt

现代微机原理及接口技术 978-7-302-18204-7 第07章新.ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 中断系统和中断控制器 教学目标 理解8088/8086中断源类型、中断向量表、中断优先级、中断嵌套和中断处理过程; 了解8259A的基本功能,理解其内部结构和引脚特性,掌握其工作方式,掌握8259A的级联,熟练掌握其初始化命令字编程和操作命令字编程。 教学重点 中断向量表 中断处理过程 8259A的级联 8259A的工作方式 8259A初始化命令字编程和操作命令字编程 教学过程 7.1 8088/8086中断系统 7.2 中断控制器8259A 7.3 8259A的应用举例 7.1 8088/8086中断系统 所谓“中断”是指CPU在正常执行程序的过程中,由于内部/外部事件或由程序的预先安排,引起CPU暂时中断当前程序的运行而转去执行为内部/外部事件或预先安排的事件服务的子程序,待中断服务子程序执行完毕后,CPU再返回到暂停处(断点)继续执行原来的程序,这一过程称为中断,中断具有随机性。 7.1 8088/8086中断系统 中断优点 并行操作 实时处理 故障处理 分时操作 7.1 8088/8086中断系统 7.1.1 中断源类型 7.1.2 中断向量表 7.1.3 中断优先级和中断嵌套 7.1.4 中断处理过程 7.1.5 中断服务程序的设计 7.1.1 中断源类型 7.1.1 中断源类型 为了解决多个中断同时申请时响应的先后顺序问题,系统将所有的中断划分为4级,其中0级优先级最高,依次降低,不同级别的中断同时申请时,CPU根据级别高低依次决定相应顺序。各级情况如下: 0级:除单步中断外的所有内部中断 1级:不可屏蔽中断 2级:可屏蔽中断 3级:单步中断 7.1.2 中断向量表 8086可以处理256种中断向量,每种中断都指定一个中断类型号代码(0~255),每一个中断类型号都可以与一个中断服务程序相对应。中断向量表是存放中断服务程序入口地址(即“中断向量”)的表格。它存放在存储器的最低地址区,每4个字节存放一个中断服务程序的入口地址,由于要存放256个中断服务程序的人口地址,所以要占用1024个字节,地址号为00000H~0003FFH。较高地址的两个字节存放中断程序入口的段基值CS,较低地址的两个字节放入口地址的段内偏移量IP,这4个单元的最低地址称为向量地址。 7.1.2 中断向量表 CPU获得中断类型号n之后,通过乘4即可取得中断向量表中对应的入口地址,然后把向量表n*4地址开始的两个低字节单元的内容装入IP寄存器,即: IP ←(n*4:n*4+1) 再把两个高字节单元内容装入代码寄存器CS,即: CS ←(n*4+2:n*4+3) 8086在响应中断以后,先将标志寄存器压入堆钱,然后将执行一个与段间间接调用CALL指令相当的过程来启动一个中断过程,该过程中,CPU将CS和IP压入堆栈,以保存断点的地址,然后将中断向量表中相应的4个字节内容放人IP和CS,使控制转向该中断服务子程序。如果n个中断请求同时到达,则CPU将按优先级顺序来调用中断过程。 【课堂示例(一)】 【例7-1】键盘中断的向量号为09H,它对应的中断服务程序的入口逻辑地址为0BA9H:0125H。键盘中断对应的向量位于0000:0024H开始的4个单元。这4个单元的内容如下: 7.1.3 中断优先级和中断嵌套 中断优先级 根据中断源要求的轻重缓急,排好中断处理的优先次序,即优先级(Priority),先响应优先级最高的中断请求。 解决中断的优先级的方法有以下几种: 软件查询确定中断优先级 硬件优先级排队电路确定优先级 链式优先级排队电路 中断优先级编码电路 7.1.3 中断优先级和中断嵌套 中断嵌套 当CPU执行优先级较低的中断服务程序时,允许响应比它优先级高的中断源请求中段,而挂起正在处理的中断,这就是中断嵌套或称多重中断,此时,CPU将暂时中断正在进行着的级别较低的中断服务程序,优先为级别高的中断服务,待优先级高的中断服务结束后,再返回到刚才被中断的较低优先级的那一级,继续为它进行中断服务。 多个中断源、单一中断请求线的中断处理过程 7.1.4 中断处理过程 8086在取得了中断类型码后的处理过程都是一样的,其处理过程为: 将中断类型码*4,作为中断向量表的指针。 把CPU的标志寄存器入栈,保护各个标志位,此操作类似于PUSHF指令。 复制追踪标志TF的状态,清除IF和TF标志,屏蔽新的INTR中断和单步中断。 保存主程序的断点,即把主程序断点处的IP和CS值压入堆栈保护,先压入CS值,再压入IP值。 从中断向量表中取中断服务程序的入口地址,分别送至CS和IP中,先取CS值,再取IP值。 按新地址执行中断服务程序。 7.1.5 中断服务程序的设计 微机的中断服务程序结构形式有如下顺

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档