第9章 中断与中断管理.ppt_第1页
第9章 中断与中断管理.ppt_第2页
第9章 中断与中断管理.ppt_第3页
第9章 中断与中断管理.ppt_第4页
第9章 中断与中断管理.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章中断与中断管理 9 1中断原理9 2中断系统组成及其功能9 3中断源识别及中断优先权9 48086中断系统9 58086CPU的中断管理9 6可编程中断控制器8279A简介 9 1中断原理 中断是为了解决高速CPU与慢速外设之间的矛盾而引出的一个概念 从无条件传送 条件传送到中断传送 无条件传送特点 无需条件 CPU直接与外设数据传送 条件传送特点 CPU主动查询外设状态 传输条件具备后 才数据传送 中断传送特点 外设主动向CPU发出请求 CPU与之进行数据传送 引入条件传送根本原因是 CPU与外设工作不同步 引入中断传送根本原因是 嫌条件传送时 CPU的工作效率低 中断指CPU暂时中止正在执行的主程序 转去执行请求中断的那个外设的中断服务程序 处理完后 又返回主程序的过程 何谓中断 某人看书电话铃响暂停看书书中作记号电话谈话继续看书 执行主程序中断信号INTR暂停执行主程序当前CS IP入栈执行I O程序返回主程序 日常事务中断请求中断响应保护断点中断服务中断返回 中断传送方式 可以解决CPU与外设之间速度匹配的问题 使计算机可以及时处理系统中许多随机的参数和信息 提高了计算机处理故障与应变的能力 9 2中断系统组成及其功能 为实现中断功能而设置的各种硬件和软件的集合 称为中断系统 一 与中断有关的触发器 中断请求触发器 其输出可作为中断请求信号 在满足一定条件的情况下把信号发送给CPU 且在CPU未响应时能一直保持 当CPU满足一定条件下响应该中断请求信号 执行相关操作后 能撤消该中断请求信号 中断系统通常包含3个重要触发器 其作用就是产生中断请求信号给CPU 能够发出中断请求信号的外设称为中断源 外设 如键盘 打印机等数据通道 如磁盘 磁带机时钟电路 如8253故障源 如掉电 需保存信息调试程序时设置的中断源 如断点 单步 中断屏蔽触发器 其功能是决定中断请求触发器的输出信号是否可以作为中断请求信号向CPU发送 通常CPU可以对中断屏蔽触发器进行操作 从而达到对中断源的控制 如 CPU不准备响应某个外设中断 可将中断屏蔽触发器复位 不让该外设的中断请求触发器的输出信号通过与门 此操作称之为中断屏蔽 CPU将中断屏蔽触发器置1 则准备响应该外设中断 中断允许触发器 中断允许触发器位于CPU内部 其功能类似于中断屏蔽触发器 8086CPU的中断允许标志位IF就是一个中断允许触发器 IF 1 允许CPU响应中断 CPU开中 IF 0 禁止CPU响应中断 CPU关中 8086CPU设置了两种类型硬件中断 可屏蔽中断 受中断允许触发器控制 只有IF 1 CPU才响应中断请求信号 不可屏蔽中断 不受中断允许触发器控制 有中断请求信号 CPU必须响应 二 中断条件 中断屏蔽触发器处于非屏蔽状态 使外设的中断请求信号能发给CPU 中断允许触发器处于开中状态 使CPU允许响应中断 此触发器状态可由STI IF 1 和CLI IF 0 指令来改变 中断请求要获得CPU响应 必须满足两个条件 三 中断响应过程 中断源进行中断申请外设置中断请求触发器有效 在CPU未响应时能一直保持 并且中断屏蔽触发器处于非屏蔽状态 中断响应无总线请求 CPU开中 CPU执行完现行指令 CPU响应中断后 首先自动完成3项工作 自动关中断 自动保护断点 即将CS IP及FR的内容压栈 自动给出中断入口 即将中断服务程序的入口地址装入CS IP 转入相应的中断服务程序执行 中断处理 可见 一旦CPU响应中断后 会立刻转入中断服务程序之中 而中断服务程序中所要完成的工作通常是 9 3中断源识别及中断优先权 一个微机系统往往有多个外设 当CPU响应外设中断请求后 必须识别出是哪一台外设请求中断 然后再转入对应于该外设的中断服务程序 常用的中断源识别方法有 查询中断和矢量中断 一 中断源识别 查询中断 需设置中断查询接口电路 利用程序来查询设备的请求中断状态 如图 一旦CPU响应了中断 先执行查询程序查找中断源 INAL IPORT 从输入接口取中断信息TESTAL 80H 是0号设备请求吗 JNZSEV0 是转0号设备服务程序TESTAL 40H 是1号设备请求吗 JNZSEV1 是转1号设备服务程序TESTAL 20H 是2号设备请求吗 JNZSEV2 是转2号设备服务程序TESTAL 10H 是3号设备请求吗 JNZSEV3 是转3号设备服务程序 四个中断源 矢量中断 要求外设 不仅提供中断请求信号 而且还得提供一个设备号 又称中断类型号 CPU响应外设的中断申请的过程是 注意 矢量中断识别中断源的速度最快 8086CPU采用的就是矢量中断 3 中断类型号可以由专用的中断控制芯片提供 也可以由接口芯片74LS245提供 中断类型号80H产生电路 8个中断类型号产生电路 二 中断优先权 多个外设同时申请中断时 因8086CPU只有一条INTR线 这就有一个优先权问题 谁优先权高 先响应谁 制定优先权有两种方法 软件方案和硬件方案 软件方案 指各个中断源的优先权由软件安排 按查询顺序决定 先被查询的中断源具有高的优先权 INAL IPORTTESTAL 80HJNZSEV0TESTAL 40HJNZSEV1TESTAL 20HJNZSEV2TESTAL 10HJNZSEV3 四个中断源 硬件方案 不作要求 8086有两类中断 硬件中断 由外设的请求引起 又叫外中断 8086有两条外部中断请求线NMI 不可屏蔽中断 和INTR 可屏蔽中断 软件中断 由执行指令所引起 又叫内中断 9 48086中断系统 8086采用矢量中断 即通过中断类型号来寻找中断服务程序入口地址 其方法 8086为每个中断都安排一个中断类型号 00H FFH 能处理256个中断 8086要求在内存前1K字节 RAM 00000H 003FFH 建一个中断服务程序的地址表 或叫中断向量表 中断服务程序的入口地址事先存入该区域中 每个入口地址占4个字节 高地址单元放入口地址的段地址 低地址单元放偏移地址 中断服务程序的入口地址从 中断类型号 4 的RAM区中找到 中断类型号和中断服务程序入口地址的关系 一 不可屏蔽中断 由8086的NMI脚输入 不受中断允许触发器控制 有中断请求信号 CPU必须响应 中断类型号 02H CPU内部直接产生 无须 INTA回应 NMI中断 二 可屏蔽中断 由8086的INTR脚输入 受中断允许触发器控制 只有IF 1 CPU才响应中断请求信号 中断类型号由外设提供 属于执行指令引起的中断 分三类 处理运算过程中某些错误的中断执行程序时 为及时处理运算中某些错误 CPU以中断方式中止正在运行的程序 提醒程序员改错 三 软件中断 除法错中断 中断类型号 0 执行除法指令时 若发现除数为零或商超过了寄存器所能表达的范围 则立即产生除法错中断 例 ADDAX BXINTO 测试加法的溢出 溢出中断INTO 中断类型号 4 运算时 当OF 1 执行INTO指令 产生溢出中断 打印出一个错误信息 结束时不返回 而把控制权交给操作系统 若OF 0 则INTO不产生中断 CPU执行下一条指令 单步中断 中断类型号 1 当TF 1时 每条指令执行后 CPU会自动产生一个类型1的中断 单步中断 使用单步中断可一条一条指令地跟踪程序流程 观察各个寄存器及存储单元变化 帮助分析错误原因 为调试程序而设置的中断 断点中断 中断类型号 3 断点可设置在程序的任何地方 它相当把一条INT3指令插入程序中 CPU每执行到断点处 INT3指令便产生一个中断 CPU执行完一条INTn指令后 会立即产生中断 并且调用系统中相应的中断处理程序来完成中断功能 中断指令的操作数n指出中断类型 软中断 中断指令INT引起的中断 又例 INT12H完成对存储器容量的测试 返回时 AX中的数据即为存储器容量 KB为单位 例 DOS功能调用INT21H 具有很强的功能 9 58086CPU的中断管理 一 8086CPU的中断处理顺序 8086对中断的处理流程 二 8086CPU的中断服务入口地址表 中断向量表 中断向量表建在内存的前1K字节 RAM 00000H 003FFH 中断向量表中存放的是各中断服务程序的入口地址 中断向量 每个入口地址占4个字节 前2单元放偏移地址 后2单元放段地址 程序运行转入中断服务程序时 入口地址的偏移地址将装入IP中 段地址装入CS 8086对不同的中断是以中断类型号来区别的 每种中断配以固定的中断类型号 在中断发生时 借助中断类型号 能使程序转入相对应的中断服务程序 8086中断向量表的基本概念 中断类型号与中断向量表的关系如何 简单地说 中断类型号是访问中断向量表的索引号 也就是说 中断向量在中断向量表中的存储顺序是以中断类型号为索引的 中断类型号乘4就是该种中断的中断向量在中断向量表中的开始地址 如 中断类型号为0 其中断向量在向量表的00000H 00003H地址 中断类型号为1 其中断向量在00004H 00007H地址 中断类型号为255时 其中断向量应在003FCH 003FFH地址 例 中断类型号为32的中断源对应的中断入口地址存放在0000 0080H 4 20H 80H 开始的4个单元中 若在00080H 00083H这4个单元中存放的值分别为 10H 20H 30H 40H 则32号中断的程序入口地址为4030H 2010H 中断类型号的范围为0 255 即最多256个 类型号0 4是8086规定的专用中断 有着固定的意义和处理功能 类型号5 31为系统使用或保留 类型号32 255可由用户自行使用 8086中断向量表的安排 三 中断入口地址设置 应该明确的概念 中断类型号只与存放中断向量的地址有关 存放中断向量的地址等于中断类型号乘以4 中断类型号不能决定中断向量本身和中断服务程序的功能 中断向量 中断服务程序的入口地址 和中断服务程序是软件开发者确定和设计的 如 在执行除法指令出错时 会引起类型号0中断 存放中断向量的地址为00000H 00003H 这是确定不变的 但中断向量本身和中断服务程序则是系统软件开发者确定和设计的 在系统启动时 操作系统不仅要把这个中断服务程序装入内存 还要把服务程序的入口地址装入00000H 00003H单元 用户如何设置中断入口地址 中断向量 对用户而言 运行自己编制中断服务程序时 需要考虑两个因素 中断类型号 可在32 255中选择 中断入口地址 中断入口地址的建立方法通常有 基本了解 用串指令建立用伪指令建立用系统调用方法建立直接装入法 一 8259A芯片特性 单一的 5V电源可管理8个中断多片8259通过级联可管理多达64个中断 9 6可编程中断控制器8279A简介 8259A 数据总线缓冲器 作为数据总

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论