电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

微机原理课件第七章微型计算机中断系统

78页
  • 卖家[上传人]:san****019
  • 文档编号:68311286
  • 上传时间:2019-01-10
  • 文档格式:PPT
  • 文档大小:744.45KB
  • / 78 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第七章 微型计算机中断系统,7-1 概述,一、中断概念 当CPU正常运行程序时,由于微处理器内部事件或外设 请求,引起CPU中断正在运行的程序,转去执行请求中断的外 设(或内部事件)的中断服务子程序,中断服务程序执行完毕 后,再返回被中止的程序,这一过程称为中断。 1. 中断源 引起程序中断的事件称为中断源。中断源有外部中断和 内部中断,内部中断由程序预先安排的中断指令(INT n)引 起,或由于CPU运算中产生的某些错误(如除法出错、运算溢 出)引起。外部中断是外部设备或协处理器向CPU发出中断申 请引起的。 2. 中断响应,中断请求何时发生是随机的。CPU在每条指令的最后一 个T周期去检测INTR引脚,CPU一旦检测到有中断请求,在满 足中断响应的条件下(IF=1),CPU响应中断,会向外设发出 中断响应信号。并保护断点(当前CS、IP和PSW值 入栈 ),然后转向中断服务程序。中断服务程序执行完毕,CPU返 回原执行程序的中断处,继续向下执行,称为中断返回。 3. 中断向量表 CPU响应中断后,必须由中断源提供地址信息,引导程 序进入中断服务子程序,这些中断服务子程序的入口地址存

      2、放 在中断向量表中。内存中专门开辟了一个区域,存放中断向量 表(也称中断矢量表)。 4. 中断优先级 当有多个中断源请求中断时,中断系统判别中断申请的 优先级,CPU响应优先级高的中断,挂起优先级低的中断。当 CPU在运行中中断服务子程序时,又有新的更高优先级的中断 申请进入,CPU要挂起原中断进入更高级的中断服务子程序,,实现中断嵌套功能。 5. 中断屏蔽 当中断源申请中断时,CPU可以由软件设置,使之不能 响应,称为中断屏蔽。 本章讨论与8086/8088 CPU相配合的中断系统及中断接 口芯片8259A。 二、中断分类 8086/8088有一个强有力的中断系统,可以处理256种不 同的中断。 8086/8088系统上的中断源如图7-1所示。以产生中 断的方法来分类,256种中断可以分为两大类:外部中断和内 部中断。,图7-1 8086/8088中断源,外部中断也称为硬件中断,是由外部的硬件产生的,硬 件中断又分成不可屏蔽中断和可屏蔽中断。下面分别加以说明。,1. 外部中断 8086/8088 CPU有两个外部中断请求线:不可屏蔽中断 请求线NMI和可屏蔽中断请求线INTR。 (1

      3、) 由NMI引脚引入的不可屏蔽中断请求,采用边沿触发, 上升沿之后维持两个时钟周期高电平有效。对于不可屏蔽中断 用户是不能用软件来屏蔽的,一旦有不可屏蔽中断请求,CPU 必须予以响应。不可屏蔽中断请求的中断类型号为2,即中断 处理程序的入口地址在0段的0008H000BH的4个单元中。 (2) 由INTR引脚引入的外设提出的可屏蔽中断请求,采用 电平触发,高电平有效,INTR信号的高电平必须维持到CPU 响应中断才结束。可屏蔽中断是用户可以通过软件设置来屏蔽 的外部中断,即使外部设备有中断请求,CPU可以不予响应。 由外设引起的可屏蔽中断请求要得到响应应有两个条件:外 设中断请求是否被屏蔽;CPU是否允许响应中断。 在8086 CPU系统中,外设的中断请求信号接入可编程 中断控制器8259A的IRi端,而8259A的中断输出INT连到CPU,的INTR引脚上。8259A中设有中断屏蔽寄存器,它的8位对应 控制8个外设,通过设置这个寄存器的某位为0或1,可以允许 或禁止某个外设的中断请求。一块8259A可管理8个中断,当 外设超过8个时,可以使用多个8259A进行级联,扩大到64级 中断

      4、。外设与8259A的连接是由用户来设计的,硬件连线决定 了中断类型号和中断优先级次序。 CPU是否允许响应中断,与中断允许位IF有关。IF=1 CPU允许响应中断;IF=0,CPU禁止响应中断。 2. 内部中断 内部中断又称为软件中断。软件中断通常有三种情况引 起:由中断指令INT引起的中断;由CPU的某些运算错误 引起的中断;由调试程序debug设置的中断。 内部中断只要由上面三种情况引起了,是不可屏蔽的! (1)由中断指令INT引起的中断 CPU执行一条INT n指令后立即产生中断,并且调用系 统中相应的中断处理程序去完成中断功能,指令中的n指出了,中断类型号。 例7-1 测试存储器容量 INT 12H CPU执行这条指令时,立即产生一个中断。并从中断向 量表的0:12H4开始的单元中取出4个字节,其内容为中断服 务子程序的段地址和偏移地址,然后转去此入口去执行中断服 务子程序,完成对存储器的测试。 (2)由CPU的某些运算错误引起的中断 CPU在运行程序时,会发现一些运算中出现的错误,此 时CPU就会中断,让用户去处理这些错误。主要有: 除法错中断:除法错中断类型号为0,在除法运

      5、算中,若除数 为0或商超过了寄存器所能表达的范围,就产生一个类型号为0 的中断,转去类型号为0的中断处理。 溢出中断:溢出中断类型号为4,专用指令为INTO。若OF=1 执行中断指令INTO;若OF=0,不执行中断指令。通常INTO放 在加、减法运算指令的后面。,例7-2 测试加法的溢出 ADD AX,BX INTO (3)由调试程序debug设置的中断 在调试程序时,为了检查中间结果或寻找程序中的错误, 在程序中可设置断点或进行单步跟踪,调试程序debug有此功能 它也是由中断来实现的。 单步中断:单步是每次只执行一条指令,然后屏幕显示当前各 寄存器和有关存储单元的内容,以及下条要执行的指令。这样逐 条运行指令,来跟踪程序的流程,以检查出程序中的错误。 单步中断是在标志位TF=1时,每条指令执行后,CPU自动 产生中断类型号为1的中断。 断点中断:中断类型号为3。用debug调试程序时,可用G命令 设置断点。当CPU执行到断点时便产生中断,同时显示当前各寄 存器和有关存储单元的内容,以及下条要执行的指令,供用户检 查。设置断点实际上是把一条断点指令INT 3插入到断点设置处。,7-2

      6、 中断处理过程,可屏蔽中断处理的过程一般分成几步:中断请求;中断 响应;保护现场;转入中断服务子程序;恢复现场和中断返回。 其流程如图7-2所示。,图7-2 可屏蔽中断处理流程图,一、CPU响应中断过程 CPU响应中断要有三个条件: 外设提出中断申请 本中断位未被屏蔽 中断允许 当中断接口电路中的中断屏蔽触发器未被屏蔽时,外设 可通过中断接口发出中断申请。外设向CPU发出中断请求的时 间是随机的,而CPU在每条指令的最后一个机器周期的最后一 个T状态去采样中断请求输入线INTR,当CPU在INTR引脚上 接收到一个有效的中断请求信号,而CPU内部的中断允许触发 器是开放的,则在当前指令执行完后CPU响应中断。 CPU响应中断后,对外设接口发出两个中断响应信号 ,第一个 信号通知外设,CPU已响应申请的中断请 求,准备发送中断类型号;当外设收到第二个 以后,立即 往数据线上给CPU送中断类型号。CPU在响应外部中断,并转 入相应中断服务子程序的过程中,自动依次做以下工作:,(1)从数据总线上读取中断类型号,将其存入内部暂存器。 (2)将标志寄存器PSW的值入栈。 (3)将PSW中的中断允

      7、许标志IF和单步标志TF清0,以屏蔽外 部其它中断请求,和避免CPU以单步方式执行中断处理子程序。 (4)保护断点,将当前指令下面一条指令的段地址CS和指令 指针IP的值入栈,使中断处理完毕后,能正确返回到主程序继 续执行。 (5)根据中断类型号到中断向量表中找到中断向量,转入相应 中断服务子程序。 (6)中断处理程序结束后,从堆栈中依次弹出IP、CS和PSW, 然后返回主程序断点处,继续执行原来的程序。 对于不可屏蔽中断请求,不必判断IF是否为1,也不是由 外设接口给出中断类型号,从NMI引脚进入的中断请求规定其 中断类型号为2。在运行中断子程序过程中,若NMI引脚上有不 可屏蔽中断请求信号,CPU仍能响应。 软件中断由程序设定,没有随机性,它不受中断允许标志,位IF的影响,中断类型号由指令INT n中的n决定。正在执行软 件中断时,如果有不可屏蔽中断请求,就会在当前指令执行完 后立即予以响应。如果有可屏蔽中断请求,并且IF=1,也会在 当前指令执行完后予以响应。 二、中断向量表 寻找中断源可以用查询中断及矢量中断两种方法。 查询中断是采用软件查询方法,中断响应后启动中断查 询程序,

      8、依次查询哪个设备的中断请求触发器为1,检测到后, 转向此设备预先设置的中断服务程序入口地址。此方法较简单, 但花费时间多,并且后面的设备服务机会少,在8086系统中一 般采用矢量中断方法。 矢量中断是将每个设备的中断服务程序的入口地址(矢 量地址)集中,依次放在中断向量表中。当CPU响应中断后, 控制逻辑根据外设提供的中断类型号查找中断向量表,然后将 中断服务程序的入口地址送到CS段寄存器和指令指针IP,CPU 转入中断服务子程序。这样大大加快了中断处理的速度。,1. 中断向量表 中断向量表又称中断服务程序入口地址表。8086/8088 系统允许处理256种类型的中断,对应的中断类型号为0FFH 在存储器的00000H003FFH,占用1K字节空间,用作存放中 断向量。每个类型号占4个字节,高2个字节存放中断入口地址 的段地址,低2个字节存放段内偏移地址,如图7-4所示。,图7-4 8086/8088中断向量表,各个中断处理程序的段地址和偏移地址按中断类型号顺 序存放在中断向量表中。因此由中断类型号n4即可得到相应 中断向量的地址,取4n和4n+1单元中的内容(中断入口程序偏 移地址)

      9、装入指令指针IP,取4n+2和4n+3单元中的内容(中断 入口程序段地址)装入代码段寄存器CS,即可转入中断处理服 务子程序。 例7-3 某中断的中断类型号为68H,图7-5图示了中断操作过程: (1)取中断类型号68H; (2)计算中断向量地址68H4=1A0H; (3)取中断入口地址的偏移地址送入IP,IP=2050H,段地址; 送入CS,CS=A000H; (4)转向中断服务程序; (5)中断返回到INT 68H指令的下一条指令。,图7-5 中断操作过程例子,2. 中断向量(中断入口地址)的设置 IBM PC对256种中断类型已进行了地址分配,附录D中 给出了中断向量地址分配表。其中类型04为专用中断,中断 入口地址已由系统定义,用户不能修改;类型5类型31为系 统使用中断,也不允许用户修改;其余的中断类型号原则上可 以由用户定义,但实际上,有些中断类型目前已有用途,例 INT 21H为系统功能调用,中断类型20H3FH为DOS中断调 用。供用户使用的中断类型号,它可以由用户定义为软中断, 由INT n指令引用;也可以通过INTR端直接接入,或通过中断 控制器8259A引入可屏蔽硬件中断。使用时用户要自己将中断 服务程序入口地址置入相应的中断向量表中。有两种方法可为 中断类型号n设置中断向量,即将中断服务程序的入口地址置入 中断类型号n所对应的中断向量表中。一种方法用指令来设置, 另一种方法利用DOS功能调用来设置。,例7-5 用指令来设置中断服务程序的入口地址到中断类型号n 所对应的中断向量表中。 MOV AX,0 MOV ES,AX MOV BX,N*4 MOV AX,OFFSET INTRAD ;置入偏移地址 MOV ES:WORD PTRBX,AX MOV AX,SEG INTRAD ;置入段地址 MOV ES:WORD PTRBX+2,AX STI INTRAD: ;类型号n的中断服务子程序 IRET 实际上,在设置或检查任何中断向量时,总是避免直接 使用中断向量的绝对地址,而是利用DOS功能调用INT 21H设,置中断向量和取出中断向量。此外要注意,在设置自己的中断 向量时,应先保存原中断向量,在设置新的中断向量,在程序 结束前恢复原中断向量。 设置中断向量

      《微机原理课件第七章微型计算机中断系统》由会员san****019分享,可在线阅读,更多相关《微机原理课件第七章微型计算机中断系统》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.