欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    中断系统与中断控制器.ppt

    • 资源ID:77656190       资源大小:683.50KB        全文页数:92页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    中断系统与中断控制器.ppt

    主讲:禹定臣主讲:禹定臣主讲:禹定臣主讲:禹定臣微机原理及接口技术微机原理及接口技术信息工程学院信息工程学院第第7章章 8086中断系统与中中断系统与中断控制器断控制器微机原理与接口技术微机原理与接口技术 中断的基本概念中断的基本概念 8086中断系统中断系统 中断处理过程中断处理过程 可编程中断控制器可编程中断控制器8259A主要内容主要内容7.1 7.1 概述概述中断申请主程序中断服务程序返回图7.1 中断示意图1.什么是中断?什么是中断?7.1.1 基本概念基本概念(1)实现CPU 与外设的并行工作,提高了 CPU 的效率。(2)实现实时处理。(3)实现故障处理。2.应用中断技术的优点应用中断技术的优点引起中断的原因,产生中断请求的来源。通常有以下几种:一般的I/O 设备,如键盘、打印机等。实时时钟。硬件故障。中断指令或软件故障,如程序错、运算 错、调试程序而设置的中断(例如设置 断点,单步运行等)。3.中断源(1)实现断点地址的保护与恢复。(2)实现现场信息的保护。(3)实现中断优先级的排队。(4)实现中断的嵌套。中断服务2(高优先级)主程序中断服务14.中断系统的功能5.中断优先级 当多个中断源请求中断时,CPU响应优先级高的中断,挂起优先级低的中断。当CPU运行中断服务子程序时,又有新的更高优先级中断申请进入,CPU要挂起原中断进入更高级的中断服务子程序,实现中断嵌套。7.1.2 实现中断优先级的方法实现中断优先级的方法 软件查询方式 硬件方式 菊花链法 矢量中断优先级1.软件查询方式软件查询方式图7.2 软件查询优先级管理电路图7.3 软件查询中断流程图采用软件查询方式的特点:采用软件查询方式的特点:询问的次序,即为优先权的次序。硬件简单。由查询转至相应的服务程序的时间长,尤其在中断源较多的情况。2.2.硬件方式硬件方式图7.4 菊花链优先级排队电路图7.5 菊花链逻辑电路3.矢量中断优先级矢量中断优先级 利用专用的可编程中断控制器管理中断优先级,又称专用芯片中断管理方式。典型的可编程中断控制器是8259A。8086的中断系统的中断系统8086有256种中断,分为两大类:7.2.1 中断类型中断类型 外部中断(硬件中断)内部中断(软件中断)图7.6 8086中断类型1.外部中断外部中断 (硬件中断)(硬件中断)(1)非屏蔽中断)非屏蔽中断 NMI(类型号类型号2)有效,不受FR 中IF 的影响,常用于 处理系统的重大故障。(2)可屏蔽的中断)可屏蔽的中断INTR 高电平有效,CPU 是否响应,取决于 FR 中IF 的状态。常用于各种外设的中断。2.内部中断(软件中断)内部中断(软件中断)通常由三种情况引起:通常由三种情况引起:(1)INT n 指令中断指令中断(n 为中断类型号)为中断类型号)(2)处理)处理 CPU 某些错误的中断某些错误的中断 除法错中断(中断类型号0)溢出中断(INTO)(中断类型号4)(3)为调试程序设置的中断)为调试程序设置的中断 单步中断当 FR 中TF=1时,每执行一条指令,CPU 产生类型为1 的单步中断。断点中断设置断点实际上是把指令“INT 3”插入到程序中,CPU 每执行到断点处的 “INT 3”指令,便产生类型为3 的中断。8086 系统中,中断优先级的次序为:系统中,中断优先级的次序为:高高低低内部中断内部中断(除法错、除法错、INTO、INT n)NMIINTR单步中断单步中断7.2.2 中断优先级中断优先级7.3 中断处理过程中断处理过程一个完整的中断处理过程为:一个完整的中断处理过程为:中断请求(中断源提出)中断请求(中断源提出)中断检测(判断是何种类型中断)中断检测(判断是何种类型中断)中断响应中断响应 执行中断服务程序执行中断服务程序 中断返回中断返回 8086CPU对中断的响应流程对中断的响应流程 CPU响应中断要有三个条件:响应中断要有三个条件:外设提出中断申请;外设提出中断申请;本中断位未被屏蔽;本中断位未被屏蔽;中断允许(可用指令中断允许(可用指令STI开中断)。开中断)。满足上述条件,则满足上述条件,则CPU在当前指令执行完后响在当前指令执行完后响应中断。应中断。1.一般的中断响应过程一般的中断响应过程图7.7 中断响应流程 CPU 在每一个指令周期的最后一个总线周在每一个指令周期的最后一个总线周期的最后一个期的最后一个T状态采样状态采样INTR 或或NMI 信号线。信号线。若发现有中断申请,则不进入取指周期,而转入若发现有中断申请,则不进入取指周期,而转入中断响应周期。中断响应周期。下面以下面以INTR 为例,说明为例,说明8086 CPU 响应响应中断的过程。中断的过程。2.8086CPU响应外部中断的过程响应外部中断的过程执行一条指令执行一条指令最后一个总线周期的最后一个最后一个总线周期的最后一个T状态?状态?有有INTR?中断开放?中断开放?(FR中的中的IF=1?)关中断关中断CLI(置置FR中中IF=0)断点地址断点地址(IP.CS)入栈入栈FR 入栈入栈转入相应中断服务程序转入相应中断服务程序保护现场保护现场中断服务处理中断服务处理恢复现场恢复现场开中断开中断STI(置置FR中中IF=1)中断返回中断返回IRET取下一条指令取下一条指令NoNoNoYesYesYes图图7.8 8086CPU 响应响应 INTR 的过程的过程讨论:讨论:(1)为什么要在中断服务程序中执行)为什么要在中断服务程序中执行 STI 指令?指令?(2)STI 指令在中断服务程序中的不同指令在中断服务程序中的不同 位置时,对位置时,对CPU 处理中断有何影响?处理中断有何影响?CPU 响应中断后,如何得到中断服务程响应中断后,如何得到中断服务程序的入口地址,转入到中断服务程序?序的入口地址,转入到中断服务程序?8086CPU 通过建立中断向量表的方法解决。通过建立中断向量表的方法解决。7.3.2 中断向量和中断向量表中断向量和中断向量表1.中断向量表中断向量表图图7.9 中断向量表中断向量表 中断向量中断向量(中断服中断服务程序入口地址务程序入口地址)在表中在表中的地址的地址=中断类型号中断类型号 4 BIOS 负责负责01FH 共共32个中断向量的装个中断向量的装入。用户若想装入自己的中断向量到向量表中入。用户若想装入自己的中断向量到向量表中的,可用以下方法:的,可用以下方法:2.中断向量的装入中断向量的装入(1)用)用STOS 指令填空中断向量表指令填空中断向量表假设类型号假设类型号60H 的中断向量为的中断向量为 CLICLDMOVAX,0MOVES,AXMOV DI,4 60H;DI 指向表中对应位置指向表中对应位置MOVAX,OFFSET_INTR;取偏移地址取偏移地址STOSW;ALDI,AHDI+1,DI+2DIMOV AX,SEG_INTR;取段基址取段基址STOSWSTI SEG_INTR:OFFSET_INTR。(2)利用)利用MOV 指令写入中断向量指令写入中断向量 CLIMOVAX,00HMOVES,AXMOVBX,4 60H;BX 指向表中对应位置指向表中对应位置MOVAX,OFFSET_INTRMOVES:BX,AX;装入装入偏移偏移地址地址MOVAX,SEG_INTRMOVES:BX+2,AX;装入段基址装入段基址(3)利用)利用DOS 功能调用功能调用“INT 21H”的的 AH=25 H 装入中断向量装入中断向量MOVAL,60H;类型号类型号ALMOVAH,25H;功能号功能号25HAHMOVDX,SEG_INTRMOVDS,DXMOVDX,OFFSET_INTR;DS:DX=中断向量中断向量INT21H图7.10 8086转入中断处理程序的过程3.8086CPU转入中断服务程序的过程转入中断服务程序的过程(1)取类型号;)取类型号;(2)计算向量地址;)计算向量地址;(3)根据向量地址查表,将偏移地址送)根据向量地址查表,将偏移地址送 IP,段基址送段基址送CS;(4)转入中断服务程序,进行中断处理。转入中断服务程序,进行中断处理。7.4 7.4 8259A可编程中断控制器可编程中断控制器 在在PC机机中中,可可以以使使用用可可编编程程中中断断控制器控制器 Intel 8259A 来来扩展外部中断。扩展外部中断。(2)每一级中断均可以屏蔽。)每一级中断均可以屏蔽。(3)在中断响应周期,)在中断响应周期,8259A 可提供相应的可提供相应的 中断向量。中断向量。(4)可编程使)可编程使8259A 工作在多种不同的方式。工作在多种不同的方式。(1)1片片8259A 能管理能管理8级中断,通过级联用级中断,通过级联用 9片片8259A可构成可构成64 级主从式中断系统。级主从式中断系统。8259A的的主要功能:主要功能:图7.11 8259A 内部结构逻辑框图7.4.1 8259A内部结构与引脚信号内部结构与引脚信号1.数据总线缓冲器数据总线缓冲器 8位、双向、三态位、双向、三态缓冲器缓冲器,8259A通过它与通过它与 CPU 进行进行数据和命令的传送。数据和命令的传送。D0D7直接与直接与CPU 数据总线的低数据总线的低8位连接。位连接。2.读/写控制逻辑CPU 通常利用:通常利用:OUT 指令,指令,IN 指令,指令,接收来自接收来自CPU的读写命令的读写命令RD、WR,片选信号,片选信号CS及端口选择信号及端口选择信号A0。读写操作由这四个信号的组合读写操作由这四个信号的组合控制实现。控制实现。3.中断请求寄存器中断请求寄存器 IRR 8位寄存器,用于存放请求服务的中断源,并位寄存器,用于存放请求服务的中断源,并使使对应位置对应位置“1”(IRi1),),直到直到IRi 得到响应。得到响应。4.中断服务寄存器中断服务寄存器 ISR 8位寄存器,用于存放当前位寄存器,用于存放当前正在处理的中断级,正在处理的中断级,并使对应位置并使对应位置“1”。中断嵌套时,可能多个位置。中断嵌套时,可能多个位置“1”。5.中断屏蔽寄存器中断屏蔽寄存器 IMR 8位寄存器,可对位寄存器,可对IRR起屏蔽作用,由软件起屏蔽作用,由软件设置屏蔽位。某位置设置屏蔽位。某位置“1”,对应,对应 IRi 禁止产生中禁止产生中断。断。6.优先权分析器优先权分析器PR 实现优先权的判断与处理。对刚进来的中断实现优先权的判断与处理。对刚进来的中断与正在服务中的中断进行优先权的比较分析,将与正在服务中的中断进行优先权的比较分析,将具有最高优先权的中断请求送入中断服务寄存器具有最高优先权的中断请求送入中断服务寄存器 ISR,并向,并向 CPU提出中断请求。提出中断请求。7.控制逻辑控制逻辑 按初始化设置的工作方式按初始化设置的工作方式,控制,控制8259A 各部各部件的工作,并件的工作,并向向CPU发出发出INT信号,以及接收信号,以及接收CPU 的的INTA信号。信号。8.级联缓冲级联缓冲/比较器比较器 用于用于级联控制,扩展外中断。级联控制,扩展外中断。在在级联工作时,级联工作时,1片片8259A作主片,其余(作主片,其余(1 8片)片)8259A 作从片,最多可管理作从片,最多可管理64 级向量优级向量优先级中断。先级中断。图7.12 8259A 的引脚图7.4.2 8259A的工作原理的工作原理中断中断请求请求寄存寄存器器IRR优先优先权分权分析器析器PR中断中断服务服务寄存寄存器器ISR控控 制制 逻逻 辑辑中断屏蔽寄存器中断屏蔽寄存器 IMRIR0IR7外设中外设中断请求断请求INTAINTCPU若响应中断,往若响应中断,往8259A回送回送两个负脉冲两个负脉冲。第一个负脉冲到达,第一个负脉冲到达,8259A做做3件事:件事:使使IRR锁存功能失效;锁存功能失效;使使ISR中相应位置中相应位置“1”;使使IRR相应位置相应位置“0”。第二个负脉冲到达,第二个负脉冲到达,8259A完成操作:完成操作:将中断类型码(将中断类型码(ICW2)送)送D7D0;若工作在中断自动结束方式下,将若工作在中断自动结束方式下,将ISR中相中相 应位清应位清“0”。7.4.3 8259A的工作方式1.设置优先级的方式设置优先级的方式普通全嵌套方式普通全嵌套方式 特殊全嵌套方式特殊全嵌套方式 优先级自动循环方式优先级自动循环方式 优先级特殊循环方式优先级特殊循环方式(1)普通全嵌套方式)普通全嵌套方式 8259默认方式,中断请求按优先级默认方式,中断请求按优先级07 处理,处理,0级最高。级最高。一个中断被响应时:一个中断被响应时:送出中断类型码送出中断类型码数据总线;数据总线;ISR对应位对应位ISn 1;进入中断服务程序。进入中断服务程序。(2)特殊全嵌套方式)特殊全嵌套方式 处理某一级中断时,可响应同级中断请求。一处理某一级中断时,可响应同级中断请求。一般用于般用于8259A级连系统中。级连系统中。特殊全嵌套方式使用时,应使:特殊全嵌套方式使用时,应使:主片工作在特殊全嵌套方式;主片工作在特殊全嵌套方式;从片工作在其它优先级方式。从片工作在其它优先级方式。整个级连系统仍处在从片的优先级方式。整个级连系统仍处在从片的优先级方式。(3)优先级自动循环方式)优先级自动循环方式 一般用在系统中多个中断源优先级相等的场合。一般用在系统中多个中断源优先级相等的场合。这种方式的中断优先级队列是变化的。一个设备这种方式的中断优先级队列是变化的。一个设备受到中断服务后,其优先级自动降为最低。受到中断服务后,其优先级自动降为最低。初始优先级队列:初始优先级队列:IR0、IR1、IR7。例:例:IR0处理完后,优先级队列为处理完后,优先级队列为IR1IR7、IR0 IR4处理完后,优先级队列为处理完后,优先级队列为IR5IR3、IR4(4)优先级特殊循环方式)优先级特殊循环方式 初始最低优先级由编程确定,最高优先级也由初始最低优先级由编程确定,最高优先级也由此而定。此而定。如:初始最低优先级定为如:初始最低优先级定为IR5,则最高优先级,则最高优先级为为IR6。2.屏蔽中断源的方式(1)普通屏蔽方式)普通屏蔽方式 通过屏蔽寄存器屏蔽对应位的中断请求通过屏蔽寄存器屏蔽对应位的中断请求输入。输入。(2)特殊屏蔽方式)特殊屏蔽方式 设置某一屏蔽位时,会同时使设置某一屏蔽位时,会同时使ISR中的中的对应位清对应位清0。从而开放了其它级别较低的中断。从而开放了其它级别较低的中断。特殊屏蔽方式总是在中断处理程序中使特殊屏蔽方式总是在中断处理程序中使用的。用的。3.结束中断处理的方式中断处理结束的动作是使中断处理结束的动作是使ISn 位清位清0。(1)中断自动结束方式)中断自动结束方式 系统一进入中断过程,系统一进入中断过程,8259A自动将自动将ISR中对应中对应位位ISn清除。清除。这种方式只能用于系统中只有一片这种方式只能用于系统中只有一片8259A,且多,且多个中断不会嵌套的情况。个中断不会嵌套的情况。(2)一般中断结束方式)一般中断结束方式 用于全嵌套情况,由中断服务程序的最后一条用于全嵌套情况,由中断服务程序的最后一条中断结束命令清除最高的中断结束命令清除最高的IS位。位。(3)特殊中断结束方式)特殊中断结束方式 在中断结束命令中指出要清除在中断结束命令中指出要清除ISR中哪个中哪个IS位。位。这种方式用于非全嵌套情况,此时,由这种方式用于非全嵌套情况,此时,由ISR无无法确定当前正在处理的是哪级中断。法确定当前正在处理的是哪级中断。4.连接系统总线的方式(1)缓冲方式)缓冲方式 多片多片8259A级连系统中,级连系统中,8259A通过总线驱通过总线驱动器与数据总线相连的方式。动器与数据总线相连的方式。在这种方式下,要将的在这种方式下,要将的 SP/EN 端连总线驱端连总线驱动器的允许端。动器的允许端。(2)非缓冲方式)非缓冲方式 小系统中,直接将小系统中,直接将8259A与数据总线相连。与数据总线相连。对单片或多片对单片或多片8259A,SP/EN 有不同接法。有不同接法。5.引入中断请求的方式即外设即外设 8259A的信号。的信号。(1)边沿触发方式)边沿触发方式 中断请求输入端出现的上升沿作为中断请求信中断请求输入端出现的上升沿作为中断请求信号。号。(2)电平触发方式)电平触发方式 中断请求输入端出现的高电平作为中断请求信中断请求输入端出现的高电平作为中断请求信号。号。在电平触发方式下,中断请求得到响应后,输在电平触发方式下,中断请求得到响应后,输入端应及时撤除高电平。入端应及时撤除高电平。(3)中断查询方式)中断查询方式 外设仍通过向外设仍通过向8259A发中断请求信号要求发中断请求信号要求CPU服务,但服务,但8259A不使用不使用INT信号向信号向CPU发中断请求发中断请求信号。信号。CPU使用软件查询确认中断源。使用软件查询确认中断源。7.4.4 8259A的初始化命令字和操作命令字 初始化命令字初始化命令字 ICW和操作命令字和操作命令字OCW确定确定8259A的工作状态和操作方式,由的工作状态和操作方式,由CPU发出。发出。ICW:确定确定8259A的工作状态,在系统复位后的工作状态,在系统复位后写入。写入。OCW:控制控制8259A的操作方式,如中断屏蔽、的操作方式,如中断屏蔽、中断结束、优先级循环方式等。可在初始化后任何时中断结束、优先级循环方式等。可在初始化后任何时刻写入。刻写入。8259A 只有两个端口地址只有两个端口地址A0=0 偶地址端口偶地址端口1 奇地址端口奇地址端口具体地址依实际连线而定。具体地址依实际连线而定。PC机中,两个机中,两个端口地址分别是:端口地址分别是:20H,21H。写入命令字时,要注意写入命令字时,要注意端口地址端口地址写入的顺序写入的顺序有关的标志位有关的标志位1.初始化命令字初始化命令字完成的功能:初始化命令字完成的功能:设定中断请求触发方式:高电平设定中断请求触发方式:高电平/上升沿。上升沿。设定设定8259A工作方式:单片工作方式:单片/级联。级联。设定中断类型号基值:设定中断类型号基值:IR0对应的中断类对应的中断类 型号。型号。设定优先级设置方式。设定优先级设置方式。设定自动中断结束方式。设定自动中断结束方式。ICW1ICW4必须按顺序写入,且必须按顺序写入,且ICW1偶地偶地址端口址端口;ICW2 ICW4 奇地址端口奇地址端口。(1)ICW1 芯片控制初始化字芯片控制初始化字 设定设定IRi 触发方式,是否单片使用,是否写入触发方式,是否单片使用,是否写入ICW4。0 1 LTIM SNGL IC4A0D7 D6 D5 D4D3D2D1D0标志位:以区别标志位:以区别OCW2 3格式:格式:LTIM1 高电平触发高电平触发0 触发触发=SNGL1 单片使用单片使用0 级联使用级联使用=IC41 后面写入后面写入ICW40 不写入不写入ICW4=(2)ICW2 设置中断类型号初始化字设置中断类型号初始化字 设置中断类型号的高设置中断类型号的高5位,位,中断类型号的低中断类型号的低3位由位由引入中断请求的引脚引入中断请求的引脚IR0IR7产生。产生。1T7T6T5T4T3 A0D7 D6 D5 D4 D3 D2 D1 D0中断类型号高中断类型号高5位位格式:格式:T7 T6 T5 T4 T3 T2 T1 T0由由ICW2规定规定0 0 00 0 10 1 0 1 1 1IR0IR1IR2 IR7(3)ICW3 标识主片标识主片/从片初始化字从片初始化字 只有在一个系统中包含多片只有在一个系统中包含多片8259A时,该初时,该初始化字才有意义。此时,始化字才有意义。此时,ICW1中中D1位位SNGL=0。ICW3的具体格式与本片为主片还是从片有的具体格式与本片为主片还是从片有关。关。写给主片的ICW31S7S6S5S4S3S2S1S0A0D7 D6 D5 D4 D3 D2 D1D0Si=1,表示主片IRi上接有从片。写给从片的ICW3100000ID2ID1ID0A0D7 D6 D5 D4 D3 D2 D1D0从片的标志码ID2 ID1 ID0该从片 0 0 0接入主片的IR0 0 0 1接入主片的IR1 1 1 1接入主片的IR7例:写出下面级连方式主/从片的ICW3。IR5INT主片从片ICW3=00100000ICW3=00000101(4)ICW4 方式控制初始化字方式控制初始化字100SFNMBUFM/SAEOI1A0D7 D6 D5D4D3D2D1D00标志位用于8088/8086系统 只有在ICW1中D0位IC4=1时才用。格式:格式:1 缓冲方式 0非缓冲方式 SFNM:规定8259A中断的嵌套方式 BUF=0 一般全嵌套方式 1特殊全嵌套方式 M/S:BUF=1时,1 主8259A0 从8259AM/S=BUF=0时,M/S无意义。AEOI:规定中断的结束方式,即如何使ISR 中对应位置0。AEOI=1 自动中断结束方式:当CPU 发出第二个INTA后,ISR 中的相应位复位,此时,不能实现中断嵌套。AEOI=0 非自动中断结束方式:由程序发出EOI 命令(由8259A 的OCW 实现),使ISR 中相应位复位。对8259A 进行初始化编程后,8259A作好了接收中断请求输入的准备,在8259A 工作期间可由操作命令字OCW1OCW3规定其各种工作方式,如中断屏蔽,中断优先级次序,中断结束方式等。2.8259A的操作命令字(1)OCW1 中断屏蔽操作命令字中断屏蔽操作命令字设置或消除IMR 的各个位。1A0D7D0M7M0 Mi=1 屏蔽由IRi引入的中断请求0 允许由IRi引入的中断请求(2)OCW2 优先权循环方式和优先权循环方式和 中断结束方式操作字中断结束方式操作字 0RSL EOI00L2L1L0A0D7 D6 D5 D4 D3 D2 D1D0标志位功能:功能:设定优先级循环方式。设定非自动结束中断方式。格式格式D7 (R)=0 固定优先权方式:IR0 IR1 IR71 优先级循环方式:SL=0,优先级自动循环 SL=1,优先级特殊循环D6(SL)=0 L2L1L0位编码无效1 L2L1L0位编码有效例1:R=1,SL=0 设定为优先权自动循环方式IR7IR6IR5IR4IR3IR2IR1IR0初始优先权为:76543210若IRR=01010000当 IR4 服务完毕后,优先权为:21076543最低最高例2:R=1,SL=1 设置为优先权特殊循环方式此时,L2L1L0 规定循环开始时的最低优先权若OCW2为:1 1 0 0 1 0 1IR5优先权最低则循环开始时优先权为:IR7IR6IR5IR4IR3IR2IR1IR010765432D5(EOI):中断结束命令位。EOI=1 SL=0 一般中断结束:将OCW2写入8259A后,将刚 刚被服务的ISn对应位复位。SL=1 特殊中断结束:写入OCW2后,使L2L1L0指定 的ISn位复位。D2D1D0(L2L1L0):特殊中断结束时,指定要清 除的ISn位。特殊优先级循环时,指定循 环开始时最低优先级中断IRi。例3:OCW211000011B 特殊优先级,优先级由高至低为 IR4,IR5,IR6,IR7,IR0,IR1,IR2,IR3。OCW201100010B 特殊中断结束命令,清除IS2。OCW211100100B L2L1所指的中断结束后,进行优 先级轮换,即IR4中断服务完毕后,使IS4复位,IR4变为最低优先级。(3)OCW300ESMM SMM01PRR RISA0D7D0标志位功能:功能:设置和撤消特殊屏蔽方式。设置中断查询方式。设置读8259A内部寄存器命令。格式:格式:设置和撤消特殊屏蔽工作方式 正常的屏蔽方式由OCW1设置 IMR 实现 特殊的屏蔽工作方式 因此,可以通过设置或撤消特殊的屏蔽工作方式,动态改变优先权的结构。正常的屏蔽方式设置特殊的屏蔽方式只要IMR中的对应位没有置“1”,8259A就可以接受其中断请求。撤消特殊的屏蔽方式正常的屏蔽方式 为CPU 读取8259A内部寄存器提供选择INAL,INTA1;IMR AL8259A 中的IMR由OCW1设置,对应奇地址端口,可以写入,也可以读出。8259A 中IRR、ISR 只能读出,不能写入,都对应偶地址端口。此时,可先写入OCW3,OCW3中的RR、RIS 规定从偶地址端口读出的是IRR 或ISR 的值。MOV AL,OCW3OUT INTA0,ALIN AL,INTA0;若COW3中RR RIS 则读出的是1 1 ISR1 0 IRR 使8259A 和CPU 的通信方式由中断方式 查询方式 当中断源超过64个时,可令CPU 关中断,用查询方式为中断源服务。令OCW3 中的P=1,写入OCW3后,若之前有IRi有效,8259A 把CPU 的下一个读信号看作 信号,使ISR 中最高优先权的某一位置位,同时送查询字至DB。MOVAL,OCW3;其中 P=1OUTINTA0,AL;发OCW3INAL,INTA0;读偶地址端口此时,AL 中的数据(查询字):IW2W1W0D7D0当前最高优先权IRi对应的编 码0 0 00 0 11 1 1IR0IR1IR7通过该查询字,CPU得到当前级别最高的中断请求IRi,然后转入该中断处理程序。8259A 只占两个端口,但ICW 有4个,OCW有3个,如何识别?(1)A0=0 (偶地址端口偶地址端口)写入的有写入的有ICW1,OCW2,OCW3(D4=1)用标志位识别用标志位识别3.8259A对对ICW、OCW的识别的识别(2)A0=1 (奇地址端口奇地址端口)写入的有写入的有ICW2 ICW3 ICW4 OCW1按写入顺序识别7.4.5 8259A编程应用 在8259A进入正常工作之前,必须将系统中每片8259A进行初始化。初始化是通过将初始化命令字写入8259A的端口实现的。端口地址取决于硬件连接,每片的初始化流程要遵守固定的次序,操作命令字则可根据需要在操作过程中设置。1.初始化编程初始化编程设 INTA0 为8259A 的偶地址端口,INTA1 为8259A 的奇地址端口。图7.13 8259A初始 化流程图ICW1 INTA0ICW2 INTA1SNGL=1?ICW3 INTA1IC4=1?ICW4 INTA1YesNoYesNo例:PC/XT 系统中8259A的初始化编程8259A的端口地址为:20H,21H。在BIOS 中,8259A的初始化程序段如下:MOV AL,13H;ICW1=0001,0011B,边沿触发,;单片使用,要 ICW4。OUT20H,ALMOV AL,08H;ICW2=08H,IR0IR7对应的中断;为类型号08H0FH。OUT21H,ALMOV AL,05H;ICW4=0000,0101H,正常嵌套,;非缓冲,非自动中断结束方式。OUT21H,AL2.级连方式编程级连方式编程(1)硬件连接)硬件连接 从片与主片的CAS0CAS2相连。从片INT连接IRi。主片 SP/EN 接高电平(VCC)从片 SP/EN 接低电平(GND)INT从8259AIR7IR6IR0IR7IR6IR0INTCAS0CAS1CAS2CAS0CAS1CAS2主8259A(from CPU)INTR(to CPU)图7.14 主从式级连系统连接框图 (2)软件编程)软件编程 应对主片和每片从片分别进行初始化。操作命令字则可根据需要在操作过程中设置,OCW2命令字定义中断结束方式时,通常放在中断服务子程序中。

    注意事项

    本文(中断系统与中断控制器.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开