




已阅读5页,还剩65页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九章微机信息传递方式中断系统 陆尧胜谢军主讲暨南大学信息科学技术学院电子工程系 微机系统与接口 2 教学目标 了解三种不同的微机信息传递方式 掌握其软件和硬件设计方法 教学重点 微机信息传递方式及其特点 教学难点 中断技术 3 8 1输入输出的控制方式 主机与外设之间数据传送的控制方式有以下四种 无条件传送查询式传送中断方式传送直接存储器存取 DMA DirectMemoryAccess 4 8 1 1无条件传送方式 适用于总是处于准备好状态的外设以下外设可采用无条件传送方式 开关发光器件 如发光二极管 7段数码管 灯泡等 继电器步进电机优点 软件及接口硬件简单缺点 只适用于简单外设 适应范围较窄 5 8 1 2查询方式传送 适用于外设并不总是准备好 而且对传送速率 传送效率要求不高的场合 CPU在与外设交换数据前必须询问外设状态 你准备好没有 对外设的要求 应提供设备状态信息对接口的要求 需要提供状态端口优点 软件比较简单缺点 CPU效率低 数据传送的实时性差 速度较慢 6 查询方式的流程图 超时 READY 与外设进行数据交换 超时错 读入并测试外设状态 Y N Y N 传送完 防止死循环 复位计时器 N Y 输入演示 输出演示 7 D5 D7 D0 A9 A3 1 A15 A10 1 IOW D7 D0 3F8H 外设 D7D6D5D4D3D2D1D0 BUSY CP Q7Q6Q5Q4Q3Q2Q1Q0 状态端口 GG2AG2BCBA A2A1A0 74LS138 Y0 1 IOR Y3 OE 74LS374 CP Q Q D S STROBE 3FBH 8 例 电路图如上 用查询方式进行输出 外设状态端口地址为3FBH 第5位 bit5 为状态标志 1忙 0准备好 外设数据端口地址为3F8H 写入数据会使状态标志置1 外设把数据读走后又把它置0 9 8 1 3中断方式传送 CPU无需循环查询外设状态 而是外部设备在需要进行数据传送时才中断CPU正在进行的工作 让CPU来为其服务 即CPU在没有外设请求时可以去做更重要的事情 有请求时才去传输数据 从而大大提高了CPU的利用率 优点 CPU效率高 实时性好 速度快 缺点 程序编制较为复杂 10 8 1 4DMA传输 前面三种I O方式都需要CPU作为中介 外设CPU内存两个含义 1 软件 外设与内存之间的数据传送是通过CPU执行程序来完成的 2 硬件 I O接口和存储器的读写控制信号 地址信号都是由CPU发出的 总线由CPU控制 缺点 程序的执行速度限定了传送的最大速度 约为几十KB 秒 解决 DMA传输 11 DMA传输 外设内存外设直接与存储器进行数据交换 CPU不再担当数据传输的中介者 总线由DMA控制器 DMAC 进行控制 CPU要放弃总线控制权 内存 外设的地址和读写控制信号均由DMAC提供 优点 数据传输由DMA硬件来控制 数据直接在内存和外设之间交换 可以达到很高的传输速率 可达几MB 秒 12 8 2中断技术 8 2 1中断的基本概念什么是中断 与生活场景的比较 正在看书 电话铃响 接电话 继续看书 执行程序 事件发生 事件处理 继续执行程序 中断处理 中断请求及响应 实际场景 计算机 中断返回 13 中断的定义 CPU执行程序时 由于发生了某种随机的事件 外部或内部 引起CPU暂时中断正在运行的程序 转去执行一段特殊的服务程序 称为中断服务程序或中断处理程序 以处理该事件 该事件处理完后又返回被中断的程序继续执行 这一过程称为中断 14 中断源 引起CPU中断的事件 中断源 例如 外设 请求输入输出数据 报告故障等事件 掉电 硬件故障 软件错误 非法操作 定时时间到等中断源分为 外部中断 内部中断内部中断 CPU内部执行程序时自身产生的中断外部中断 CPU以外的设备 部件产生的中断8086 8088的外部中断信号 INTR NMIINTR 可屏蔽中断请求 高电平有效 受IF标志的控制 IF 1时 执行完当前指令后CPU对它作出响应 NMI 非屏蔽中断请求 上升沿有效 任何时候CPU都要响应此中断请求信号 15 为何计算机中要引入中断 提高数据传输率 避免了CPU不断检测外设状态的过程 提高了CPU的利用率 实现对特殊事件的实时响应 16 8 2 2中断过程 五个步骤 中断请求中断判优 有时还要进行中断源识别 中断响应中断服务中断返回以下以外部中断为主介绍这五个步骤 17 1 中断请求 外设接口 中断源 发出中断请求信号 送到CPU的INTR或NMI引脚 中断请求信号 边沿请求 电平请求例如 NMI为边沿请求 INTR为电平请求中断请求信号应保持到中断被处理为止 CPU响应中断后 中断请求信号应及时撤销 在8086 8088系统中 外设的中断要经过8259A可编程中断控制器 PIC 的排队判优后向CPU发出 I O接口 PIC CPU 18 2 1 中断源识别 计算机中的中断源有很多 CPU必须识别是哪一个设备产生中断 识别中断源有两个方法 软件查询 将中断信号从数据总线读入 用程序进行判别 中断矢量法 由中断源提供中断类型号 CPU根据类型确定中断源 8086 8088即采用此种方法 19 2 2 中断判优 多个中断源产生中断 CPU首先为谁服务 中断优先级排队问题 中断优先级控制要处理两种情况 对同时产生的中断 应首先处理优先级别较高的中断 若优先级别相同 则按先来先服务的原则处理 对非同时产生的中断 低优先级别的中断处理程序允许被高优先级别的中断源所中断 即允许中断嵌套 中断优先级的控制方法硬件判优 链式判优 并行判优 中断向量法 软件判优 顺序查询中断请求 先查询的先服务 即先查询的优先级别高 通常将中断判优与中断源识别合并在一起进行处理 x86系统中 这项任务由PIC和CPU共同完成 20 INTAin CPUINTAINTR 外设1 外设2 外设接口1 菊花链逻辑电路 外设接口2 外设3 外设接口3 1 菊花链逻辑电路 菊花链逻辑电路 IREQ IREQ IREQ 中断确认 链式判优电路原理图 INTAin INTAin 中断确认 中断确认 21 菊花链逻辑电路 INTAin IREQ INTR 1 INTAout DB 三态门 中断向量码 E 外设接口 中断确认 菊花链逻辑电路 22 3 中断响应 在每条指令的最后一个时钟周期 CPU检测INTR或NMI信号 若以下条件成立 则CPU响应中断 当前指令执行完 对INTR 还应满足以下条件当前指令是STI和IRET 则下条指令也要执行完 当前指令带有LOCK REP等指令前缀时 则把它们看成一个整体 要求完整地执行完 对INTR CPU应处于开中断状态 即IF 1 当前没有复位 RESET 和保持 HOLD 信号 若NMI和INTR同时发生 则首先响应NMI 23 3 中断响应 续 CPU中断响应时 要做下述三项工作 向中断源发出INTA中断响应信号 断点保护 包括CS IP和PSW FLAGS 这主要是保证中断结束后能返回被中断的程序 获得中断服务程序首地址 入口 如何得到中断处理程序的首地址 固定入口法中断向量法 常用 24 4 中断处理 中断服务 中断服务子程序特点为 远 过程 类型为FAR 要用IRET指令返回中断服务子程序要做的工作保护现场 PUSHreg s 开中断 STI 进行中断处理恢复现场 POPreg s 中断返回 IRET 25 5 中断返回 执行中断返回指令IRETIRET指令将使CPU把堆栈内保存的断点信息弹出到IP CS和FLAG中 保证被中断的程序从断点处能够继续往下执行 IPL IPH CSL CSH FLAGL FLAGH SP IPL IPH CSL CSH FLAGL FLAGH SP IP CS FLAG 进入中断服务程序时 中断返回后 26 8 2 38088的中断系统 与中断有关的控制线为 NMI INTR INTA 8088系统的中断源内部中断除法溢出 类型号0 商大于目的操作数所能表达的范围时产生 单步中断 类型号1 TF 1时产生 当前指令需执行完 断点中断 类型号3 这是一个软件中断 即INT3指令 溢出中断 类型号4 这是一个软件中断 即INTO指令 软件中断 即INTn指令 类型号n 0 255 外部中断非屏蔽中断NMI 类型号2 不可用软件屏蔽 CPU必须响应它 可屏蔽中断INTR 类型号由PIC提供 IF 1时CPU才能响应 27 NMI INTR 中断逻辑 软件中断指令 溢出中断 除法错 单步中断 非屏蔽中断请求 中断控制器8259APIC 8086 8088CPU内部逻辑 断点中断 8086 8088中断源类型 可屏蔽中断请求 n 4 3 0 1 2 28 中断源的识别 8088系统采用中断类型码来识别不同的中断源 每个中断源都有一个与它相对应的中断类型码 溢出 断点 除法溢出 单步 非屏蔽中断的类型码为固定值软件中断的类型码由指令给出可屏蔽中断的类型码由PIC给出CPU响应INTR中断时 会产生两个中断响应总线周期 要求PIC在第2个中断响应总线周期把中断类型码放到数据总线上 供CPU读入 29 中断向量表 IVT 存放各类中断的中断服务程序的入口地址 段和偏移 中断向量表的地址位于内存的00000H 003FFH 大小为1KB 共256个中断向量每个中断向量占用4Bytes 低字为段内偏移 高字为段基址根据中断类型号获得中断服务程序入口的方法 n为中断类型号 中断向量在IVT中的存放地址 4 n 30 中断向量表的初始化 初始化 将中断服务程序的入口地址放入向量表例 中断类型码为48H的中断处理子程序的名字为int48h 编写程序段将该中断处理子程序的入口地址放入向量表 31 中断向量表的初始化 CLI 关中断MOVAX 0MOVDS AXMOVSI 48H 4 表的地址指针DS SIMOVAX OFFSETint48hMOV SI AX 送中断入口之偏移地址MOVAX SEGint48hMOV SI 2 AX 送中断入口之段基址STI 开中断 32 8086 8088CPU的中断响应过程 内部中断响应过程无INTA 周期中断类型码固定或由指令给出响应过程主要步骤 CPU自动完成 PUSHFLAG IF 0 PUSHCS PUSHIP 取中断向量送入IP和CS 33 中断响应过程 续 外部中断响应过程非屏蔽中断 与内部中断响应过程类似可屏蔽中断 INTA 1 PIC进行优先级排队判优处理 INTA 2 PIC把中断类型码n放到DB上 CPU读入 PUSHFLAG IF 0 PUSHCS PUSHIP 取中断向量送入IP和CS 与内部中断一样 CPU自动完成 34 8088系统中各中断的优先级 优先级从高到低顺序如下 内部中断NMIINTR单步中断 35 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的中断处理流程 36 NMI INTR 单步和除法错中断同时产生时的中断处理过程 DIV TF 1IF 1 INTR NMI PUSHFLAGS CS IPCLEARIF TF 中断入口 CS IP 除法错 NMI IF TF 0 PUSHFLAGS CS IPCLEARIF TF 中断入口 CS IP NMI中断处理程序 除法错中断处理程序 IF TF 0 返回 执行下条指令 识别出INTR IF TF 1 返回 INTR仍然有效 继续单步执行程序 INTR中断处理程序 INTR PUSHFLAGS CS IPCLEARIF TF 中断入口 CS IP 单步 IF TF 0 PUSHFLAGS CS IPCLEARIF TF 中断入口 CS IP 单步中断处理程序 IF TF 0 返回 IF TF 1 返回 37 8 3可编程中断控制器8259A PIC ProgrammableInterruptController可对8个中断源实现优先级控制可扩展至对64个中断源实现优先级控制可编程设置不同工作方式根据中断源向x86提供不同中断类型码引脚分配及功能 38 8 3 1可编程中断管理芯片8259A 一 8259A的内部结构 39 8259A的内部结构中断请求寄存器IRR保存从IR0 IR7来的中断请求信号 某位 1表示对应的IRi有中断请求中断服务寄存器ISR保存所有正在服务的中断源 某位 1表示对应的IRi中断正在被服务中断屏蔽寄存器IMR 区别于CPU的标志寄存器的IF 存放中断屏蔽字 某位 1表示对应的IRi输入被屏蔽中断优先权判别电路确定是否向CPU发出中断请求 中断响应时确定ISR的哪位应置位及把相应中断的类型码放到数据总线上 40 IRR InterruptRequestRegisterPR PriorityResolverISR InterruptServiceRegisterIMR InterruptMaskRegisterICWs InitializationCommandWordsOCWs OperationCommandWords7个CPU可访问的寄存器 分两组 初始化命令字ICW1 ICW4 系统初启时设定 操作命令字OCW1 OCW3 系统运行时 由应用程序设定 实现对中断处理的动态管理和控制 TheOCWscanbewrittenintothe8259Aanytimeafterinitialization 手册P6 137 8259A的内部结构 41 8 3 28259A的工作过程 8259A对中断请求的处理过程如下 当某IRi有效时 IRR相应位置1若有效的IRi未被屏蔽 则向CPU发出中断请求检测到第1个INTA 信号后 置ISRi 1 IRRi 0 8259A INTA接CPU INTA INT接CPU INTR 检测到第2个INTA 信号后 把ISRi 1中最高优先级的中断类型码放到DB上若工作在AEOI方式 在第2个INTA 结束时 使ISRi复位 否则由CPU发出EOI命令使ISRi复位 42 8 3 38259A的工作方式 8259A的工作方式有如下几类 中断优先方式与中断嵌套中断结束处理方式屏蔽中断源的方式中断触发方式级联工作方式 43 中断优先方式与中断嵌套 中断优先方式两类优先级控制方式 固定优先级和循环优先级固定优先级方式所有中断请求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 默认优先级 优先级可编程改变 44 中断优先方式与中断嵌套 续 循环优先级方式中断源轮流处于最高优先级 即自动中断优先级循环初始优先级顺序可用编程改变某中断请求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 45 中断优先方式与中断嵌套 续 中断嵌套方式在中断处理过程中允许被更高优先级的事件所中断称为中断嵌套 8259A有两种中断嵌套方式 普通全嵌套方式 默认方式 一中断正被处理时 只有更高优先级的事件可以打断当前的中断处理过程而被服务 特殊全嵌套方式一中断正被处理时 允许同级或更高优先级的事件可以打断当前的中断处理过程而被服务 注 特殊全嵌套仅用于多个8259A级连时的主8259A 而不能用于从属8259A或单8259A系统 46 中断结束处理方式 当某一IRi中断被服务时 ISR中的相应位ISRi 1 当服务结束后 则必须清零该ISRi位 使ISRi 0是通过向8259A发出中断结束命令 EOI命令 实现的 三种EOI命令自动EOI AEOI 自动EOI方式 非指定EOI NSEOI 正常EOI方式 指定EOI SEOI 特殊EOI方式 47 AEOI 在第2个INTA 结束时 由8259A使ISRi自动复位 因不保留当前正在服务的中断的状态 故AEOI不能用于中断嵌套方式SEOI 由CPU发出一条SEOI命令 该EOI命令中指出了所要复位的ISR的位号 用于特殊屏蔽方式NSEOI 由CPU发出正常EOI命令 该EOI命令使ISRi 1的位中优先级最高的那一位复位 用于普通全嵌套方式 48 屏蔽中断源的方式 IMR屏蔽字决定了允许或禁止某位IRi所对应的中断 IMi 1禁止 IMi 0允许 特殊屏蔽方式 提供了允许较低优先级的中断能够得到响应的特殊手段 原理 假定当前正在处理IR6 先进入特殊屏蔽方式 然后设置IM6 1 这时 除IR6外的所有中断请求均能得到响应 特殊屏蔽方式中只能用SEOI命令结束中断 49 特殊屏蔽例 IR4中断处理程序CLIMOVAL 68H OCW3 01101000OUT0C0H AL 设置特殊屏蔽方式INAL 0C2HORAL 10H 屏蔽IR4OUT0C2H ALSTI IR7请求 响应 返回 CLI 为设命令字INAL 0C2H 读出屏蔽字ANDAL 0EFH 清除IMR4OUT0C2H ALMOVAL 48H OCW3 01001000OUT0C0H AL 取消特殊屏蔽STI 继续IR4中断服务MOVAL 20H OCW2 00100000 EOI OUT0C0 ALIRET 50 中断触发方式 边沿触发IRi出现上升沿表示有中断请求电平触发IRi出现高电平表示有中断请求在第1个INTA 结束前 IRi必须保持高电平 51 8 3 48259A的编程与使用 8259A的控制命令分为初始化命令字ICWICW1 ICW4向8259A写入ICW的过程称为初始化编程操作命令字OCWOCW1 OCW3向8259A写入OCW的过程称为操作方式编程 52 8259A内部寄存器的寻址方法 需要CS A0 RD WR 和D4 D3的配合内部寄存器的访问方法如下表 53 8259A的初始化顺序 8259的初始化流程如图注意次序不可颠倒 写ICW1 写ICW2 级连 写ICW3 需ICW4 写ICW4 N N Y Y 54 8259A的控制命令字 初始化8259A必须从ICW1开始写ICW1意味着重新初始化8259A写入ICW1后 8259A的状态如下 清除ISR和IMR 全0 将中断优先级设成初始状态 IR0最高 IR7最低 设定为一般屏蔽方式 采用非自动中断结束方式 状态读出逻辑预置为读IRR 55 ICW1 初始化字 LTIM 触发方式 1高电平触发 0上升沿触发SNGL 级连控制 1单片 0级连IC4 ICW4控制 1要写ICW4 0不写ICW4 默认ICW4为全0 A0D7D6D5D4D3D2D1D00 xxx1LTIMxSNGLIC4 56 ICW2 中断向量码 T7 T3 中断向量码的高5位T2 T0 最低3位为中断源的序号IRn000 111分别对应IR0 IR7由8259A根据中断源的序号自动填入 依次为0 7 例如 若ICW2命令字为48H 则IR0的中断向量码为48H IR7的中断向量码为4FH 等等 A0D7D6D5D4D3D2D1D01T7T6T5T4T3xxx 57 ICW3 级连控制字 主片的级联控制字Si 1对应IRi线上连接了从片 A0D7D6D5D4D3D2D1D01S7S6S5S4S3S2S1S0 从片的级联控制字ID2 ID0标识码 说明本从片连接到主片的哪个IR引脚上 000 111分别对应IR0 IR7 A0D7D6D5D4D3D2D1D0100000ID2ID1ID0 58 ICW4 中断结束方式字 SFNM 特殊全嵌套1特殊全嵌套方式0一般全嵌套方式AEOI 自动EOI1自动EOI方式0非自动EOI方式 A0D7D6D5D4D3D2D1D01000SFNMBUFM SAEOI1 BUF 缓冲方式M S 主 从缓冲选择BUFM S11缓冲方式 主PIC10缓冲方式 从PIC0 x非缓冲方式 正常 59 8259A的操作命令字OCW OCW用于设置8259的工作状态在初始化后写入OCW的写入顺序可任意写入地址要求 OCW1必须写入奇地址端口 A0 1 OCW2 OCW3必须写入偶地址端口 A0 0 60 OCW1 中断屏蔽字 Mi 1中断请求线IRi被屏蔽 不允许中断 0允许该IRi中断OCW1将写入IMR寄存器 A0 1时读OCW1可读出设置的IMR内容 A0D7D6D5D4D3D2D1D01M7M6M5M4M3M2M1M0 61 OCW2 中断结束和优先级循环 L2 L0 优先级编码R 优先级自动循环SL 指定优先级EOI 结束中断命令RSLEOI001非指定EOI命令 NSEOI 全嵌套方式011指定EOI命令 SEOI 全嵌套方式 按L2 L0编码复位ISR101NSEOI命令 优先级自动循环100自动EOI 设置优先级自动循环000自动EOI 取消优先级自动循环 固定优先级 111SEOI命令 按L2 L0编码循环优先级 L2 L0设为最低优先级 110按L2 L0编码循环优先级 L2 L0设为最低优先级 A0D7D6D5D4D3D2D1D00RSLEOI00L2L1L0 62 OCW3 屏蔽方式和读出控制字 ESMM 允许使能特殊屏蔽方式SMM 特殊屏蔽方式ESMMSMM11特殊屏蔽方式置位10特殊屏蔽方式复位0 x非特殊屏蔽方式P Polling 1查询方式 0非查询方式 A0D7D6D5D4D3D2D1D000ESMMSMM01PRRRIS RR 读寄存器RIS ISR IRR选择RRRIS11读ISR10读IRR0 x无效 63 OCW3 续 查询方式允许8259A不工作于中断方式 而是以查询方式工作 CPU先写一个D2 1的OCW3 再对同一地址读入 即可得到如下状态字节 IxxxxR2R1R0I 1表示有中断请求 中断请求号为R2 R0此查询步骤可反复执行 以响应多个同
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程合同保修协议书范本
- 课程上课合同协议书范本
- 窗帘课件教学课件
- 心理健康课件案例
- 2025版工伤赔偿协议模板与操作指南
- 二零二五年度电子设备运输承包合同汇编
- 二零二五版模特与时尚品牌长期合作合同
- 2025版公路运输物流信息化改造合同
- 2025年房地产买卖合同范本:含房地产交易风险提示与防范
- 二零二五年度高科技项目股份认购合同
- DB31/T 866-2014博物馆、美术馆服务规范
- 2025年老年人社会工作专业复习试题及答案
- 《中国古代外交》课件
- 人教版二年级下册第四单元 五十六朵花歌表演 我的家在日喀则教学设计及反思
- 幼儿园教职工大会制度
- 2025年药企翻译面试题及答案
- 医药仓库建设施工合同范本
- 前列腺癌内分泌治疗的护理
- 保密信息化培训
- 《设备管理制度讲》课件
- 广西百色工业投资发展集团有限公司招聘笔试真题2023
评论
0/150
提交评论