欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    硬件技术基础第七章中断系统.ppt

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

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

    硬件技术基础第七章中断系统.ppt

    ,中断系统,第七章,教学目的和要求 本章主要介绍中断的基本概念,中断响应过程,8088的中断方式,IBM PC/XT的中断方式,之后又介绍了中断控制器8259,重点掌握中断概念、中断响应过程、8088中断方式。,中断系统,内容提要 中断概述 CPU响应中断的条件和过程 中断优先权及多重中断 8088的中断方式 IBM PC/XT的中断方式 中断控制器8259A,中断系统,中断系统,中 断:指CPU在正常运行程序时,由程序预先安排好的 事件或由内、外部事件引起CPU中断正在运行的 程序,而转到预先安排的事件或内、外部事件服 务的程序中去。中 断 源:引起程序中断的事件。中断返回:中断服务程序执行完,返回原来执行程序的中断 处(称为断点)继续往下执行。中断的优先级:有时中断请求信号(即中断源)可能有好 几个,CPU响应这些中断的先后次序。挂 起:优先级高的中断,CPU首先响应;优先级低的中 断暂不响应。,中断系统,中断的屏蔽:有些中断源产生的中断,可以用编程的方法,使CPU不予理睬。CPU响应中断转去执行中断服务程序前,需要把被中断程序的现场信息保存起来,以便执行完中断服务程序后,接着从被中断程序的断点处继续往下执行,这些现场信息包括程序计数器的内容、CPU的状态信息、执行指令后的结果特征和一些通用寄存器的内容。中断处理的隐操作:有些信息的保存如程序计数器的内容 等由机器硬件预先安排完成。中断向量:有些信息的保存是在中断服务程序中预先安排 的。CPU响应中断,由中断源提供地址信息,,中断系统,引导程序转移并执行中断服务程序,这个地址信 息称为中断向量,它一般是和中断源相对应的。在数据采集或实时控制中,CPU对接口设备的控制或交换信息,查询、中断、DMA方式均可使用,而中断方式以其执行速度快,可实时处理,不占用CPU过多的时间等优点,在接口技术中较多地被采用。,中断概述,中断的必要性 CPU在与外设交换信息时,若用查询的方式,则CPU就要浪费很多时间去等待外设。这样就存在一个快速的CPU与慢速的外设之间的矛盾,这也是计算机在发展过程中遇到的严重问题之一。为解决这个问题,一方面要提高外设的工作速度;另一方面发展了中断的概念。实现了中断,就有以下好处:同步操作:有了中断功能,就可以使CPU和外设同时工作。而且有了中断功能,CPU可命令多个外设同时工作。这样就大大提高了CPU的利用率,也提高了输入、输出的速度。,中断概述,实现实时处理 当计算机用于实时控制时,中断是一个十分重要的功能。现场的各个参数、信息,需要的话可在任何时间发出中断申请,要求CPU处理;CPU就可以马上响应(若中断是开放的话)加以处理。这样及时处理在查询的工作方式下是做不到的。故障处理 计算机在运行过程中,往往会出现事先预料不到的情况,或出现一些故障;如电源突跳,存储出错,运算溢出等等。计算机就可以利用中断系统自行处理,而不必停机或报告工作人员。,中断概述,中断源 引起中断的原因,或能发出中断申请的来源,称为中断源。通常中断源有以下几种:一般的输入、输出设备:如键盘、打印机等。数据通道中断源:如磁盘、磁带等。实时时钟:在控制中,常要遇到时间控制问题等,常用外部时钟电路,当需要定时时,CPU发出命令,令时钟电路开始工作,待规定的时间到了后,时钟电路发出中断申请,由CPU加以处理。,中断概述,故障源:例如电源掉电。需要把正在执行程序的状态PC(或IP)、各个寄存器的内容和标志位的状态保留下来,以便重新供电后能从断点处继续运行等。为调试程序而设置的中断源:一个新的程序编制好以后,必须经过反复调试才能可靠地工作。在程序调试时,为了检查结果,或为了寻找毛病所在,往往要求在程序中设置断点,或进行单步工作(一次只执行一条指令),这些就要由中断系统来实现。,中断概述,中断系统的功能 为了满足上述各种情况下的中断要求,中断系统应具有如下功能:实现中断及返回 能实现优先排队 高级中断低级中断的处理,CPU响应中断的条件和过程,CPU由于引脚的限制,它的中断请求线的数量是有限的。CPU响应中断的条件 设置中断请求触发器 要求每一个中断源有一个中断源请求触发器A。,CPU响应中断的条件和过程,设置中断屏蔽触发器,CPU响应中断的条件和过程,中断是开放的 在CPU内部有一个中断允许触发器。当CPU复位时,中断允许触发器为“0”,即关中断,所以必须要用STI指令来开中断。当中断响应后,CPU就自动关中断,所以必须在中断服务程序中用STI指令来开中断。CPU在现行指令结束后响应中断 CPU在现行指令运行到最后一个机器周期的最后一个T状态时,才采样INTR线。若发现有中断请求,则把内部的中断锁存器置“1”,然后下一个机器周期不进入取指周期,而进入中断周期。,CPU响应中断的条件和过程,CPU响应中断的条件和过程,CPU对中断的响应 当满足上述条件后,CPU就响应中断,转入中断周期,CPU做以下几种事:关中断 8088在CPU响应中断后,发出中断响应信号INTA的同时,内部自动地实现关中断。保留断点 CPU响应中断,封锁IP+1,且把IP和CS推入堆栈保留,以备中断处理完毕后,能返回主程序。,CPU响应中断的条件和过程,保护现场 为了使中断处理程序不影响主程序的运行,故要把断点处有关的各个寄存器的内容和标志位的状态,推入堆栈保护起来。8088是由软件(即在中断服务程序中)把要用到的寄存器的内容用PUSH指令推入堆栈。给出中断入口,转入相应的中断服务程序 8088是由中断源提供的中断矢量形成中断入口地址(即中断服务程序的起始地址)。在中断服务程序完成后,还要做下述两步。,CPU响应中断的条件和过程,恢复现场 把所保存的各个内部寄存器的内容和标志位的状态从堆栈弹出,送回CPU中的原来位置。这个操作在8088中也是由服务程序中用POP指令来完成的。开中断与返回 在中断服务程序的最后,要开中断(以便CPU能响应新的中断请求)和安排一条返回指令,将堆栈内保存的IP和CS值弹出,程序就恢复到主程序中运行。,CPU响应中断的条件和过程,中断优先权及多重中断,中断优先权 实际的系统中,是有多个中断源的,于是,当有多个外中断源同时请求时,CPU就要先响应优先权级别最高的中断申请。另外,当CPU正在处理中断时,也要能响应更高级的中断申请,而屏蔽掉同级或较低级的中断申请。要判别和确定各个中断源的优先权可以用软件和硬件两种方法。用软件确定中断优先权 软件采用查询技术。当CPU响应中断后,就用软件查询以确定是哪些外设申请中断,并判断它们的优先权。,中断优先权及多重中断,中断优先权及多重中断,查询程序有两种实现方式:屏蔽法 IN AL,20H;输入中断请求触发器的状态 TEST AL,80H;检查最高位 JNE PWF;外设A中断服务程序 TEST AL,40H;检查次高位 JNE DISS;外设B中断服务程序 TEST AL,20H JNE MT;外设C中断服务程序,中断优先权及多重中断,移位法 XOR AL,AL IN AL,20H;输入中断请求触发器的状态 RCL AL,1 JC PWF;外设A中断服务程序 RCL AL,1 JC DISS;外设B中断服务程序,中断优先权及多重中断,查询方法的优点是:询问的次序,即是优先权的次序。显然,最先询问的,优先权的级别最高。省硬件。不需要有判断与确定优先权的硬件排队电路。缺点是:由询问转至相应的服务程序的入口时间长,尤其是在中断源较多的情况下。,中断优先权及多重中断,硬件优先权排队电路 中断优先权编码电路用硬件编码器和比较器的优先权排队电路,中断优先权及多重中断,雏菊花环(Daisy Chain)式或称为链式优先权排队电路,中断优先权及多重中断,多级中断的概念 多级中断系统是指计算机系统中有相当多的中断源,根据各中断事件的轻重缓急程度不同而分成若干级别,每一中断级分配给一个优先权。一般说来,优先权高的中断级可以打断优先权低的中断服务程序,以程序嵌套方式进行工作。,中断优先权及多重中断,根据系统的配置不同,多级中断又可分为一维多级中断和二维多级中断,一维多级中断是指每一中断里只有一个中断源,而二维多级中断是指每一级中断里又有多个中断源。图中虚线左边结构为一维多级中断,如果取掉虚线则成为二维多级中断结构。,中断优先权及多重中断,对于多级中断,我们着重说明如下几点:一个系统若有n级中断,在CPU中就有n个中断请求触发器,总称为中断请求寄存器;与之对应的有n级中断屏蔽触发器,总称为中断屏蔽寄存器。与单级中断不同,在多级中断中,中断屏蔽寄存器的内容是一个很重要的程序现场,因此在响应中断时,需要把中断屏蔽寄存器的内容保存起来,并设置新的中断屏蔽状态。一般在某一级中断被响应后,要置“0”(关闭)本级和优先权低于本级的中断屏蔽触发器,置“1”(开放)更高级的中断屏蔽触发器,以此来实现正常的中断嵌套。多级中断中的每一级可以只有一个中断源,也可以有多个中断源。在多级中断之间可以实现中断嵌套,但是同,中断优先权及多重中断,一级内的不同中断源的中断是不能嵌套的,必须是处理完一个中断后再响应和处理同一级内其他中断源。多级中断系统中首先响应哪一级中断和哪个中断源,都是由硬件逻辑实现,而不是用程序实现。另外,在二维中断结构中,独立请求方式与链式查询方式相结合的方法决定首先响应哪个中断源。在多级中断中也使用中断堆栈保存现场信息。使用堆栈保存现场的好处是:控制逻辑简单,保存和恢复现场的过程按先进后出 顺序进行。每一级中断不必单独设置现场保护区,各级中断现 场可按其顺序放在同一栈里。,8088的中断方式,8088有两种类型的中断:由执行某些指令引起的软中断和设备引起的硬中断,这些类型的中断,均有中断类型码相对应。软中断执行下述指令时,将产生或可能产生中断。DIV(除)或IDIV(整除)指令 当执行这些除法指令时,若除数为零或商溢出,则产生中断,称为0型中断。INT指令 当执行中断指令INT n时,则产生n型中断。,8088的中断方式,INT0指令 若在指令序列执行过程中,上条指令执行的结果使溢出标志位O=1,接着若执行的是INTO指令,则引起内部中断,称为4型中断;若溢出标志位O=0,该指令将不起作用。单步执行 当标志位T=1时,每执行一条指令,则引起一次中断,使得指令的执行成为单步执行方式,这种方式常用于程序的调试。单步执行为1型中断。,8088的中断方式,硬中断 8088有两种中断请求线:非屏蔽中断NMI线和可屏蔽中断INTR线,在这两条线上产生中断请求信号而引起的中断称为硬中断。可屏蔽中断 出现在INTR线上的请求信号是电平触发的,它的出现是异步的,在CPU内部由CLK的上升沿来同步。在该线上的中断请求信号(高电平有效)必须保持到当前指令的结束。在这条线上出现的中断请求,CPU是否响应要取决于标志位I的状态,若I=1,则CPU就响应,可以认为此时CPU处于中断状态;若I=0,则CPU就不响应。I位的状态,,8088的中断方式,可以用指令STI使其置位(即开中断);也可用CLI指令使其复位(即关中断)。非屏蔽中断 当NMI线上出现一个由低向高上跳的高电平中断请求信号后(持续时间大于两个时钟周期),不管标志寄存器I位的状态如何,当前指令执行完成后,8088马上转入中断处理。此种类型的中断有三种来源:电源故障,系统板上随机存储器奇偶校验错,8087(协处理器)中断请求和I/O通道检查错。非屏蔽中断的优先权高于可屏蔽中断。,8088的中断方式,中断向量表 8088有一个简单的而又多功能的中断系统。上述的任何一种中断,CPU响应以后,都是要保护现场和保护断点,然后转入各自的中断服务程序。8088在内存的前1K字节(地址00000H003FFH)建立了一个中断向量表,可以容纳256个中断向量(或256个中断类型),每个中断向量占用4个字节。在这4个字节中,包含着这个中断向量(或这个中断类型)的服务程序的入口地址前两个字节为服务程序的IP,后两个字节为服务程序的CS。,8088的中断方式,8088的中断方式,8088中的中断响应和处理过程 8088中各种中断的响应和处理过程是不相同的,但主要区别在于如何获取相应的中断类型码(向量号)。对于硬件(外部)中断,CPU是在当前指令周期的T状态采样中断请求信号,如果有可屏蔽中断请求,且CPU处在开中断状态(I标志为1),则CPU转入两个连续的中断响应周期,在第二个中断周期的T4状态前沿,采样数据线获取由外设输入的类型码;若是采样到非屏蔽中断请求,则CPU不经过上述的两个中断响应周期,而在内部自动产生中断类型码2。对于软件中断,中断类型码也是自动形成的。对于INT n 指令,则类型码即为指令中给定的n。,8088的中断方式,8088在取得了类型码后的处理过程是一样的,其顺序为:将类型码乘4,作为中断向量表的指针;把CPU的标志寄存器入栈,保护各个标志位,此操作类似于PUSH F指令;复制追踪标志T的状态,接着清除I和T标志,屏蔽新的INTR中断和单步中断;保存主程序中的断点,即把主程序断点处的IP和CS值推入堆栈保护,先推入CS值,再入IP值;,8088的中断方式,从中断向量表中取中断服务程序的入口地址、分别送至CS和IP中,先取CS值;按新地址执行中断服务程序。在中断服务程序中,通常要保护CPU内部寄存器的值(保护现场)、开中断(若允许中断嵌套的话)。在中断服务程序执行完后,要恢复现状,最后执行中断返回指令IRET,IRET指令按次序恢复断点处的IP和CS值,恢复标志寄存器(相当于 POP F)。于是程序就恢复到断点处继续执行。,8088的中断方式,IBM PC/XT的中断方式,IBM PC/XT 中断类型 在IBM PC/XT 机中有三种类型的中断:内部中断即软中断 包括被零除、单步执行、溢出和中断指令(包括断点中断)等。非屏蔽中断NMI 在IBM PC/XT中若存储器的读写奇偶校验错,或者是由8087(协处理器)的异常产生的中断都送至8088的NMI输入端要求处理。可屏蔽中断INTR 在IBM PC/XT系统中,可能有多个外部设备中断请求,IBM PC/XT的中断方式,信号,而CPU 8088的可屏蔽中断输入信号只有一个INTR。为此,在IBM PC/XT系统中,采用中断控制器(8259)将外部设备中断请求信号扩充到8个。,IBM PC/XT的中断方式,IBM PC/XT 中系统保留的中断 8088 CPU最多能处理256种不同的中断,其中有5个是8088 CPU保留为CPU专用的;又有相当一部分是由磁盘操作系统DOS保留为系统用的。IBM PC/XT 中保留的中断(所用的PC-DOS的版本号不同会有一些不同)前5个中断类型是8088规定的专用中断。BIOS安排到中断类型号1F。在这些类型中断中,类型号8F就是通过8259的八级硬件中断。5号和101A号是基本外部设备的输入输出驱动程序和BIOS中调用的有关程序。1B和1C由用户设定,1D1F指向三个数据区域。,IBM PC/XT的中断方式,IBM PC/XT的中断方式,中断类型号203F由DOS操作系统使用,用户程序也可以调用其中的2027号中断。,中断控制器8259A,在中断控制过程中,中断源的识别和优先权的确定可以用硬件排队电路等实现,INTEL 8259A可编程中断控制器就是为完成这些任务而设计的一种器件。它不是I/O接口,而是一种中断管理芯片,筒称PIC(Programmable Interrupt Controller)。8259A的主要功能为:具有8级优先权控制,通过芯片级联可扩展至64级优先权控制。每一级中断均可通过编程屏蔽或允许。在中断响应周期可提供相应的中断类型号。有多种工作方式,可通过编程选择。可与CPU直接连接,不需外加硬件电路。,中断控制器8259A,8259A的内部结构 8259A采用NMOS工艺,只需要单一的5V电源,它的内部电路为静态电路,因此不需要时钟输入。,中断控制器8259A,数据总线缓冲器 数据总线缓冲器是三态,双向,8位的缓冲器,D7D0用于和CPU的数据总线连接。中断请求寄存器(IRR)中断请求寄存器用来寄存所有IR输入线输入的中断请求信号,即保存正在请求服务的中断级。优先权电路 优先权电路的主要作用是确定中断请求寄存器IRR中各位的优先等级,并确定能否向CPU申请中断。中断服务寄存器ISR 中断服务寄存器ISR的主要作用是保存当前被CPU,中断控制器8259A,服务的中断级,也就是记录正在被处理的中断请求。中断屏蔽寄存器IMR 中断屏蔽寄存器IMR的主要作用是对各中断源的中断请求信号(IROIR7)实现开关控制。控制逻辑 控制逻辑内部包括内部控制电路,中断控制电路,初始化命令寄存器组和操作命令寄存器组,它根据CPU对8259A编程设定的工作方式产生8259A内部控制信号,并根据中断请求寄存器IRR和优先权电路的判别结果,在适当时候向CPU发生中断请求信号,并接收CPU发来的中断响应信号INTA,控制提供中断类型号。,中断控制器8259A,读写逻辑 接收CPU来的控制信号,包括端口控制信号,数据方向控制信号,控制将CPU送来的初始化命令ICW和操作命令OCW存入8259A内部相应的寄存器,用以规定8259A的工作方式。级连缓冲/比较器 一片8259A最多构成8级中断(IROIR7),要想扩展中断源,必须多片连在一起,叫级连方式。级连缓冲/比较器的功能有两个:提供级连控制提供缓冲控制,中断控制器8259A,对于8088CPU而言,8259A工作过程是:某一条或几条中断请求线(IROIR7)有中断申请,变为高电平,使中断请求寄存器IRR的相应位置“1”。IMR对IRR屏蔽。未被屏蔽的请求信号经优先权电路判别最高优先级,再由优先级方式确定没有更高级优先权的中断,则8259A的INT端输出为“1”,向CPU提出中断请求。CPU响应中断后发出中断响应信号。在中断响应过程中,CPU要发出两次INTA信号。当8259A收到第一个INTA信号后,ISR中当前被选中的最高优先级对应的那一位置“1”,同时IRR中的相应位被清“0”,表示该位上的中断请 求已被CPU所接受。,中断控制器8259A,8259A收到第二INTA信号后,驱动数据总线将对应的中断类型码输出。如果是自动结束中断方式(AEOI),则在第二个INTA脉冲结束时将ISR中相应置“1”的位复位,否则该位的“1”将一直保持,直到CPU发出EOI命令为止。8259A的引脚功能 8259A是一个28引脚的双列直插式芯片。D7D0:双向三态数据总线,8位,用于传送控制和状态信息,中断向量,中断类型码等。IR7IR0:中断请求输入信号,8级中断源。一般情况,中断控制器8259A,下,IR7的中断优先级别最低,而IR0的中断优先级别最高。RD:读信号,输入,当RD=0时,8259A将状态信息送上数据总线供CPU使用。WR:写信号,输入,当WR=0时,8259A接收数据总线上CPU传来的数据。CS:片选信号,输入,低电平有效。当CS=0时8259A被选中,允许CPU对8259A进行读写操作,CS=1时芯片未被选中。,中断控制器8259A,A0:地址线,输入。该信号通常直接连到地址总线的A0,8259A用该信号控制接收CPU的命令字或向CPU发状态信息。INTR:中断请求信号,输出。只要8259A的中断逻辑判定中断请求信号有效,就在这个引脚上产生一个高电平,可接到CPU的中断输入端。INTA:中断响应信号,输入,是来自于CPU的响应脉冲,8259A根据ISR中的置位情况提供相应的中断类型码。Vcc,GND:电源(5V)和地。,中断控制器8259A,CAS0CAS2:级联信号,双向,形成8259A的专用总线,以便构成多片8259A的级联结构。SP/EN:从片编程/允许缓冲器信号,双向,双重功能引脚。在缓冲器方式下,它是输出信号,用作允许缓冲器接收和发送的控制信号。当工作在非缓冲器方式时,它是输入信号,用来指明系统中的8259A究竟是作为主片工作的,还是作为从片工作的,要由程序命令来设定。,中断控制器8259A,中断控制器8259A,8259A的工作方式中断控制器8259A有四种主要的工作方式:全嵌套 循环优先级 特定屏蔽 程序查询方式还有四种从属的工作方式:中断结束方式 读状态 中断请求触发方式 缓冲器方式。,中断控制器8259A,它还分为两大工作类型:单片工作 多片级连工作 8259A是可编程芯片,可以通过程序命令来确定8259A的工作方式。8259A有两种命令:初始化命令 操作命令,中断控制器8259A,全嵌套方式 这是一种最普通的工作方式。8259A在初始化工作完成后若未设定其它的工作方式,就自动进入全嵌套方式,这种方式的特点是:中断请求的优先级固定,其顺序是IR0最高,逐次减小,IR7最低。中断服务寄存器ISR保存优先权电路确定的优先级状态,相应位置“1”,并且一直保持这个服务“记录”状态,直到CPU发出中断结束命令为止。在ISR置位期间,不再响应同级及较低级的中断请求,而高级的中断请求如果CPU开放中断的话仍能够得到中断 服务。,中断控制器8259A,IR7IR0的中断请求输入可分别由中断屏蔽寄存IMR的D7D0的相应位屏蔽与允许,对某一位的屏蔽与允许操作不影响其它位的中断请求操作。全嵌套工作方式由ICW4的D4=0来确定。循环优先级方式 循环优先级方式是8259A管理优先级相同的设备时采用的中断管理方式,它包括两种:自动循环优先级方式 特殊循环优先级方式。自动循环 各设备优先级相同,当某一个设备受到服务之后,它的优先级就自动地排到最后。,中断控制器8259A,自动循环优先级方式由OCW2的R=1、SL=0来确定。特殊循环 在特殊循环优先级方式中,是通过编程来确定某一设备为最低优先级。特殊循环优先级方式由OCW2的R=1、SL=1来确定,而L2L1L0用于指定最低优先级的二进制编码。特定屏蔽方式 8259A的每个中断请求输入信号都可由中断屏蔽寄,中断控制器8259A,存器IMR的相应位进行屏蔽。对中断请求输入信号的屏蔽方式一般有两种:正常屏蔽方式 特定屏蔽方式 正常屏蔽方式:每一个屏蔽位对应一个中断请求输入信号,屏蔽某一个中断请求输入信号对其他请求信号没有影响。未被屏蔽的中断请求输入信号仍然按照设定的优先级顺序进行工作,而且保证当某一级中断请求被响应服务时,同级和低级的中断请求将被禁止,如果CPU允许中断,则高级的中断请求还会被响应,实现中断嵌套。,中断控制器8259A,特定屏蔽方式也叫特殊的中断屏蔽方式:当设定了特 定屏蔽方式后,IMR中为“1”的位仍然屏蔽相应的中断请求输入信号,但所有未被屏蔽的位被全部开放,无论优先级别是低还是高,都可以申请中断,并且都可能得到CPU的响应并为之服务。特定屏蔽方式由OCW3的ESMM和SMM确定,设定时ESMM=1、SMM=1,复位时ESMM=1、SMM=0。程序查询方式 程序查询方式是不使用中断,用软件寻找中断源并为之服务的工作方式。在这种方式下,8259A不向CPU发送INT信号(实际上,中断控制器8259A,是8259A的INT信号不连到CPU的INTR信号上),或者CPU关闭自己的中断允许触发器,使IF=0,禁止中断输入。申请中断的优先级不是由8259A提供的中断类型码而是由CPU发出查询命令得到的。查询方式是由OCW3的P=1来确定的。中断结束方式 所谓中断结束方式是指中断如何结束的方法,这里的“结束”是指如何和何时使8259A中的ISR中的相应位清零.8259A的中断结束方式有两种:命令中断结束方式(EOI)自动中断结束方式(AEOI),中断控制器8259A,自动结束 在自动中断结束(AEOI)方式下,8259A自动地在最后一个INTA中断响应脉冲的后沿将中断服务寄存器ISR中的相应位清零。自动中断结束方式(AEOI)的应用场合一般是,8259A单片系统,或不需要嵌套的多级中断系统。AEOI方式只能用于主片8259A,不能用于从片8259A。自动中断结束方式由ICW4的AEOI=1确定。命令结束 命令中断结束方式(EOI)是在中断服务程序返回之前,向8259A发中断结束命令(EOI),使ISR中的相应位 清零。,中断控制器8259A,它包括两种情况:非特殊EOI命令:全嵌套方式下的中断结束命令称为非特殊EOI命令,该命令能自动地把当前ISR中的最高优先级的那一位清“0”非特殊EOI命令是由OCW2的R=0、SL=0、EOI=1确定的。特殊EOI命令:非全嵌套方式下的中断结束命令称为特殊EOI命令。在非全嵌套方式下,由于无法确定最后响应的是哪一级中断,所以应向8259A发出特殊EOI命令,即指定哪一级中断返回,使其ISR中的相应位清“0”。,中断控制器8259A,特殊EOI命令是由OCW2的R=0、SL=1、EOI=1确定的,由L2L1L0指定ISR中要复位的相应位的二进制编码。读8259A状态 读8259A的状态是指读8259A内部的IRR、ISR和IMR的内容。读IRR:先发出OCW3命令(使RR=1、RIS=0,地址A0=0),在下一个RD脉冲到来时可读出IRR,其中包含尚未被响应的中断源情况。,中断控制器8259A,读ISR 先发出OCW3命令(使RR=1、RIS=1,地址A0=0),在下一个RD脉冲时可读出ISR,其中包含正在服务的中断源情况,也可看中断嵌套情况。读IMR 不必先发OCW3,只要读奇地址端口(A0=l),则可读出IMR,其中包含设置的中断屏蔽情况。中断请求触发方式 8259A的中断请求寄存器IRR中有8个中断请求触发器,分别对应8个中断请求信号的输入端IR0-IR7.。这些触发器的触发方式有两种:边沿触发电平触发,中断控制器8259A,边沿触发 当输入端有从低电平到高电平的正跳变时,则产生中断请求。此后,即使输入端仍然保持高电平也不会再产生中断。边沿触发方式由ICW1的LTIM=0确定。电平触发 当输入端产生高电平时产生中断请求。但需要注意的是,在电平触发方式下,在发出EOI命令以前,或CPU开放中断以前,必须去掉中断请求信号,否则将产生第二次中断。电平触发方式由ICW1的LTIM=1确定。,中断控制器8259A,缓冲器方式 所谓缓冲器方式就是在8259A和数据总线之间挂接总线驱动器的方式。在缓冲器方式下,SP/EN引脚将使用EN功能,并使之输出一个有效低电平,开启缓冲器工作。该方式多用于级联的大系统。缓冲器方式由ICW4的BUF=1确定。特殊的全嵌套方式 该方式适用于多片级连,且必须将优先级保存在各从片8259A中的大系统。该方式与普通的全嵌套方式工作情况区别在于两点:当某从片的一个中断请求被CPU响应后,该从片的中 断仍未被禁止。,中断控制器8259A,在某个中断源退出中断服务程序之前,CPU要用软件检查它是否是这个从片中的唯一中断。特殊的全嵌套方式由ICW4的SFNM=1确定。多片级连方式 在级连系统中,每个从片的中断请求输出线INT直接连到主片的某个中断请求输入线上,主片的CAS0CAS2 是输出线,输出被响应的从片代码,从片的CAS0CAS2 是输入线,接收主片发出的从片代码,以便与自身代码相比较。级联方式的要点如下:一个8259A主片至多带8个从片,可扩展至64级。缓冲方式下,主片和从片的设定由ICW4的M/S,中断控制器8259A,位确定,M/S=1是主片,M/S=0是从片。M/S的状态在BUF=l时有意义。在非缓冲方式下,主片和从片由SP/EN引脚SP的功能确定,SP=1是主片,SP=0是从片。在级连系统中,主片的三条级连线相当于从片的片选信号,从片的INT是主片的中断请求输入信号。主片和从片需要分别进行初始化操作,可设定为不同的工作方式。级连方式由ICW1的SNGL=0确定。上述的各种工作方式,全嵌套方式、自动中断结束,中断控制器8259A,方式、中断请求触发方式、缓冲器方式、恃殊的全嵌套方式、级连方式等是由初始化命令字ICW来设定的,而循环优先级方式、特定屏蔽方式、查询方式、命令中断结束方式、读8259A状态等是由操作命令字OCW来设定的。8259A的编程 8259A是一个可编程器件,为了使8259A实现预定的中断管理功能,按预定的方式工作,就必须对它进行初始化编程。初始化编程是指系统在上电或复位后对可编程器件进行控制字设定的一段程序。,中断控制器8259A,8259A的命令控制字包括两个部分:初始化命令字 操作命令字8259A内部有7个寄存器,分为两组:初始化命令寄存器组:包括4个寄存器:ICW1ICW4对应的寄存器。操作命令寄存器组包括3个寄存器:OCW1OCW3对应的寄存器。由于8259A只有一条地址线A0,所以它只能有两个端口地址,而8259A有7个命令字,每个命令字要写入相应的寄存器。,中断控制器8259A,采取以下几点措施:以端口地址区分;把命令字中的某些位作为特征码来区分;以命令字的写入顺序来区分。在PC/XT中,8259A的两个端口地址分别为20H和21H。下面具体讨论8259A的命令字:初始化命令字 初始化命令字有4个:ICW1、ICW2、ICW3、ICW4。8259A在进入正常工作之前,必须将系统中的每一个8259A进行初始化设置,以此建立8259A的基本工作条件。写入的初始化命令字一般为24个,最多为4个,然而,ICW1使用偶地址,而ICW2、ICW3、ICW4都使用奇地址,,中断控制器8259A,为了相互区别,初始化命令字的写入必须有一个固定的顺序。系统上电或复位以后,对8259A第一件要做的工作就是按顺序写入初始化命令字。,中断控制器8259A,中断控制器8259A,中断控制器8259A,初始化命令字ICW1的主要功能是:确定级连方式触发方式写入ICW1后,8259A内部自动复位,其复位功能为:初始化命令字顺序逻辑重新置位,准备接收ICW2、ICW3、ICW4。清除IMR和ISR。IRR状态可读。优先级排队,IR0最高,IR7最低。特殊屏蔽方式复位。设定中断请求信号由低变高的边沿触发有效。自动EOI循环方式复位。,中断控制器8259A,初始化命令字ICW2的主要功能是:确定中断向量 中断类型码 初始化命令字ICW3的主要功能是:确定主片从片的级连状态,即确定主片的连接位和从片的编码。初始化命令字ICW4的主要功能是:选择CPU系统,确定中断结束方式,规定是主片还是从片,选择是否采用缓冲方式。初始化命令字一定要在系统复位后首先写入8259A,写入时要严格按照顺序,不允许颠倒。,中断控制器8259A,操作命令字 8259A有三种操作命令字:OCW1、OCW2和OCW3,在写入时,它们按设计者的要求写入。操作命令字OCW1的主要功能是:保存中断屏蔽字。操作命令字OCW2的主要功能是:控制8259A的中断循环优先级方式及发送命令中断结束方式。操作命令字OCW3的主要功能是:设定查询方式和特殊屏蔽方式。,中断控制器8259A,中断控制器8259A,中断控制器8259A,【例7-1】8259A单片应用 在某8088系统中扩展一片中断控制器8259A,其端口地址由74LS138译码器译码选择,假设为8CH和8DH。中断源的中断请求线连到IR7输入线上,边沿触发方式,IR7的中断类型码为77H,其它条件保持8259A的复位设置状态。要求:写出8259A的初始化程序。写出中断类型码为77H的中断向量设置程序。8259A的初始化程序 初始化程序包括写入ICW1、ICW2和ICW4(由于单片使用,不需写入ICW3),并且必须按规定的顺序写入。,中断控制器8259A,ICW1命令字 单片,边沿触发,需要ICW4,故为000100l1B=13H,写入偶地址。ICW2命令字 IR7的中断类型码为77H,即可作为ICW2命令字写入,写入奇地址。ICW4命令字 8088CPU,一般全嵌套方式,正常EOI结束,非缓冲方式,故命令字的组合为00000001B=01H,写入奇地址。OCW1命令字 系统只使用了IR7,为防止干扰,产生误动作,应,中断控制器8259A,将IR0IR6屏蔽掉,屏蔽字为01111111B=7FH,写入奇地址。初始化程序段为:CLI MOV AL,13H;ICW1 OUT 8CH,AL MOV AL,77H;ICW2 0UT 8DH,AL MOV AL,01H;ICW4 OUT 8DH,AL MOV AL,7FH;OCW1 OUT 8DH,ALSTI,中断控制器8259A,中断类型码77H的中断向量设置程序 假设相应中断服务程序名为INTP,该符号地址包含段值属性和段内偏移量属性,将这二者分别存入中断向量地址,中断类型码77H的中断向量地址为77H4=1DCH,即占用1DCH1DFH 4个单元;其中1DEH1DFH存放INTP的段地址,1DCH1DDH存放INTP的段内偏移量。,中断控制器8259A,我们用串指令完成中断向量的设置,程序如下:CLI MOV AX,0 MOV ES,AX;中断向量表段地址 MOV DI,1DCH;中断向量表偏移地址 MOV AX,OFFSET INTP;中断服务程序偏移地址 CLD STOSW MOV AX,SEG INTP;中断服务程序段地址 STOSW STI,The end,

    注意事项

    本文(硬件技术基础第七章中断系统.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开