




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章第五章 中断技术中断技术 本章内容本章内容 5 1 中断的基本概念 5 2 IBM PC 微机中断系统 5 3 可编程中断控制器 8259A 5 4 8259A 在微机系统中的应用 5 15 1 中断的基本概念中断的基本概念 1 1 什么是中断什么是中断 中断 中断 是指 CPU 在正常运行程序时 由于内部 外部事件或由程序预先安排的事件 引 起 CPU 中断正在运行的程序 转去为该事件服务 服务完毕 再返回去继续运 行被暂时中断的程序的过程 中断服务 处理 程序 断点 2 2 中断源与中断识别中断源与中断识别 1 中断源 中断源 发出中断请求的外部设备或引起中断的内部原因 外设中断 外设中断 键盘 打印机 显示器等 指令中断 指令中断 INT 10H INT21H 等 硬件故障中断 硬件故障中断 奇偶错 电源故障等 程序性中断 程序性中断 除法溢出 非法操作码等 2 中断识别 中断识别 确定中断源 实现程序转移 向量中断 向量中断 中断向量 中断号 查询中断 查询中断 软 硬件查询确定中断源 3 中断向量与中断向量表 中断向量与中断向量表 中断向量 中断向量 中断服务程序入口地址 4 个字节 偏移地址 段首址 中断向量表 中断向量表 PA 000H 3FFH 256 个 存储结构 中断号 顺序 4 中断类型号与中断向量指针 中断类型号与中断向量指针 类型号 类型号 8 位 N 00 FFH 中断向量指针 中断向量指针 PA 4 N 5 中断向量的装入 中断向量的装入 填写填写 与修改与修改 装入 装入 系统配置和使用的系统软件负责 设中断类型号为 N 服务程序入口为 INT SEV 用用 MOV 指令装入指令装入 CLI MOVAX 0 MOVES AX MOVDI 4 N MOVAX OFFSET INT SEV MOVES DI AX 写入偏移地址 MOVAX SEG INT SEV MOVES DI 2 AX 写入段首址 STI 用串操作指令装入用串操作指令装入 CLI CLD MOVAX 0 MOVES AX MOVDI 4 N MOVAX OFFSET INT SEV STOSW MOVAX SEG INT SEV STOSW STI 用系统功能调用装入用系统功能调用装入 参照修改 中断向量的修改中断向量的修改 修改方法与步骤修改方法与步骤 保存原中断向量保存原中断向量 INT 21H 的 35H 号功能 设置新中断向量设置新中断向量 INT 21H 的 25H 号功能 恢复原中断向量恢复原中断向量 INT 21H 的 25H 号功能使用后恢复 使用的 DOS 功能调用 获取中断向量获取中断向量 功能号 AH 35H 入口参数 AL 类型号 出口参数 ES BX 中断向量 设置中断向量设置中断向量 功能号 AH 25H 入口参数 AL 类型号 入口参数 DS DX 中断向量 6 中断优先级排队方式 中断优先级排队方式 按优先级排队 循环轮流排队 7 中断嵌套 中断嵌套 完全嵌套 特定完全嵌套 OLD OFF DW OLD SEG DW 定义保存原中断向量的 2 个字单元 s 保存原中断向量 MOVAH 35H MOVAL N INT21H MOVOLD OFF BX MOVOLD SEG ES CLI 设置新中断向量 MOVAH 25H MOVAL N PUSHDS MOVDX SEG INT SEV MOVDS DX MOVDX OFFSET INT SEV INT21H POP DS STI s 恢复原中断向量 s CLI MOVAH 25H MOVAL N MOVDX OLD OFF MOVDS OLD SEG INT 21H 5 25 2 IBM PCIBM PC 微机中断系统微机中断系统 分类 分类 硬中断 外部中断 软中断 内部中断 1 1 硬中断硬中断 NMI NMI 和和 INTR INTR 随机性 随机性 中断号中断号IRQ标准应用标准应用 02H 08H 09H 0AH 70H 71H 72H 73H 74H 75H 76H 77H NMI 0 1 2 8 9 10 11 12 13 14 15 奇偶检验错 I O 检测错中断 定时器 T0中断 键盘输入中断 接收从片 8259A 的中断请求 实时钟中断 改向 INT 0AH 以 IR2出现 保留 保留 保留 协处理器中断 硬磁盘控制器中断 保留 0BH 0CH 0DH 0EH 0FH 3 4 5 6 7 串行通信 COM2 中断 串行通信 COM1 中断 打印机 LPT2 中断 软磁盘控制器中断 打印机 LPT1 中断 系统硬中断 系统硬中断 1 不可屏蔽中断 不可屏蔽中断 NMI 不可屏蔽 不可屏蔽 不受 IF 状态影响 类型号固定 类型号固定 02H 有效信号 有效信号 上升沿 紧急故障处理 紧急故障处理 RAM 奇偶校验错 I O 通道校验错 协处理器运算错 2 可屏蔽中断 可屏蔽中断 INTR 可屏蔽 可屏蔽 IF 1 开放 IF 0 屏蔽 类型号由类型号由 8259A 提供提供 PC 机 08H 0FH 有效信号 有效信号 高电平 INTR 的处理过程的处理过程 开中断 接收请求 发 2 个 取得类型号 NINTA PSW SP IF TF 0 CS SP 4 N 2 CS IP SP 4 N IP 协处理器 INT NMINMI产生逻辑产生逻辑 INT 16H DOS 中断 中断 INT 21H INT 20H 未定义中断 未定义中断 INT 60H INT 78H 2 特殊中断 特殊中断 除法溢出中断除法溢出中断 N 0 条件 条件 商超出规定寄存器的表示范围 字 AX 字节 AL 单步中断单步中断 N 1 条件 条件 TF 1 调试工具或程序设置 断点中断断点中断 N 3 条件 条件 调试工具中使用 溢出中断溢出中断 N 4 条件 条件 OF 1 且执行 INTO 指令 PUSHF POP AX TF 0 AND AH 0FEH TF 1 OR AH 01H PUSH AX POPF 3 3 硬中断与软中断的比较硬中断与软中断的比较 特点软中断硬中断 INTR 随机性 突发性否是 中断响应周期无有 类型号的提供指令或固定中断 控制器 可屏蔽否是 NMI 具有随机性具有随机性 其他特点同软中断其他特点同软中断 4 4 软中断的应用软中断的应用 ROM BIOS 中断中断 DOS 中断中断 5 5 中断的处理过程 中断的处理过程 INTR INTR 1 中断申请 中断申请 CPU 执行完每条指令检测 INTR 高电平 IF 1 且无 DMA 请求 当前指令执行完进入响应 阶段 2 中断响应 中断响应 CPU 连续发出 2 个负脉冲 取得类型号 N 保护断点 查表将中断向量赋予 IP CS INTA 进入中断服务程序 3 中断服务 中断服务 执行中断服务程序 4 中断返回 中断返回 执行到 IRET 恢复断点 返回原程序 中断服务程序的结构中断服务程序的结构 保护现场 STI 若允许中断嵌套 服务程序主体 恢复现场 中断结束 EOI 命令 IRET 不同中断的处理过程区别 获取类型号的方法不同 另 软中断无申请阶段 6 6 中断响应周期及中断响应周期及的作用的作用INTA 两个连续中断应答信号两个连续中断应答信号负脉冲组成一个中断响应周期负脉冲组成一个中断响应周期INTA 第第 1 个负脉冲 个负脉冲 CPU 0 8259A IRRi 0 ISRi 1LOCK 第第 2 个负脉冲 个负脉冲 CPU 1 ALE 0 8259A 类型号LOCK CPU 自动结束方式 ISRi 0 5 35 3 可编程中断控制器可编程中断控制器 8259A8259A 1 1 8259A8259A 协助协助 CPUCPU 完成的工作完成的工作 接收和扩充外设的中断请求接收和扩充外设的中断请求 一片可管理 8 级中断 两级级联最多管理 64 级 优先级排队管理优先级排队管理 固定优先级 循环优先级 控制中断请求的屏蔽与开放控制中断请求的屏蔽与开放 提供中断类型号提供中断类型号 向量中断 还可实现查询中断 2 2 8259A8259A 的外部特性和内部结构的外部特性和内部结构 1 引脚 引脚 28 脚 面向面向 CPU 的信号的信号 14 D0 7 CSRDWR A0 端口选择信号 输入 INT 8259A 的中断申请 输出 高有效 向 CPU 发出中断申请 中断响应 输入 接收 CPU 的中断响应信号 第 2 个负脉冲中送出类型号INTA 面向外设的信号面向外设的信号 8 IR0 7 外设的中断申请 输入 触发方式由编程设定 面向同类芯片的信号面向同类芯片的信号 4 CAS0 3 级联信号 双向 主片向从片发送级联代码 主从定义 缓冲器方向 双功能 缓冲方式 输出 控制缓冲器传送方向 非缓冲方EN SP CLK T1T2T3T4T1T2T3T4 类型号 ALE D0 7 INTA LOCK 式 输入 定义主从片 1 主片 0 从片 2 内部结构 内部结构 中断请求寄存器 中断请求寄存器 IRR 8 位 寄存有请求的中断级 IRi有请求 IRRi 1 正在服务寄存器 正在服务寄存器 ISR 8 位 寄存正在服务的中断级 IRi被响应且未服务完 ISRi 1 ISR 可能多位同时为 1 中断屏蔽寄存器 中断屏蔽寄存器 IMR 8 位 寄存中断级的屏蔽情况 IMRi 1 IRi被屏蔽 优先级分析器 优先级分析器 PR 由 IRR IMR ISR 的状态确定 INT 引脚的输出 优先级编码器优先级编码器 比较电路比较电路 INT A B 比较器 中断屏蔽寄存器IMR IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 中断请求寄存器 IRR 中断请求优先级编码器 1 B0 B1 B2 A0 A1 A2 ISR编码器 缓冲方式控制传送方向 读写控制逻辑 读写控制逻辑 中断类型号的读取不是读写逻辑控制的 读 写逻辑 数据总线 缓冲器 D0 D7 A0 IOR IOW 级联 缓冲 比较器 CS 优先级分 析器PR CAS0 CAS2 CAS1 SP EN 正在服务寄存 器ISR 中断请求寄存 器ISR 控制逻辑 中断屏蔽寄存器IMR IR0 IR1 IR7 INTA INT CSWRRD0 A 读写操作主片从片TP86A 0010写 ICW1 OCW2 320H0A0HFFECH 0011写 ICW2 4 OCW121H0A1HFFDEH 0100读 IRR ISR 查询字20H0A0HFFDCH 0101读 IMR21H0A1HFFDEH 3 3 8259A8259A 的工作方式的工作方式 1 中断触发方式 中断触发方式 上上上上 上上上上 上上上上上上上 上上上上上上上 2 连接系统总线的方式 连接系统总线的方式 上上上上上 上上上上 上上上EN SP 3 中断屏蔽的方式 中断屏蔽的方式 上上上上上上上上上上 上上上上上上 LMR 4 优先级排队的方式 优先级排队的方式 固定 IR0最高 IR7最低 轮换 自动轮换 指定轮换 5 中断结束的方式 中断结束的方式 用与非嵌套系统 用与非嵌套系统 i i ISREOI ISRINTA 上上上上上上上上上上上上上上 上上上上上上上上上上上上上上2 EOI EOI EOI 上上 上上上 上上 4 4 8259A8259A 的编程命令及中断操作功能的编程命令及中断操作功能 4 个初始化命令字 ICW1 4 3 个操作命令字 OCW1 3 写入到 2 个端口中同一端 口写入多个命令字的区分方式 设置特征位 规定写入顺序 1 ICW1 16 位机无效 一般写 0 LTIM 触发方式 0 边沿触发 1 电平触发 SNGL 0 多片级联 1 单片系统 IC4 0 不写入 ICW4 1 要写入 ICW4 16 位机要写入 ICW1 还实现对还实现对 8259A 的复位的复位 如如 PC 机 机 边沿触发 单片 MOV AL 13H OUT 20H AL 2 ICW2 确定中断类型号的高五位确定中断类型号的高五位 高五位 ICW2的高五位 低三位 IRi的编码 如 PC 机 类型号 08H 0FH MOV AL 08H OUT 21H AL 3 ICW3 级联系统才写入 级联系统才写入 主 从片格式不同 主 从片格式不同 主片 相应的申请端是否挂接从片 从片 该从片的识别码 1 特 征位 LTIM SNGLIC4 T7T6T5T4T3 S7S6S5S4S3S2S1S0 中断类型号 中断类型号 8 位 位 A0 1 A0 0 A0 1 Si 0 IRi上无从片 1 IRi上接有从片 ID2ID1ID0的编码 i 该从片挂在主片的 IRi上 如图中所示的级联系统如图中所示的级联系统 主片中的 ICW3 24H 从片 1 的 ICW3 02H 从片 2 的 ICW3 05H 级联方式的硬件连接级联方式的硬件连接 IR0 从片1 从片2 8259A 主片 INT INT CAS0 2 CAS0 2 SP EN SP EN IR2 IR5 CAS0 2 A IR6 SP EN 5V INTA INTA INT INTA INTR INTA IR1 IR7 IR4 C IR0 IR1 IR7 B D 级联方式下工作过程级联方式下工作过程 CPU 的操作与单片无任何区别 只有只有 A 有申请有申请 与单片系统相同 从片 1 IRR 00H 从片 2 IRR 00H 主片 IRR6 1 INT 1 收到 主片 ISR6 1 送 IR6的类型号INTA A B C 同时申请同时申请 从片 1 IRR7 1 从片 2 IRR4 1 ID2ID1ID0 A0 1 主片 IRR6 IRR2 IRR5同时为 1 INT 1 转发 IR2的请求 第第 1 个个 INTA 主片 ISR2 1 并送 IR2的级联代码从片 2 与自己的识别码比较不同 无操作 从片 1 相同 ISR7 1 第第 2 个个 INTA 从片 1 送出 IR7的类型号 主片不送 4 ICW4 特定完全嵌套方式特定完全嵌套方式 用于级联系统的主片 开放同级和高级中断 上例中 主片若采用特定完全嵌套方式 则允许 D 打断 B 的服务 从片服务程序中送 EOI 的方法 给主片送 EOI 的条件 从片 ISR 00H 5 OCW1 设置 设置 IMR SFNMBUFM SAEOI PM M7M6M5M4M3M2M1M0 A0 1 PM 0 8位机系统 1 16位机系统 AEOI 0 非自动结束方式 1 自动结束方式 0 从片 1 主片 M S BUF 1有效 BUF 0 非缓冲方式 1 缓冲方式 SFNM 0 一般完全嵌套 1 特定完全嵌套 A0 1 M1 0 开放IR1 1 屏蔽IR1 如开放如开放 IR1 IR77 屏蔽屏蔽 IR3 IR76 其他不变其他不变 INAL 21H 读取 IMR ANDAL 7DH ORAL 48H OUT21H AL 6 OCW2 设置优先级轮换 发 设置优先级轮换 发 EOI 命令 命令 如 不指定如 不指定 EOI指定指定 EOI 清除 清除 ISR4 MOVAL 20HMOVAL 64H OUT20H ALOUT20H AL SL 1 L2 L1 L0的编码有效 与 R EOI 配合 RSLEOIOOL2L1L0 A0 1 特征位 位 优先级 固定 轮换 自动轮换 指定轮换 结束方式 自动 非自动 用EOI命令清ISRi EOI命令 不指定 清除ISR中优先级最高位 指定 添除ISR中的指定位 R 0 优先级不轮换 1 优先级轮换 EOI 0 不对ISR操作 1 清除ISRi R 1 L2 L1 L0指定的中断级为最低优先级 EOI 1 将ISR中L2 L1 L0指定的位清0 R R SLSL EOIEOI 的组合就是的组合就是 OCW2OCW2 的命令的命令 RSLEOI功能功能 000自动 EOI 中轮换复位 001不指定 EOI 命令 010无效 011指定 EOI 命令 100自动 EOI 中轮换置位 101不指定 EOI 中的轮换 110直接设置优先级 111指定 EOI 中的轮换 7 OCW3 设置特定屏蔽方式 查询式中断 读寄存器选择 ESMM 1 特定屏蔽方式允许 P 1 查询式中断 RR 1 读寄存器选择有效 PIS 读寄存器选择 RR 1 时有效 特定屏蔽方式特定屏蔽方式 开放低级中断 设置方法设置方法 用 OCW1屏蔽当前中断 用 OCW3设置特定屏蔽方式 设置后一直有效 直到清除 清除方法清除方法 用 OCW3 清除特定屏蔽方式 用 OCW1 开放当前中断 如在如在 IR3 服务程序中使用服务程序中使用 ESMMSMM01PRRRIS A0 0 特征位 0 消除特定屏蔽方式 1 设置特定屏蔽方式 SMMESMM 1时有效 0 IRR 1 ISR 比 IR3优先级低的中断的服务程序必须送指定 EOI 查询式中断查询式中断 不需要接收中断请求 CPU 查询 8259A 发查询命令 P 1 的 OCW3 后读查询字 A0 0 再 根据查询字内容确定中断源 查询字格式查询字格式 每次读查询字需重新送查询命令 I W2W1W0 CLI IN AL 21H OR AL 08H OUT 21H AL MOV AL 68H OUT 20H AL STI CLI MOV AL 48H OUT 20H AL IN AL 21H AND AL 0F7H OUT 21H AL STI MOV AL 20H OUT 20H AL RET IR0 2开放 IR3 7关闭 IMR3 1 特定屏蔽设置 IR0 2 IR4 7开 放 IR3关闭 特定屏蔽清除 IMR3 0 EOI命令 I 0 无中断请求 1 有中断请求 I 1 时 W2W1W0是当前有请求的优先级最高的中断级编码 读查询字 读查询字 查询命令令读寄存器无效 读读 IMRIN MOVAL 0CH AL 21H OUT20H AL 查询命令 INAL 20H 读查询字 读读 IRR读读 ISR MOVAL 0AHMOV AL OBH OUT20H ALOUT 20H AL INAL 20HINAL 20H 读寄存器读寄存器 读读 IMR 直接对 A0 1 端口进行读 读读 IRR ISR 先选择 RR 1 的 OCW3 再读 初始为 IRR 选择后一直有效 直到改变 查询方式的应用查询方式的应用 无中断向量表 无 INTR 或 INTA 信号 级联增加到第 3 层 查询方式不用送查询方式不用送 ICW2 1 1 8259A8259A 编程命令的使用编程命令的使用 ICW 初始化时 按顺序接收 2 4 个 OCW 工作过程中 动态控制 初始化编程初始化编程 级联系统 准备接收中断 N 初始化流程初始化流程 写ICW1 写 ICW4 写ICW3 写ICW4 Y Y N 写ICW2 MOV AL 13H OUT 20H AL MOV AL 08H OUT 21H AL MOV AL 01H OUT 21H AL ICW1 ICW2 ICW4 2 2 8259A8259A 初始化编程初始化编程 早期早期 PC 机机 单片系统单片系统 端口地址 20H 21H 边沿触发 完全嵌套 固定优先级 非缓冲 中断类型号 08H 0FH 286 以上以上 PC 机机 双片级联系统双片级联系统 从片连在主片的 IR2上 主从级联信号互连 端口地址 主片 20H 21H 从片 0A0H 0A1H 边沿触发 完全嵌套 固定优先级 非缓冲 中断类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论