输入输出和中断技术.ppt

上传人:max****ui 文档编号:6249614 上传时间:2020-02-20 格式:PPT 页数:81 大小:591.50KB
返回 下载 相关 举报
输入输出和中断技术.ppt_第1页
第1页 / 共81页
输入输出和中断技术.ppt_第2页
第2页 / 共81页
输入输出和中断技术.ppt_第3页
第3页 / 共81页
点击查看更多>>
资源描述
Ch 7输入输出和中断技术 本章内容基本概念I O端口的编址输入输出的基本方法 无条件 查询 中断 DMA中断中断基本概念8086 8088中断系统8259中断控制器 DMA DMA的基本概念DMA工作过程DMA的三种传输方式 7 1输入 输出接口 I O接口 7 1 1概述什么是I O接口 把外设连接到总线上的一组逻辑电路的总称 实现外设与主机之间的信息交换 I O接口的功能数据的寄存和缓冲功能缓解接口与CPU工作速度的差异对外设的控制和检测功能对外设进行选择信号电平与类型的转换 信号兼容 形式 格式 电平 功率 码制等 7 1 2端口的编址方式I O端口 I O信息的三种类型 数据 控制 状态 传送这三类信息的通道分别称为 数据端口 I O 控制端口 O 状态端口 I 不同外设具有的端口数各不相同 计算机中为每一个端口都赋予一个惟一编号 称为端口地址 或端口号 端口有两种编址方式 统一编址和独立编址 1 统一编址把外设接口与内存统一进行编址 各占据统一地址空间的不同部分 优点指令统一 灵活 访问控制信号统一 使用同一组的地址 控制信号 缺点内存可用地址空间减小 0 地址空间 共1MB 内存地址 960KB I O地址 64KB FFFFFH EFFFFHF0000H 2 独立编址外设地址空间和内存地址空间相互独立 优点 内存地址空间不受I O编址的影响缺点 I O指令功能较弱 使用不同的读写控制信号 00000H 内存地址空间 内存空间 1MB I O空间 64KB FFFFH FFFFFH I O地址空间 0000H 7 1 3I O端口地址的译码 地址 控制信号 片间寻址 高位地址 控制信号 CS 片内寻址 地位地址连接到芯片 7 1 4I O数据的传送方式并行一个数据单位 通常为字节 的各位同时传送速度快 距离短 成本高例 PC机的并行接口 通常用于连接打印机 串行数据按位进行传送速度慢 距离远 成本低例 PC机的串行接口 通常用于串行通信 7 2 1接口电路的基本结构 7 2简单接口电路 数据线 控制线 状态线 DB CB AB 数据输入寄存器 or三态门 数据输出寄存器 锁存器 状态寄存器 or三态门 命令寄存器 译码电路 控制逻辑 接外设 接主机 数据输入 输出寄存器 暂存输入 输出的数据命令寄存器 存放控制命令 用来设定接口功能 工作参数和工作方式 状态寄存器 保存外设当前状态 以供CPU读取 简单接口电路 数据输入接口必须具有三态输出能力 以便与总线挂接外设有数据保持能力时 可用三态门实现外设无数据保持能力时 用三态输出的锁存器实现数据输出接口常用锁存器实现 7 3I O设备数据传送控制方式 程序控制传送方式无条件传送查询式传送中断方式传送直接存储器存取 DMA DirectMemoryAccess 无需CPU参与 IOP方式 输入 输出处理机 7 3 1无条件传送方式 适用于总是处于准备好状态的外设以下外设可采用无条件传送方式 开关发光器件 如发光二极管 7段数码管 灯泡等 继电器步进电机优点 软件及接口硬件简单缺点 只适用于简单外设 适应范围较窄 7 3 2查询传送方式 适用于外设并不总是准备好 而且对传送速率 传送效率要求不高的场合 CPU在与外设交换数据前必须询问外设状态 你准备好没有 对外设的要求 应提供设备状态信息对接口的要求 需要提供状态端口优点 软件比较简单缺点 CPU效率低 数据传送的实时性差 速度较慢 7 3 3中断传送方式 CPU无需循环查询外设状态 而是外部设备在需要进行数据传送时才中断CPU正在进行的工作 让CPU来为其服务 即CPU在没有外设请求时可以去做更重要的事情 有请求时才去传输数据 从而大大提高了CPU的利用率 优点 CPU效率高 实时性好 速度快 缺点 程序编制较为复杂 7 3 4DMA传输 前面三种I O方式都需要CPU作为中介 外设CPU内存两个含义 1 软件 外设与内存之间的数据传送是通过CPU执行程序来完成的 PIO方式 2 硬件 I O接口和存储器的读写控制信号 地址信号都是由CPU发出的 总线由CPU控制 缺点 程序的执行速度限定了传送的最大速度 约为几十KB 秒 解决 DMA传输 DMA传输 外设内存外设直接与存储器进行数据交换 CPU不再担当数据传输的中介者 总线由DMA控制器 DMAC 进行控制 CPU要放弃总线控制权 内存 外设的地址和读写控制信号均由DMAC提供 优点 数据传输由DMA硬件来控制 数据直接在内存和外设之间交换 可以达到很高的传输速率 可达几MB 秒 DMA传送原理示意图 系统总线 CPU DMAC 存储器 外设接口 AEN IOW MEMW MEMR IOR MEMW MEMR IOW IOR AEN HOLD HLDA DRQ DACK AEN IOW IOR MEMW MEMR 外设发出DMA请求 DMAC向CPU申请总线 CPU完成当前总线周期后响应 并释放总线控制权 DMAC得到总线控制权 并发出DMA响应信号 由DMAC发出各种控制信号 控制外设与存储器之间的数据传送 数据传送完后 DMAC撤销HOLD信号 CPU释放HLDA信号 并重新控制总线 DMA控制器的工作过程1 当外设准备好 可以进行DMA传送时 外设向DMA控制器发出 DMA传送请求 信号 DRQ 2 DMA控制器收到请求后 向CPU发出 总线请求 信号HOLD 表示希望占用总线 3 CPU在完成当前总线周期后会立即对HOLD信号进行响应 响应包括两个动作 一是CPU将数据总线 地址总线和相应的控制信号线均置为高阻态 由此放弃对总线的控制权 另一方面 CPU向DMA控制器发出 总线响应 信号 HLDA 4 DMA控制器收到HLDA信号后 就开始控制总线 并向外设发出DMA响应信号DACK DMA控制器的工作过程 续 5 DMA控制器送出地址信号和相应的控制信号 实现外设与内存或内存与内存之间的直接数据传送 例如 向I O接口发出读信号 同时往地址总线上发出存储器的地址和存储器写信号和AEN信号 即可从外设向内存传送一个字节 6 DMA控制器自动修改地址和字节计数器 并判断是否需要重复传送操作 当规定的数据传送完后 DMA控制器就撤销发往CPU的HOLD信号 CPU检测到HOLD失效后 紧接着撤销HLDA信号 并在下一时钟周期重新开始控制总线 DMA的三种传输方式 连续传送 块传送 DMAC申请到总线后 将一块数据传送完后才释放总线 而不管中间DREQ是否有效 单次传送 每次传送一个字节 每个DMA周期只传送一个字节就立即释放总线 按需传送 猝发传送 只要I O接口的数据缓冲可用 就进行传送 注 I O接口需要有一定大小的FIFO缓冲 Y N 允许DMA DMA请求 DMAC请求总线 CPU响应 DMAC获总线控制权 DMA传送一个字节 块结束 地址增量 计数器减量 DMAC释放总线 Y 数据块传送 N N Y N 允许DMA DMAC请求总线 CPU响应 DMAC获总线控制权 DMA传送一个数据 块结束 释放总线至少一个总线周期 地址增量 计数器减量 DMAC释放总线 Y 每次传送一个字节 测试I O的DREQDMA请求 N Y CPU响应 DMAC获总线控制权 DMA传送一个字节 块结束 测试I O的DREQ有效 地址增量 计数器减量 释放总线 请求中断 无效 释放总线 允许DMA DMA请求 DMAC请求总线 按需传送 Y N Y N 一个总线周期 T DMAC控制总线 共传送n个数据 DMA1 DMA2 DMAn CPU重新控制总线 CPU对总线控制 连续传送 T DMA共传送n个数据 DMA1 DMA2 DMAn 单次传送 DMA3 T 按需传送 DMA传送k个数据 DMA传送n k个数据 FIFO可用 FIFO满 FIFO可用 FIFO满 图例 DMA传输方式示意图 7 4中断技术 7 4 1中断的基本概念什么是中断 与生活场景的比较 正在看书 电话铃响 接电话 继续看书 执行程序 事件发生 事件处理 继续执行程序 中断处理 中断请求及响应 实际场景 计算机 中断返回 中断的定义 CPU执行程序时 由于发生了某种随机的事件 外部或内部 引起CPU暂时中断正在运行的程序 转去执行一段特殊的服务程序 称为中断服务程序或中断处理程序 以处理该事件 该事件处理完后又返回被中断的程序继续执行 这一过程称为中断 中断源 中断源 引起CPU中断的事件或设备 如 外设 请求输入输出数据 报告故障等事件 掉电 硬件故障 软件错误 非法操作 定时时间到等中断源分为 外部中断 内部中断内部中断 CPU内部执行程序时自身产生的中断外部中断 CPU以外的设备 部件产生的中断8086 8088的外部中断信号 INTR NMIINTR 可屏蔽中断请求 高电平有效 受IF标志的控制 IF 1时 执行完当前指令后CPU对它作出响应 NMI 非屏蔽中断请求 上升沿有效 任何时候CPU都要响应此中断请求信号 为何计算机中要引入中断 提高数据传输率 避免了CPU不断检测外设状态的过程 提高了CPU的利用率 实现对特殊事件的实时响应 如多任务系统操作系统中 缺页中断设备中断各类异常时钟等 中断过程 五个步骤 中断请求中断判优 有时还要进行中断源识别 中断响应中断服务中断返回以下以外部中断为主介绍这五个步骤 1 中断请求 外设接口 中断源 发出中断请求信号 送到CPU的INTR或NMI引脚 中断请求信号 边沿请求 电平请求例如 NMI为边沿请求 INTR为电平请求中断请求信号应保持到中断被处理为止 CPU响应中断后 中断请求信号应及时撤销 在8086 8088系统中 外设的中断要经过8259A可编程中断控制器 PIC 的排队判优后向CPU发出 2 1 中断源识别 计算机中的中断源有很多 CPU必须识别是哪一个设备产生中断 识别中断源有两个方法 软件查询 将中断信号从数据总线读入 用程序进行判别 中断矢量法 由中断源提供中断类型号 CPU根据类型确定中断源 8086 8088即采用此种方法 2 2 中断优先级判断 多个中断源产生中断 CPU首先为谁服务 中断优先级排队问题 中断优先级控制要处理两种情况 对同时产生的中断 应首先处理优先级别较高的中断 若优先级别相同 则按先来先服务的原则处理 对非同时产生的中断 低优先级别的中断处理程序允许被高优先级别的中断源所中断 即允许中断嵌套 中断优先级的控制方法硬件判优 链式判优 并行判优 中断向量法 软件判优 顺序查询中断请求 先查询的先服务 即先查询的优先级别高 通常将中断判优与中断源识别合并在一起进行处理 x86系统中 这项任务由PIC和CPU共同完成 INTAin CPUINTAINTR 外设1 外设2 外设接口1 菊花链逻辑电路 外设接口2 外设3 外设接口3 1 菊花链逻辑电路 菊花链逻辑电路 IREQ IREQ IREQ 中断确认 链式判优电路原理图 INTAin INTAin 中断确认 中断确认 3 中断响应 在每条指令的最后一个时钟周期 CPU检测INTR或NMI信号 若以下条件成立 则CPU响应中断 当前指令执行完 对INTR 还应满足以下条件当前指令是STI和IRET 则下条指令也要执行完 当前指令带有LOCK REP等指令前缀时 则把它们看成一个整体 要求完整地执行完 对INTR CPU应处于开中断状态 即IF 1 当前没有复位 RESET 和保持 HOLD 信号 若NMI和INTR同时发生 则首先响应NMI 3 中断响应 续 CPU中断响应时 要做下述三项工作 向中断源发出INTA中断响应信号 断点保护 包括CS IP和PSW FLAGS 这主要是保证中断结束后能返回被中断的程序 获得中断服务程序首地址 入口 如何得到中断处理程序的首地址 固定入口法中断向量法 常用 4 中断处理 中断服务 中断服务子程序特点为 远 过程 类型为FAR 要用IRET指令返回中断服务子程序要做的工作保护现场 PUSHreg s 开中断 STI 进行中断处理恢复现场 POPreg s 中断返回 IRET 5 中断返回 执行中断返回指令IRETIRET指令将使CPU把堆栈内保存的断点信息弹出到IP CS和FLAG中 保证被中断的程序从断点处能够继续往下执行 IPL IPH CSL CSH FLAGL FLAGH SP IPL IPH CSL CSH FLAGL FLAGH SP IP CS FLAG 进入中断服务程序时 中断返回后 7 4 28088的中断系统 与中断有关的控制线为 NMI INTR INTA 8088系统的中断源内部中断除法溢出 类型号0 商大于目的操作数所能表达的范围时产生 单步中断 类型号1 TF 1时产生 当前指令需执行完 断点中断 类型号3 这是一个软件中断 即INT3指令 溢出中断 类型号4 这是一个软件中断 即INTO指令 软件中断 即INTn指令 类型号n 0 255 外部中断非屏蔽中断NMI 类型号2 不可用软件屏蔽 CPU必须响应它 可屏蔽中断INTR 类型号由PIC提供 IF 1时CPU才能响应 NMI INTR 中断逻辑 软件中断指令 溢出中断 除法错 单步中断 非屏蔽中断请求 中断控制器8259APIC 8086 8088CPU内部逻辑 断点中断 8086 8088中断源类型 可屏蔽中断请求 n 4 3 0 1 2 IRQ0 IRQ1 IRQ7 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 中断源的识别 8088系统采用中断类型码来识别不同的中断源 每个中断源都有一个与它相对应的中断类型码 溢出 断点 除法溢出 单步 非屏蔽中断的类型码为固定值软件中断的类型码由指令给出可屏蔽中断的类型码由PIC给出 中断向量表 IVT 存放各类中断的中断服务程序的入口地址 段和偏移 中断向量表的地址位于内存的00000H 003FFH 大小为1KB 共256个中断向量每个中断向量占用4Bytes 低字为段内偏移 高字为段基址根据中断类型号获得中断服务程序入口的方法 n为中断类型号 中断向量在IVT中的存放地址 4 n 中断向量表的初始化 初始化 将中断服务程序的入口地址放入向量表例 中断类型码为48H的中断处理子程序的名字为int48h 编写程序段将该中断处理子程序的入口地址放入向量表 中断向量表的初始化 CLIMOVAX 0MOVDS AXMOVSI 48H 4MOVAX OFFSETint48hMOV SI AXMOVAX SEGint48hMOV SI 2 AXSTI 8086 8088CPU的中断响应过程 内部中断响应过程无INTA 周期中断类型码固定或由指令给出响应过程主要步骤 PUSHFLAG IF 0 PUSHCS PUSHIP 取中断向量送入IP和CS 中断响应过程 续 外部中断响应过程非屏蔽中断 与内部中断响应过程类似可屏蔽中断 INTA 1 优先级排队判优处理 CPU INTA 2 把中断类型码放到DB上 PIC CPU读入 PUSHFLAG IF 0 PUSHCS PUSHIP 取中断向量送入IP和CS 与内部中断一样 中断响应过程与时序 8088系统中各中断的优先级 优先级从高到低顺序如下 内部中断NMIINTR单步中断 N Y N Y N N N N N Y Y 执行指令 执行完否 取指令 IF 1 内部中断 NMI INTR TF 1 类型码 0 255 类型码 2 类型码 1 中断响应 读回类型码 FLAG入栈 TEMP TF TF TF 0 CS IP入栈 计算向量表地址 高字 CS低字 IP 执行中断服务程序 NMI TEMP 1 转入中断服务程序 恢复CS和IP 恢复FLAGS 返回被中断的程序 Y Y Y Y N IRET指令的操作 8086 8088的中断处理流程 7 5可编程中断控制器8259A PIC ProgrammableInterruptController可对8个中断源实现优先级控制可扩展至对64个中断源实现优先级控制可编程设置不同工作方式根据中断源向x86提供不同中断类型码 8259A引脚图 CS 片选信号 WR 写控制信号 RD 读控制信号 D0 D7 双向三态数据线 CAS0 CAS2 级联信号线 SP EN 主从片选择 缓冲允许线 INT 中断请求信号 IR0 IR7 外设中断请求信号 ITNA 中断响应信号 A0 地址信号 7 5 1 8259A的内部结构 8259A的内部结构中断请求寄存器IRR保存从IR0 IR7来的中断请求信号 某位 1表示对应的IRi有中断请求中断服务寄存器ISR保存所有正在服务的中断源 某位 1表示对应的IRi中断正在被服务中断屏蔽寄存器IMR存放中断屏蔽字 某位 1表示对应的IRi输入被屏蔽中断优先权判别电路确定是否向CPU发出中断请求 中断响应时确定ISR的哪位应置位及把相应中断的类型码放到数据总线上 7 5 28259A的工作过程 8259A对中断请求的处理过程如下 当某IRi有效时 IRR相应位置1若有效的IRi未被屏蔽 则向CPU发出中断请求检测到第1个INTA 信号后 置ISRi 1 IRRi 0检测到第2个INTA 信号后 把ISRi 1中最高优先级的中断类型码放到DB上若工作在自动中断结束方式 AEOI 方式 在第2个INTA 结束时 使ISRi复位 否则由CPU发出EOI命令使ISRi复位 7 5 38259A的工作方式 8259A的工作方式有如下几类 中断嵌套方式中断优先方式中断屏蔽方式中断结束处理方式中断触发方式中断级联工作方式中断查询方式8259A读取方式 7 5 38259A的工作方式 1 嵌套方式在中断处理过程中允许被更高优先级的事件所中断称为中断嵌套 8259A有两种中断嵌套方式 普通全嵌套方式 默认方式 一中断正被处理时 只有更高优先级的事件可以打断当前的中断处理过程而被服务 特殊全嵌套方式一中断正被处理时 允许同级或更高优先级的事件可以打断当前的中断处理过程而被服务 注 特殊全嵌套仅用于多个8259A级连时的主8259A 而不能用于从属8259A或单8259A系统 D 主8259A IR0IR1IR2IR3IR4IR5IR6IR7 一般嵌套方式 从片的INT被主片封锁 故更高级别的IR0 IR2中断也无法得到响应 特殊嵌套方式 因主片不封锁从片的INT 故级别高的IR0 IR2中断可以得到响应 但IR3 IR7仍被本从片封锁 C 假定IR3发生中断 并获得服务 一般嵌套方式 IR4的中断被服务时 这些中断将被封锁 B 特殊嵌套方式 IR4的中断被服务时 只封锁IR5 IR7 A INT E 从8259A INT IR0IR1IR2IR3IR4IR5IR6IR7 一般全嵌套方式与特殊全嵌套方式的区别 去CPU 7 5 38259A的工作方式 2 中断优先方式优先级控制方式 固定优先级和优先级自动循环优先级固定方式所有中断请求IRi的中断优先级固定不变优先级排列顺序可编程改变加电后8259A的默认方式 默认优先级顺序从高到低为IR0 IR7 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 7 6 5 4 3 2 1 0 3 2 1 0 7 6 5 4 最低级 最高级 最高级 最低级 优先级 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 默认优先级 优先级可编程改变 中断优先方式与中断嵌套 续 循环优先级方式中断源轮流处于最高优先级 即自动中断优先级循环初始优先级顺序可用编程改变某中断请求IRi被处理后 其优先级别自动降为最低 原来比它低一级的中断上升为最高级 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 7 6 5 4 3 2 1 0 2 1 0 7 6 5 4 3 最低级 最高级 最高级 最低级 ISR内容 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 IR4的服务结束以前 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 IR4的服务结束以后 ISRi 7 5 38259A的工作方式 3 中断屏蔽方式IMR屏蔽字决定了允许或禁止某位IRi所对应的中断 IMi 1禁止 IMi 0允许 特殊屏蔽方式 提供了允许较低优先级的中断能够得到响应的特殊手段 原理 假定当前正在处理IR6 先进入特殊屏蔽方式 然后设置IM6 1 这时 除IR6外的所有中断请求均能得到响应 特殊屏蔽方式中只能用SEOI命令结束中断 7 5 38259A的工作方式 4 中断结束方式当某一IRi被中断服务时 ISR中的相应位ISRi 1 当服务结束后 则必须清零该ISRi位 使ISRi 0是通过向8259A发出中断结束命令 EOI命令 实现的 三种EOI命令自动EOI AEOI 自动EOI方式 非指定EOI NSEOI 正常EOI方式 指定EOI SEOI 特殊EOI方式 AEOI 在第2个INTA 结束时 由8259A使ISRi自动复位 因不保留当前正在服务的中断状态 故AEOI不能用于中断嵌套方式SEOI 由CPU发出一条SEOI命令 该EOI命令中指出了所要复位的ISR的位号 用于特殊屏蔽方式NSEOI 由CPU发出正常EOI命令 该EOI命令使ISRi 1的位中优先级最高的那一位复位 用于普通全嵌套方式 中断服务程序 向从PIC发EOI命令 读从PIC的ISR 全0 向主PIC发EOI命令 Y IRET 恢复现场 N 特殊全嵌套方式下的EOI处理只有当从PIC的中断全部处理完后 才能向主PIC发EOI命令 7 5 38259A的工作方式 5 中断触发方式边沿触发IRi出现上升沿表示有中断请求电平触发IRi出现高电平表示有中断请求在第1个INTA 结束前 IRi必须保持高电平 7 5 38259A的工作方式 6 级联工作方式单片8259A可支持8个中断源 采用多片8259A级连 可最多支持64个中断源 级连时只能有一片8259A为主片 其余的均为从属片 涉及到的8259A引脚包括 CAS0 CAS2SP EN IRiINT 级连电路连接方法 7 5 38259A的工作方式 7 查询方式8259A的INT引脚不能连接CPU的INTR引脚 或者CPU处于关中断状态 查询时由CPU将8259A设置成查询工作方式 再由CPU读入 查询字 分析 8 对8259状态读取8259内部的3个寄存器 7 5 48259A的编程 8259A的控制命令分为初始化命令字ICWICW1 ICW4向8259A写入ICW的过程称为初始化编程操作命令字OCWOCW1 OCW3向8259A写入OCW的过程称为操作方式编程 8259A内部寄存器的寻址方法 需要CS A0 RD WR 和D4 D3的配合内部寄存器的访问方法如下表 8259A的初始化顺序 8259的初始化流程如图注意次序不可颠倒 写ICW1 写ICW2 级连 写ICW3 需ICW4 写ICW4 N N Y Y 8259A的控制命令字 初始化8259A必须从ICW1开始写ICW1意味着重新初始化8259A写入ICW1后 8259A的状态如下 清除ISR和IMR 全0 将中断优先级设成初始状态 IR0最高 IR7最低 设定为一般屏蔽方式 采用非自动中断结束方式 状态读出逻辑预置为读IRR ICW1 初始化字 LTIM 触发方式 1高电平触发 0上升沿触发SNGL 级连控制 1单片 0级连IC4 ICW4控制 1要写ICW4 0不写ICW4 默认ICW4为全0 A0D7D6D5D4D3D2D1D00 xxx1LTIMxSNGLIC4 ICW2 中断向量码 T7 T3 中断向量码的高5位T2 T0 最低3位为中断源的序号IRn000 111分别对应IR0 IR7由8259A根据中断源的序号自动填入例如 若ICW2命令字为48H 则IR0的中断向量码为48H IR7的中断向量码为4FH A0D7D6D5D4D3D2D1D01T7T6T5T4T3xxx ICW3 级连控制字 主片的级联控制字Si 1对应IRi线上连接了从片 A0D7D6D5D4D3D2D1D01S7S6S5S4S3S2S1S0 从片的级联控制字ID2 ID0标识码 说明本从片连接到主片的哪个IR引脚上 000 111分别对应IR0 IR7 A0D7D6D5D4D3D2D1D0100000ID2ID1ID0 ICW3 级连控制字 续 ICW3必须与主从片的连接关系一致 例如 主片的IR4与从片的INT线连接 则主片的ICW3 10H 从片的ICW3 04H 中断响应时 主片通过级连线CAS2 CAS0送出被允许中断的从片标识码 各从片用自己的ICW3与CAS2 CAS0比较 二者一致的从片才可发送中断向量码 ICW4 中断结束方式字 SFNM 特殊全嵌套1特殊全嵌套方式0一般全嵌套方式AEOI 自动EOI1自动EOI方式0非自动EOI方式 A0D7D6D5D4D3D2D1D01000SFNMBUFM SAEOI1 BUF 缓冲方式M S 主 从缓冲选择BUFM S11缓冲方式 主PIC10缓冲方式 从PIC0 x非缓冲方式 正常 8259A的操作命令字OCW OCW用于设置8259的工作状态在初始化后写入OCW的写入顺序可任意写入地址要求 OCW1必须写入奇地址端口 A0 1 OCW2 OCW3必须写入偶地址端口 A0 0 OCW1 中断屏蔽字 Mi 1中断请求线IRi被屏蔽 不允许中断 0允许该IRi中断OCW1将写入IMR寄存器 A0 1时读OCW1可读出设置的IMR内容 A0D7D6D5D4D3D2D1D01M7M6M5M4M3M2M1M0 OCW2 中断结束和优先级循环 R 优先级自动循环SL 指定优先级EOI 结束中断命令L2 L0 优先级编码RSLEOI001非指定EOI命令 NSEOI 全嵌套方式011指定EOI命令 SEOI 全嵌套方式101NSEOI命令 优先级自动循环100自动EOI 设置优先级自动循环000自动EOI 取消优先级自动循环 固定优先级 111SEOI命令 按L2 L0编码循环优先级 L2 L0设为最低优先级 110按L2 L0编码循环优先级 L2 L0设为最低优先级 A0D7D6D5D4D3D2D1D00RSLEOI00L2L1L0 OCW3 屏蔽方式和读出控制字 ESMM 允许使能特殊屏蔽方式SMM 特殊屏蔽方式ESMMSMM11特殊屏蔽方式置位10特殊屏蔽方式复位0 x非特殊屏蔽方式P Polling 1查询方式 0非查询方式 A0D7D6D5D4D3D2D1D00 xESMMSMM01PRRRIS RR 读寄存器RIS ISR IRR选择RRRIS11读ISR10读IRR0 x无效 OCW3 续 查询方式允许8259A不工作于中断方式 而是以查询方式工作 CPU先写一个D2 1的OCW3 再对同一地址读入 即可得到如下状态字节 IxxxxR2R1R0I 1表示有中断请求 中断请求号为R2 R0此查询步骤可反复执行 以响应多个同时发生的中断 读IRR ISR 写入此命令后 随后再对同一地址读 即可得到IRR或ISR的内容 8259A编程举例 按以下要求初始化8259A 接口地址为20H和21H 中断为上升沿触发 单片8259A 不写ICW4 与IR0 IR3对应的中断向量码为08H 0BH IR4 IR7不使用 根据要求 各初始化参数及工作参数如下 ICW1 00010010 12HICW2 08H中断向量码OCW1 11110000 0F0H中断屏蔽字 8259A编程举例 续 初始化程序如下 INIT8259A MOVDX 20H A0 0 写ICW1MOVAL 12H 上升沿触发 单片 不写ICW4OUTDX ALMOVDX 21H A0 1 写ICW2 OCW1MOVAL 08H ICW2OUTDX ALMOVAL 0F0H OCW1 屏蔽IR4 IR7OUTDX AL
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!