




已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章中断技术6 1中断方式 6 1 1中断概念所谓中断是指某事件的发生引起CPU暂停当前程序的运行 转入对所发生事件的处理 处理结束又回到原程序被打断处接着执行的这样一个过程 1 中断源2 中断过程中断方式的实现一般需要经历下述过程 中断请求 中断响应 断点保护 中断源识别 中断服务 断点恢复 中断返回 1 中断请求 信号形式应满足CPU要求 中断请求信号应被有效地记录 以便CPU能够检测到它 一旦CPU对某中断源的请求提供了服务 则该中断源的请求信号应及时撤消 2 中断响应CPU对内部中断源提出的中断请求必须接受 而对外部中断源提出的中断请求是否响应取决于外中断源类型及响应条件 不同的微机对可屏蔽中断请求有不同的响应条件 8086 88 系统的响应条件为 指令执行结束 CPU处于开中断状态 即IF 1 没有发生复位 RESET 保持 HOLD 和非屏蔽中断请求 NMI 开中断指令 STI 中断返回指令 IRET 执行完 需要再执行一条指令 才能响应INTR请求 图6 1微机系统中实现中断的基本模型 图6 2有中断产生的情况下CPU运行程序的轨迹 3 断点保护4 中断源识别常用的中断源识别方法有 软件查询法 中断矢量法 5 中断处理6 断点恢复7 中断返回3 中断优先级及嵌套 图6 3中断源识别的软件查询法 a 硬件接口 b 软件查询流程 不同优先级的多个中断源同时提出中断请求时 CPU应首先响应最高优先级的中断源提出的请求 CPU正在对某中断源服务时 若有优先级更高的中断源提出请求 则CPU应对高优先级的中断作出响应 即高优先级的中断请求可以中断低优先级的中断服务 目前采用的解决中断优先级控制的方案有 软件查询 硬件链式优先级排队电路 硬件优先级编码比较电路 利用可编程中断控制器 PIC 图6 4中断嵌套示意图 6 1 2中断系统1 8086 88 中断系统8086 88 中断系统可以容纳最多256个中断源 所有中断源统一编码 每个中断源用一个字节型编码标识 该编码称为中断向量码 它是CPU识别中断源的标记 1 中断源类型256个中断源分为两大类 1 内部中断 它由CPU内部事件及执行软中断指令产生 已定义的内部中断有 除法错中断 单步中断 溢出中断 软件中断 2 外部中断它是由外部中断源产生对CPU的请求而引发的 8086 88 中断系统将外部中断源又分为两种 非屏蔽中断 可屏蔽中断 2 中断响应过程在8086 88 系统中 中断控制是由CPU与中断控制器共同完成的 这使得中断过程简化 中断请求 中断响应 中断处理 图6 5中断响应过程 图6 6中断响应时CPU查询中断源的顺序 3 中断向量表8086 88 微机系统在内存的最低端开辟了1KB的存贮区作为中断向量表 该表以四字节为一组构造而成 共分为256组 按中断向量码的序号排列 如图6 7所示 图6 7中断向量表 6 2中断控制器82591 8259内部结构8259内部结构如图6 8所示 它的工作过程如下 中断请求输入端IR0 IR7接收外部中断源的请求信号 外部中断源的请求状态锁存在中断请求寄存器IRR 8位 的相应位 即置1 并与中断屏蔽寄存器IMR 8位 相 与 送给优先级判决电路 控制电路接收到中断请求有效信号后 向CPU输出INT信号 CPU接受INT信号 在中断允许 IF 1 的情况下 发出响应信号 8259接收信号 在第1个INTA周期 先设置ISR的相应位 并恢复IRR的相应位 然后 主控8259送出级联地址CAS0 CAS2加载至从属8259上 单独使用的8259或是由CAS0 CAS2选择的从属8259 在第2个INTA周期 将中断向量码输出至数据总线 CPU读取中断向量码 转移到相应的中断处理程序 中断结束时 通过在中断处理程序中向8259送一条EOI 中断结束 命令 使ISR相应位复位 或8259选择自动结束中断方式时 由8259在第2个信号的后沿自动将ISR相应位复位 图6 88259内部结构图 图6 98259引脚图 2 8259引脚功能8259是具有28个引脚的集成芯片 如图6 8所示 各引脚功能如下 D0 D7 双向数据线 与系统数据总线相连 接收CPU发来的命令字 给CPU提供中断向量码与内部寄存器状态 A0 地址输入线 与系统地址总线中某位相连 用来选择8259内部寄存器 片选输入信号 由系统中地址译码器控制 低电平有效 写和读控制信号 输入 与系统控制总线中的 外设写 和 外设读 信号相连 INT 中断请求输出信号 可接入CPU的INTR引脚 中断响应输入信号 接收CPU送出的信号 CAS0 CAS2 级联地址 在8259级联时使用 双功能线 缓冲方式 输出线 1时CPU8259非缓冲方式 输入线 SP 1主片SP 0从片IR0 IR7 中断请求输入端 接收可屏蔽中断源的请求信号 信号形式可以是上升沿 也可以是高电平 图6 98259引脚图 3 8259工作方式1 中断结束方式 1 非自动结束方式 一般中断结束命令 EOI 特殊中断结束命令 SEOI 2 自动结束方式2 缓冲方式 非缓冲方式 缓冲方式 3 嵌套方式 一般嵌套方式 特殊全嵌套方式 SFNM同级及高优先级可以打断正在进行的处理而实现嵌套级联 4 屏蔽方式屏蔽方式也是用于8259进行优先级控制的 它也有两种形式 一般屏蔽方式 特殊屏蔽方式 允许级别高和低优先级打断正在进行的处理 不允许同级中断 5 优先级规定 固定优先级 IR0 IR7 循环优先级 设定某一级优先级为最低 IRR76543210ISR01010000优先级76543210 IRR76543210ISR01000000优先级21076543 最低优先级 最高优先级 最高优先级 最低优先级 4 8259命令字1 初始化命令字初始化命令字用于初始设定8259的工作状态 ICW1 规定8259的连接方式 单片或级联 与中断源请求信号的有效形式 边沿或电平触发 命令字格式如图6 10所示 利用A0 0 D4 1寻址 ICW2 ICW3 ICW4 初始化命令字1 ICW1 0 1 S 0 LT 1 0 0 0 D0 D1 D2 D3 D4 D5 D6 D7 A0 1 单片 不要ICW3 0 级连 要ICW3 1 电平触发0 沿触发 特征位 地址线的状态 8086CPU D7 D6 D5 D2任意 D0为1 有ICW4 D0为0 W无ICW4 写入ICW1后 8259A是处于完全嵌套方式 清除IMR 2 ICW2 设置中断类型号 1 1 D0 D1 D2 D3 D4 D5 D6 D7 A0 D0 D1 D2 D3 D4 D5 D6 D7 A0 T0 T1 T2 T3 T4 T5 T6 T7 IR的编码 8259A自动填入 中断类型码的高5位 3 ICW3 级连时用 单片不用 1 D0 D1 D2 D3 D4 D5 D6 D7 A0 主片8259A 从片8259A S7 S6 S5 S4 S3 S2 S1 S0 Sn 1表示主片的Irn接从片Sn 0表示主片的TRn未接从片 0 0 0 0 0 ID2 ID1 ID0 从片连主片IRn的序号 000IR0001IR1 111IR7 1 D0 D1 D2 D3 D4 D5 D6 D7 A0 4 ICW4 1 0 0 0 SF BF M S AEOI 1 AEOI 非缓冲10 从片缓冲11 主片缓冲 1 特殊完全嵌套 注意 1 ICW1 ICW4必需顺序写入 即使改变一个参数也需全部重新写入ICW 2 单片只写ICW1 ICW2 ICW4 不要ICW3级连ICW1 ICW4全要 但主 从片的ICW3不同 3 ICW1的A0 0 其它ICW的A0 1 0 操作命令字 1 OCW1 IMR编程 屏蔽 1 A0 D7 D6 D5 D4 D3 D2 D1 D0 0 D7 D6 D5 D4 D3 D2 D1 D0 M7 M6 M5 M4 M3 M2 M1 M0 Mn 1禁止中断 屏蔽 Mn 0允许中断 2 OCW2 控制中断结束和优先权循环 设置EOI SEOI 循环 R SL EOI 0 0 L2 L1 L0 000 100 111 IR0IR1IR7 在SL 1时 指出IRn的最低级 特征位 1 中断结束 EOI 1 特殊的EOI L2L1L0的开放位 1 循环 0 D7 D6 D5 D4 D3 D2 D1 D0 RIS ERIS P 1 0 SMM ESMM A0 3 OCW3 特殊屏蔽设置 中断查询 读IRR ISR 0111 读IRR读ISR 1 发查询命令 特征位 0111 复位SMM置位SMM D1 ERIS 做为D0 RIS 的开放位D6 ESMM 做为D5 SMM 的开放位 图6 10ICW1格式 图6 11ICW2格式 图6 12ICW3格式 图6 13ICW4格式 2 操作命令字 OCW1 OCW2 OCW3 图6 14OCW1格式 图6 15OCW2格式 图6 16OCW3格式 5 8259级联1 级联结构8259采用两级级联 级联结构如图6 16所示 2 级联方式下8259的中断响应3 级联方式下8259的特殊操作 注意 初始化时 主控器与从属器的ICW3应以不同格式填写 主控器的嵌套方式必须选择为特殊全嵌套方式 从属器的嵌套方式必须选择为一般嵌套方式 当结束来自从属8259的中断时 中断处理程序中要发送两个EOI命令 一个发给相关的从属8259 由I O地址确定 一个发给主控8259 图6 168259级联结构 6 3中断方式的实现1 连接8259 表6 38259内部寄存器的寻址控制方式 图6 178259在系统中的连接 2 编写中断初始化程序1 初始化8259因为8259的内部寄存器寻址与命令字的写入顺序有关 所以 对8259的初始化一定要按规定的顺序进行 见图6 18所示 下面是一段对8259初始化的程序 假定8259连接电路如图6 17所示 占用的I O地址为FF00H和FF02H SET59A MOVDX 0FF00H 8259的地址A0 0MOVAL 13H 写ICW1 边沿触发 单片 需要ICW4OUTDX AL MOVDX 0FF02H 8259地址A0 1MOVAL 48H 写ICW2 设置中断向量码OUTDX ALMOVAL 03H 写ICW4 8086 88模式 自动EOI 非缓冲 一般嵌套OUTDX ALMOVAL 0E0H 写OCW1 屏蔽IR5 IR6 IR7 假定这3个中断输入未用 OUTDX AL MOVAL 0OUTDX AL 写OCW1 将00H写入IMRINAL DX 读IMRORAL AL 判断IMR内容为00H否JNZIMRERRMOVAL 0FFHOUTDX ALINAL DXADDAL 1JNZIMRERR 图6 188259的初始化顺序 CPU对8259的IMR读出时 可利用I O地址直接寻址 而要读出ISR IRR或中断状态寄存器时 则需要先设置命令字OCW3 下面是CPU读出ISR内容的一段程序 MOVDX 0FF00H 8259的地址A0 0MOVAL 0BHOUTDX AL 写OCW3INAL DX 读出ISR内容放入AL中 2 设置中断向量表 直接写中断向量表 利用写指令 直接将中断处理程序的首地址写入内存地址为4 n的区域中 程序如下 INTITB MOVAX 0MOVDS AX 将内存段设置在最低端MOVSI 0120H n 48H 4 n 120HMOVAX OFFSETCLOCK 获取中断处理程序首地址之段内偏移地址 MOV SI AX 段内偏移地址写入中断向量表4 n地址处MOVAX SEGCLOCK 获取中断处理程序首地址之段地址MOV SI 2 AX 段地址写入中断向量表4 n 2地址处 利用DOS功能调用 若系统运行在DOS环境下 可利用DOS功能调用设置中断向量表 调用格式为 功能号25H AH中断向量码 AL中断处理程序首地址之段地址 偏移地址 DS DXINT21H 程序如下 MOVAH 25HMOVAL 48HMOVDX SEGCLOCKMOVDS DXMOVDX OFFSETCLOCKINT21H 3 编写中断处理程序1 中断嵌套8086 88 中断系统将所有中断源分为三类 即INT NMI及INTR 图6 19可嵌套的中断处理程序流程 2 改变中断优先级在中断处理程序中写进如下一段程序 可实现在该中断处理程序结束后将IR7定义为优先级最低 MOVDX 0FF00H 8259的地址A0 0MOVAL 0C7H 设置指定 特殊 循环优先级及OCW2寻址信息OUTDX AL 写OCW2 屏蔽方式的设置用下述指令完成 MOVDX 0FF00H 8259的地址A0 0MOVAL 68H 设置特殊屏蔽方式 SMM 1 及OCW3寻址信息OUTDX AL 写OCW3 MOVDX 0FF00H 8259的地址A0 0MOVAL 48H 设置SMM 0及OCW3寻址信息OUTDX AL 写OCW3 3 产生EOI命令例如 当来自8259中断输入端IR6的中断请求被CPU响应时 8259自动设置ISR的数据位D6为1 即ISR6 1 在IR6中断处理程序中 CPU执行以下指令 产生对8259的一般EOI命令 MOVDX 0FF00H 8259的地
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 目标考试题及答案
- 昆曲考试题及答案
- 中级财务会计(菏泽学院)知到智慧树答案
- 中级日语II(山东联盟)知到智慧树答案
- 小学数学教师综合素质评比活动专业知识测试卷含答案
- 狂犬病暴露预防处置培训考核试题及答案(伤口处置人员)
- 压力性损伤的预防与护理相关试题(附答案)
- 2025担保抵押影视投资合同范本
- 2025版高品质公寓房屋买卖合同文本下载
- 2025年度智能家居房产广告设计与客户体验提升合同
- 北师大版五年级下册数学口算题题库1200道带答案可打印
- 托管老师岗前培训
- (正式版)HGT 6313-2024 化工园区智慧化评价导则
- 220kV变电站一次系统设计毕业论文
- 松下panasonic-视觉说明书pv200培训
- 崔允漷教授学历案:微培训课件设计
- 《资本论》讲稿课件
- 燃气具安装维修工(中级)教学课件完整版
- 护理品管圈QCC之提高手术物品清点规范执行率
- 高尔夫基础培训ppt课件
- 微型钢管桩专项施工方案
评论
0/150
提交评论