书签 分享 收藏 举报 版权申诉 / 100
上传文档赚钱

类型《微机原理与接口技术》课件第7章.pptx

  • 上传人(卖家):momomo
  • 文档编号:7570953
  • 上传时间:2024-03-19
  • 格式:PPTX
  • 页数:100
  • 大小:558.23KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《《微机原理与接口技术》课件第7章.pptx》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    微机原理与接口技术 微机 原理 接口 技术 课件
    资源描述:

    1、第7章 中断技术与中断控制器第7章 中断技术与中断控制器7.1 中断概中断概述述7.2 多级中断管多级中断管理理7.3 IBM-PC的中断系的中断系统统7.4 可编程中断控制器可编程中断控制器Intel 8259A习题习题7第7章 中断技术与中断控制器7.1.1 中断的基本概念中断的基本概念7.1.1 中断的基本概念中断的基本概念当CPU与外设工作不同步时,很难确保CPU在对外设进行读写操作时,外设一定是准备好的。为保证数据的正确传送,可采用查询方式。但是在查询方式下,CPU主动地查询所有外设以确定其是否准备好,是否需要进行数据传送,会使CPU的效率降低,特别是与低速外设进行数据交换时,CPU

    2、需要等待更多的时间。另外在对多个外设进行I/O操作时,如果有些外设的实时性要求较高,CPU有可能因来不及响应而造成数据丢失。第7章 中断技术与中断控制器为了解决上述问题,引入了中断技术。计算机在正常执行程序的过程中,由于某事件的发生使CPU暂时停止当前程序的执行,而转去执行相关事件的处理程序,结束后又返回原程序继续执行,这样的一个过程就是中断。中断最初是为了解决高速CPU与低速外设之间的速度矛盾。实际上,中断的功能远远超出了预期的设计,被广泛地应用在分时操作、实时处理、人机交互、多机系统等方面,中断技术大大地提高了CPU的工作效率。中断的优点有下面三点。第7章 中断技术与中断控制器1.分时操作

    3、分时操作中断技术实现了CPU和外部的并行工作,从而消除了CPU的等待时间,提高了CPU的利用率。另外,CPU可同时管理多个外部设备的工作,提高了输入/输出数据的吞吐量。2.实时处理实时处理在实时控制系统中,现场定时或随机地产生各种参数、信息,要求CPU立即响应。利用中断机制,计算机就能实时地进行处理,特别是对紧急事件能进行实时处理。3故障处理计算机运行过程中,如果出现某些故障,如电源掉电、运算溢出等,计算机可以利用中断系统自行处理。第7章 中断技术与中断控制器7.1.2 中断的响应过程中断的响应过程1中断源中断源所谓中断源,就是引起中断的原因或者发出中断请求的设备。中断源一般分为两类:内部中断

    4、源和外部中断源。内部中断源即中断源在微处理器内部。第7章 中断技术与中断控制器2.中断的响应过程中断的响应过程中断处理一般需要经历下述七个过程。(1)中断请求。当中断源需要CPU对它进行服务时,就会产生一个中断请求信号。(2)中断响应。CPU接收中断请求就称为中断响应。(3)断点保护。当CPU响应某个中断时,就会转到相应中断源的服务程序上。(4)中断源识别。在计算机系统中,往往有多个中断源,当有中断请求时,CPU就需要确定具体的中断源,以便对其进行相应的服务。第7章 中断技术与中断控制器(5)中断服务。一般地,每一个中断源都有其相应的服务程序,即中断程序。(6)断点恢复。当CPU完成相应的中断

    5、服务后,利用中断服务程序,将原来在中断程序中用软件保存的断点信息从堆栈弹出,恢复为中断前的内容。(7)中断返回。在中断程序的最后,通过执行一条中断返回指令,将IP、CS及标志寄存器的内容从堆栈中弹出,使CPU返回到中断前的程序,并从断点处继续执行。第7章 中断技术与中断控制器7.1.3 中断控制的功能中断控制的功能为了满足微机系统的要求,中断控制系统应具有如下三个功能。(1)能实现中断并返回。当某一中断源发出中断请求时,CPU能决定响应或是屏蔽它。(2)能实现中断判优功能。中断判优,即根据中断源的优先级进行排队。(3)能实现中断的嵌套。中断的嵌套是指高级别的中断能中断较低级别的中断处理,它类似

    6、于子程序嵌套。第7章 中断技术与中断控制器7.1.4 最简单的中断情况最简单的中断情况为了便于理解中断系统的工作情况,我们从只有一个中断源这种最简单的情况入手,来分析中断的情况。1.CPU响应中断的条件响应中断的条件1)中断请求当外设需要CPU提供服务时,便通过自身的中断请求触发器发出中断请求信号,将它加至CPU的中断请求输入引脚(INTR),形成对CPU的中断请求。这个信号一直保持到CPU响应中断后才被清除,如图7.1所示。第7章 中断技术与中断控制器图7.1 最简单的中断情况第7章 中断技术与中断控制器 2)中断屏蔽中断屏蔽在外设的接口电路中,设有一个中断屏蔽触发器,用来控制该中断源发出的

    7、中断请求信号是否被允许送往CPU,中断屏蔽触发器的状态可以用输出指令来控制。而实际的应用系统中往往有多个中断源,这样就可以将8个外设的中断源组成一个端口,用输出指令的置位操作来灵活地对某一中断实现屏蔽控制,如图7.1所示,当触发器为“1”时,外设的中断请求才能被送出至CPU。第7章 中断技术与中断控制器3)中断的开放中断的开放在CPU内部有一个中断允许触发器,用来决定是否响应CPU中断请求引脚(INTR)送来的中断请求。当中断开放(触发器为“1”)时,CPU才能响应中断;当关闭中断(触发器为“0”)时,CPU不响应中断请求。这个中断允许触发器的状态可以用STI和CLI指令来改变。在CPU复位或

    8、是当中断响应后,CPU就处于中断关闭状态,这样就必须在中断服务程序中用STI指令来让中断开放。第7章 中断技术与中断控制器4)中断请求的检测中断请求的检测CPU在每条指令执行的最后一个时钟周期,检测其中断请求引脚(INTR)有无中断请求信号。如果有中断请求信号,就把内部的中断锁存器置“1”,在下一个总线周期到来时,进入中断响应状态。第7章 中断技术与中断控制器2.CPU对中断的响应对中断的响应当CPU响应外设的中断后,还要具体完成一些工作。1)关中断当响应中断后,首先要进行关中断操作。对8086微处理器,CPU在发出中断响应信号的同时,在内部自动完成关中断操作。2)断点保护当CPU响应中断源的

    9、中断请求后,将停止下一条指令的执行,把当前相关寄存器的内容压入堆栈,为中断返回做好准备。第7章 中断技术与中断控制器3)给出中断入口地址,转入相应的中断服务程序对8086/8088 CPU,由中断源给出的中断向量,形成中断服务程序的起始地址,转入中断服务程序,进行相应的中断服务。4)恢复现场当CPU完成相应的中断服务后,利用中断服务程序,将原来保存的现场信息从堆栈弹出,恢复CPU内部各寄存器的内容。第7章 中断技术与中断控制器 5)开中断与返回在中断服务程序的最后,为使CPU能再次响应新的中断请求,执行开中断操作,同时安排一条中断返回指令,从堆栈中弹出IP、CS,恢复原程序的执行。第7章 中断

    10、技术与中断控制器 7.2 多级中断管理多级中断管理 在实际应用中,一般有多个中断源。这就涉及多级中断的管理问题,其关键是中断优先级的控制问题。中断优先级是指每个中断源在接受CPU服务时的优先等级,对中断优先级的控制要解决以下两个方面的问题:第7章 中断技术与中断控制器(1)CPU应首先响应最高优先级的中断请求。由于不同的中断源在系统中的功能不同,因而它们在重要性方面也存在级别的差异。当它们同时向CPU提出中断请求时,系统应根据各中断源的级别首先响应级别最高的中断请求。(2)中断嵌套,即高优先级的中断请求可以中断低优先级的中断服务。当CPU正在处理某一中断时,如果还有更高级别的中断源有中断请求,

    11、则CPU也要能够响应。要保证多级嵌套的顺利进行,在中断处理程序中要有开中断指令,即在中断服务的同时,允许被中断响应。另外,要设置足够大的堆栈。第7章 中断技术与中断控制器7.2.1 用软件查询确定中断优先权用软件查询确定中断优先权软件查询的方法是:当CPU响应中断后,利用软件查询有哪些外设申请中断,判断哪个中断源的级别更高,并首先为它进行中断服务。第7章 中断技术与中断控制器在实际应用中,一般将8个外设的中断请求触发器组合起来,作为一个端口,并赋以端口号,如图7.2所示。把8个外设的中断请求信号相“或”后,作为INTR信号,这样只要有一个外设有中断请求,就可向CPU发出INTR信号。当CPU响

    12、应中断后,把中断寄存器组成的这个端口的状态读入CPU,逐位检测,若有中断请求就转到相应的服务程序的入口。第7章 中断技术与中断控制器图7.2 实现软件查询的接口电路第7章 中断技术与中断控制器果设定该接口的端口号为20H,程序查询可采用以下两种方法。1)屏蔽法2)移位法第7章 中断技术与中断控制器软件查询法的优缺点如下:(1)优点:优点:利用软件完成中断优先权的检测,不需要硬件判优电路。另外,优先权由查询的次序来决定,首先查询的即为优先权最高的。(2)缺点:缺点:不管外设是否有中断请求都需要按次序逐一询问,因而效率较低。特别是在中断源较多的情况下,转至中断服务程序的时间较长。第7章 中断技术与

    13、中断控制器7.2.2 硬件优先权排队电路硬件优先权排队电路1中断优先权编码电路中断优先权编码电路中断优先权编码电路是用硬件编码器和比较器组成的优先权排队电路,如图7.3所示。在图中,当8个中断源中某一个有中断请求时,便在其中断请求线上产生“1”,并在“或”门的输出端形成一个中断请求信号,但它能否送至CPU的中断请求线INTR,还受到比较器的控制。8条中断输入线的任一条,经过编码器可以产生三位二进制优先权编码A2A1A0,编码范围为000111,其中111优先权最高,000优先权最低。而且,当有多个中断源同时产生中断请求时,编码器只输出优先权最高的编码。第7章 中断技术与中断控制器图7.3 中断

    14、优先权编码电路第7章 中断技术与中断控制器2.链式优先权排队电路链式优先权排队电路链式优先权排队电路如图7.4所示。当有多个中断请求输入时,由中断输入信号的与门电路产生INTR信号,送至CPU。CPU在现行指令执行完后响应中断,并发出高电平的中断响应信号。总之,在链式优先权排队电路中,排在链的最前面的中断源的优先权最高。第7章 中断技术与中断控制器图7.4 链式优先权排队电路第7章 中断技术与中断控制器 7.3 IBM-PC的中断系统的中断系统7.3.1 外部中断外部中断外部中断是由外部中断源对CPU产生的中断请求。根据外部中断源是否受8086/8088 CPU标志寄存器的中断允许标志位(IF

    15、)的影响,将外部中断分为非屏蔽中断和可屏蔽中断两种。对应于这两种中断方式,在8086/8088 CPU的外围引脚上有两个中断请求输入引脚NMI和INTR,分别用于非屏蔽中断请求和可屏蔽中断请求信号的输入。第7章 中断技术与中断控制器1.非屏蔽中断非屏蔽中断非屏蔽中断不受CPU中断允许标志位IF的影响,一旦有中断请求,CPU必须响应。当外部中断源的中断请求信号加至NMI(Non Maskable Interrupt)引脚时,就产生非屏蔽中断。非屏蔽中断由CPU内部自动提供中断向量码(n=2),以便及时响应。NMI中断可用来处理微机系统的紧急状态。在IBM PC/XT中,NMI中断用来处理存储器奇

    16、偶校验错和I/O通道奇偶校验错等事件。非屏蔽中断的优先权高于可屏蔽中断。第7章 中断技术与中断控制器2.可屏蔽中断可屏蔽中断可屏蔽中断受中断允许标志位IF的限制,只有当IF=1时,CPU才响应中断;当IF=0时,CPU不会响应外部中断,即中断被屏蔽。当外部中断请求信号加至CPU的INTR引脚上时,即产生可屏蔽中断。在计算机系统中,大多数外部中断源都属于可屏蔽中断。第7章 中断技术与中断控制器7.3.2 内部中断内部中断内部中断是指CPU内部事件及执行软中断指令所产生的中断请求。已定义的内部中断有下面的5个。(1)除法错中断。执行除法指令时,如果除数为“0”或商超过寄存器所能表达的最大值,则无条

    17、件产生该中断。该中断向量码为0。(2)单步中断。该中断是在调试程序过程中为单步运行程序而提供的中断。当设定单步操作时,标志寄存器的TF=1,这样使CPU执行完一条指令就产生该中断。该中断向量码为1。第7章 中断技术与中断控制器(3)断点中断。该中断是在调试程序过程中为设置程序断点而提供的中断。执行INT 3指令或设置断点可产生该中断。INT 3指令功能与软件中断相同,但是为了便于与其他指令置换,它被设置为1字节指令。该中断向量码为3。(4)溢出中断。在算术运算程序中,若在算术运算指令后加入一条INTO指令,则INTO指令将测试溢出标志OF。当OF=1(运算溢出)时,该中断发生。它的中断向量码为

    18、4。(5)软件中断。执行软件中断指令INTn即产生该中断,n为中断向量码。第7章 中断技术与中断控制器7.3.3 中断优先权中断优先权1.优先权的判决优先权的判决中断优先权也称中断优先级,在IBM-PC中,当多个中断同时向CPU提出中断申请时,利用可编程中断控制器(PIC)来实现中断优先权的判决。它是80 x86系统中普遍采用的方法,也是目前使用最广泛、最方便的方法。对于可编程中断控制器,将在7.4节中进行详细分析。第7章 中断技术与中断控制器2.中断优先级的次序中断优先级的次序IBM-PC规定的中断优先级的次序是:内部中断(高)非屏蔽中断可屏蔽中断单步中断(低)在8086/8088系统中,可

    19、屏蔽中断有8个中断源,其中断优先级如表7-1所示。第7章 中断技术与中断控制器第7章 中断技术与中断控制器7.3.4 中断向量表中断向量表1.中断类型号中断类型号(中断向量码中断向量码)在8086/8088的中断系统中,每个中断源都有相应的处理程序,对每个中断都规定有一个中断类型号,共256个(0255)。CPU根据这些类型号结合中断向量表就可以转入相应的中断处理程序,完成相应的中断服务。常用中断类型号及其功能如表7-2所示。第7章 中断技术与中断控制器第7章 中断技术与中断控制器中断类型号20H3FH由DOS操作系统使用,用户程序可以调用其中的20H27H号中断,这些中断的安排如表7-3所示

    20、。第7章 中断技术与中断控制器2中断向量表中断向量表当一个中断源提出中断请求后,系统怎么转入相应的处理程序呢?在8086/8088系统中,系统依靠中断向量表来转到中断源相应的处理程序,从而完成中断服务。中断向量表是中断类型号与相应中断源的中断处理程序入口地址之间的连接表。8086/8088微机系统用内存最低端的1 KB空间作为中断向量表(00000H003FFH,共1 KB),共有256个中断向量码,按序号排列。在微机系统初始化时,利用程序将中断向量写入系统内存的最低端,如图7.5所示。第7章 中断技术与中断控制器图7.5 中断向量表第7章 中断技术与中断控制器7.3.5 微处理器的中断响应和

    21、处理过程微处理器的中断响应和处理过程对于外部中断,CPU在每条指令执行结束时采样中断请求输入信号。如果有可屏蔽中断请求,且IF=1(开中断),则CPU连续运行两个中断响应周期,在第二个中断响应周期中,采样数据线获取由外设输入的中断类型码。如果采样到非屏蔽中断请求,则CPU不经过上述的两个中断响应周期,而在内部自动产生中断类型码2。对于软件中断,中断类型码则自动形成,具体安排如表7-4所示。第7章 中断技术与中断控制器第7章 中断技术与中断控制器8086/8088取得中断类型码后,就开始进行中断服务。其处理过程如下:(1)将中断类型号乘4,并将其作为中断向量表的指针,使其指向中断处理程序的入口地

    22、址。(2)保存CPU状态,即把标志寄存器的内容入栈。(3)使TEMP=TF,清除IF和TF的状态标志位,屏蔽新的INTR和单步中断。(4)保存断点,即把CS和IP内容入栈。第7章 中断技术与中断控制器5)从中断向量表中获取CS、IP,转入中断处理子程序入口地址。(6)将CPU内部各寄存器的内容入栈,开中断(允许中断嵌套),然后执行中断处理子程序,进行中断服务。当中断处理程序结束时,恢复被保存寄存器的内容,最后执行中断返回指令IRET。IRET指令将从堆栈中弹出IP、CS和标志寄存器的内容,此时,CPU结束中断处理子程序的运行,返回到被中断的主程序断点处继续执行。8086/8088的中断处理过程

    23、可用图7.6所示的流程图表示。第7章 中断技术与中断控制器图7.6 8088的中断响应和处理流程第7章 中断技术与中断控制器 7.4 可编程中断控制器可编程中断控制器Intel 8259A7.4.1 Intel 8259A的主要性能和内部结构的主要性能和内部结构1.Intel 8259A的主要性能的主要性能Intel 8259A是被广泛使用的可编程中断控制器,在IBM-PC/XT中,就使用Intel 8259A作为中断控制器。它用来管理输入到CPU的可屏蔽中断请求,其主要功能有:第7章 中断技术与中断控制器(1)可以直接管理8个中断源,级联方式下不用附加电路就可以管理64个可屏蔽中断源,并具有

    24、优先权判决功能。(2)能为中断源提供中断向量码。(3)可以对每一级中断进行屏蔽控制。(4)可提供多种可供选择的工作方式,并能通过编程进行控制。第7章 中断技术与中断控制器2.Intel 8259A的内部结构的内部结构8259A的内部结构如图7.7所示。图7.7 8259A的内部结构框图第7章 中断技术与中断控制器其内部各组成模块有如下功能。(1)中断请求寄存器IRR。8259A有8条外部中断请求输入信号线IR0IR7,每一条请求线上有一个相应的触发器来保存请求信号,它们构成了中断请求寄存器IRR(Interrupt Request Register)。外部设备产生中断请求有两种方式:一种是边沿

    25、触发方式,该方式利用脉冲上升沿的跳变,并一直保持高电平直到中断被响应为止;另一种是电平触发方式,该方式通过输入并保持高电平来实现中断请求。第7章 中断技术与中断控制器(2)中断屏蔽寄存器IMR。IMR(Interrupt Mask Register)用来存放屏蔽位信息,IMR的每一位可以禁止IRR中对应位的中断请求输入信号进入。但屏蔽优先权级别较高的中断请求输入,不会影响优先权级别较低的中断请求输入。(3)中断服务寄存器ISR。ISR(Interrupt Service Register)存放当前正在进行服务的所有中断。ISR中相应位的置位是在中断响应的 脉冲期间,由优先权判决电路根据IRR中

    26、各请求位的优先权级别和IMR中屏蔽位的状态,将中断的最高优先级请求位选通到ISR中。第7章 中断技术与中断控制器(4)优先权判决电路。优先权判决电路在中断响应期间,根据控制逻辑规定的优先权级别和IMR的内容,把IRR中允许中断的优先权最高的中断请求位送入ISR。(5)控制逻辑。在8259A的控制逻辑电路中有一组预置命令字寄存器和一组操作命令字寄存器,利用它们通过编程设置来管理8259A的工作方式。当有未被屏蔽的高级别的中断请求时,通过控制逻辑输出高电平的INT信号,向CPU申请中断。当CPU允许中断时,发出中断响应信号。在中断响应期间,它允许ISR的相应位置位,并发送相应的中断向量,通过数据总

    27、线缓冲器输出到总线上。INTA第7章 中断技术与中断控制器(6)数据总线缓冲器。这是8位双向三态缓冲器,用作8259A与数据总线的接口,传输命令控制字、状态字和中断向量。(7)读/写控制电路。该部分接收来自CPU的读/写命令,实现对8259A的读/写操作。(8)级联缓冲器/比较器。它们实现8259A芯片之间的级联,使得中断源可以由8级扩展至64级。第7章 中断技术与中断控制器3.8259A的工作过程的工作过程根据8259A的内部结构,其工作过程如下:(1)外部中断源通过IR0IR7输入高电平的中断请求信号。(2)外部中断源的中断请求信号使中断请求触发器IRR的相应位置“1”,并与IMR按位相“

    28、与”,送给优先权判决电路。第7章 中断技术与中断控制器(3)优先权判决电路从IRR中检测出优先级最高的中断请求位,并将其与ISR中记录的正在被CPU服务的中断进行优先级比较。当提请的中断优先级高于正在服务的中断优先级时,中断优先权判决电路就向控制逻辑发出有效的中断请求信号。(4)当控制逻辑收到有效的中断请求信号时,向CPU发出高电平信号INT,请求中断服务。第7章 中断技术与中断控制器(5)在中断允许(IF=1)的情况下,CPU接收中断请求INT,并发出中断响应信号,对8086/8088 CPU,将连续发出两个 脉冲。(6)当8259A接到来自CPU的第一个 脉冲时,就把允许中断的最高优先级请

    29、求位置入ISR,并把IRR中的相应位复位。如果工作在级联方式下,而且设备的优先级最高,则主控8259A将送出级联地址CAS0CAS2,将其加载至从属8259A上。INTAINTA第7章 中断技术与中断控制器(7)在接到第二个脉冲时,对于单独使用或是级联方式下从属的8259A,将其中断向量发送至数据总线。(8)CPU从数据总线上获取中断向量码,转移到相应的中断处理程序。(9)中断结束时,通过在中断处理程序中向8259A发送一条EOI(中断结束)命令,使ISR相应位复位,或在AEOI(自动中断结束)方式下,由8259A在第二个脉冲的后沿自动将ISR相应位复位。INTAINTA第7章 中断技术与中断

    30、控制器 7.4.2 Intel 8259A的外部特性的外部特性Intel 8259A是双列直插式芯片,其外围引脚排列如图7.8所示。图7.8 8259A的外围引脚排列第7章 中断技术与中断控制器 7.4.3 Intel 8259A的控制字和编程的控制字和编程8259A是可编程控制器,它根据CPU的命令进行工作。通过对控制字的编程控制,来初始化和控制8259A工作方式,使其完成规定的功能。CPU对8259A的控制命令分为两类:一类是初始化控制字(ICW),另一类是操作命令字(OCW)。8259A共有7个控制字,其中4个是初始化控制字,3个是操作控制字。第7章 中断技术与中断控制器 1.8259A

    31、的初始化控制字及初始化编程的初始化控制字及初始化编程初始化控制字(Initialization Control Word,ICW)是在计算机启动的过程中设定完成的,计算机启动起来后,8259A就按初始设定的状态工作。1)8259A初始化的顺序8259A有四个初始化控制字ICW1、ICW2、ICW3和ICW4,由于8259A只有一根地址线,因此对各个控制字的操作是按照一定的顺序并结合某些数据位来进行寻址设置的。8259A初始化的顺序如图7.9所示。第7章 中断技术与中断控制器图7.9 8259A的初始化顺序第7章 中断技术与中断控制器 2)各初始化控制字的功能各初始化控制字的功能(1)ICW1的

    32、控制字格式如图7.10所示。图7.10 ICW1的格式第7章 中断技术与中断控制器(2)ICW2在8086/8088方式下,提供8个中断源的中断向量码。ICW2的命令字格式如图7.11所示。图7.11 ICW2的格式第7章 中断技术与中断控制器在初始化编程时要保持ICW2的低三位为“0”,如设定ICW2为“11111000”(F8H)。如果某一中断源IRn有中断请求,将n填入ICW2的低3位,与高5位共同组成该中断源的中断向量码,如表7-5所示。第7章 中断技术与中断控制器第7章 中断技术与中断控制器(3)ICW3用于8259A的级联,若系统中只有一片8259A,则不用ICW3;若8259A工

    33、作于级联方式,则需要用ICW3设置8259A的状态。是否需要ICW3,取决于ICW1中的SNGL位的状态。在级联方式下,主控8259A的ICW3表示8259A的级联结构,ICW3中被置位的位表示对应的IRn输入端接有从属8259A,并与从属8259A的INT输出端相连。在中断响应过程中,如果从属8259A发出中断请求的优先级最高,则中断向量由相应的从设备8259A发送。主控8259A的ICW3格式如图7.12所示。第7章 中断技术与中断控制器图7.12 ICW3的格式第7章 中断技术与中断控制器(4)ICW4只有在ICW1的IC4=1时才使用,其格式如图7.13所示。图7.13 ICW4格式第

    34、7章 中断技术与中断控制器 2.8259A的控制命令字及操作方式编程的控制命令字及操作方式编程对8259A初始化完成后就进入工作状态,准备好接收中断源的中断请求信号。在8259A工作期间,可通过操作命令字(Operating Command Word,OCW)来使它按不同的方式进行操作,8259A操作命令字可在初始化后的任何时刻写入8259A。操作命令字共有三个:OCW1、OCW2、OCW3。第7章 中断技术与中断控制器 1)8259A操作命令字的寻址操作命令字的寻址当初始化完成后,对8259A操作命令字的寻址是通过8259A的地址线A0和某些数据位结合来进行的。具体寻址条件如下:当A0=1时

    35、,寻址OCW1;当A0=0,D4=0,D3=0时,寻址OCW2;当A0=0,D4=0,D3=1时,寻址OCW3。第7章 中断技术与中断控制器 2)8259A的操作命令的操作命令(1)OCW1。当A0=1时,可寻址OCW1。OCW1是中断屏蔽命令字,其格式如图7.14所示。图7.14 OCW1的格式第7章 中断技术与中断控制器(2)OCW2。当A0=0,D4=D3=0时,可寻址OCW2。OCW2用于控制中断结束、优先权循环等操作。OCW2命令或方式的选择以位的组合格式来设置,而不是按位设置。OCW2的格式和各位的功能如图7.15所示。第7章 中断技术与中断控制器图7.15 OCW2的格式第7章

    36、中断技术与中断控制器(3)OCW3。当A0=0,D4=0,D3=1时,寻址OCW3。OCW3主要控制8259A的中断屏蔽、查询和读寄存器等状态。OCW3的格式及各位功能如图7.16所示。图7.16 OCW3的格式第7章 中断技术与中断控制器 7.4.4 Intel 8259A的工作方式的工作方式8259A通过编程可以设置各种工作方式,因而能适应不同系统环境的要求。1中断屏蔽方式中断屏蔽方式8259A有两种形式的屏蔽方式:一般屏蔽方式和特殊屏蔽方式。1)一般屏蔽方式一般屏蔽方式在正常情况下,当一个中断请求被响应时,8259A将禁止同级和较低优先级的中断请求,这就是一般屏蔽方式。第7章 中断技术与

    37、中断控制器 2)特殊屏蔽方式特殊屏蔽方式在一些特殊的场合,如需要均等服务,此时就需要对中断的优先权进行动态管理,一般屏蔽方式就不能满足要求。第7章 中断技术与中断控制器 2.查询方式查询方式8259A也可以用查询方式来检查请求中断的设备。当CPU关中断时,中断输入信号将不起作用,那么对设备的服务就可通过软件查询来实现。查询命令是通过OCW3中P=1发出的,8259A接到查询命令后,把随后的一次CPU读操作当做中断响应信号,如果有中断请求,就把ISR相应的位置位,并读出该中断级别,如图7.17所示。第7章 中断技术与中断控制器图7.17 查询方式读出的中断状态字第7章 中断技术与中断控制器 3.

    38、优先级方式优先级方式8259A对优先级的控制是通过操作命令字OCW2来设置的,它有两种优先级方式:1)固定优先级方式当8259A初始化完成后,就为固定优先级方式,即8个中断请求的优先级从高到低依次为IR0IR1IR2IR3IR4IR5IR6IR7,IR0优先级最高,IR7优先级最低,该顺序固定不变。第7章 中断技术与中断控制器 2)循环优先级方式循环优先级方式是将8个中断源IR0IR7按固定顺序构成一个闭合的环,具体有两种实现方法。(1)自动优先级循环。该方法规定刚被服务过的中断源优先级最低,其他中断源的优先级将依闭合环顺序变化。(2)指定循环优先级。该方法规定在OCW2中指定的中断源优先级最

    39、低,其他中断源的优先级将按闭合环顺序变化。第7章 中断技术与中断控制器 4.嵌套方式嵌套方式嵌套方式用来进行优先级控制,8259A的嵌套方式有两种形式。1)全嵌套方式(一般嵌套方式)在8259A初始化完成后,就处于固定中断优先权方式。全嵌套方式是指当CPU正在对某中断源进行服务时,在中断服务程序完成之前,将会屏蔽同级或更低级中断源的中断请求,只有优先权比它高的中断源的中断请求才能被响应(CPU已开中断)。这种方式一般用在单片使用8259A或级联方式下的从属8259A上。第7章 中断技术与中断控制器 2)特殊全嵌套方式特殊全嵌套方式8259A以级联方式工作时,要求主控制器8259A在对一个从属8

    40、259A送来的中断进行服务的过程中,还能够对同一个从属8259A上另外的中断源进行中断服务,这就需要采用特殊的全嵌套模式。特殊全嵌套方式是为实现多重中断而专门设置的,这种方式与全嵌套方式的工作情况基本相同,不同点有以下两个方面。第7章 中断技术与中断控制器(1)在级联方式下的主控制器8259A上,它允许同级优先权之间中断。这样,如果CPU响应了从属8259A某一中断源的中断请求后,这个从属8259A上优先权高于正在服务的中断源,另一个中断请求也可以得到响应。(2)如果主控8259A的某一端接有从属8259A,这个中断源要退出中断服务程序前,必须检查它是否是这个从属8259A中唯一的中断源,只有

    41、在唯一的情况下才能送一个EOI命令至主8259A,以结束此从属8259A的中断。检查的办法是送一个一般EOI命令给从属8259A,当它的ISR为0时,说明它的中断源是唯一的。第7章 中断技术与中断控制器 5.中断结束方式中断结束方式8259A中的内部服务寄存器ISR用来记录哪一个中断源正在被CPU服务,当中断结束时,必须给8259A一个命令,以清除ISR的相应位。8259A有两种中断结束方式。1)自动结束方式自动结束方式(AEOI)这种方式不需要EOI命令,对8086/8088系统,8259A在第2个脉冲的后沿自动执行使ISR的相应位复位。由于这种方式在中断服务过程中使ISR相应位复位,就有可

    42、能响应优先级更低的中断,因此不适合有中断嵌套的情况。INTA第7章 中断技术与中断控制器 2)非自动结束方式非自动结束方式(EOI)这种方式是在中断处理程序中提供一条EOI(中断结束)命令,使8259A中的ISR相应位复位。如果是级联方式,则必须送两个EOI命令,第一个先送从属8259A,第二个送主控8259A,特别是在特殊嵌套的情况下,必须按此次序发送。第7章 中断技术与中断控制器 EOI命令由OCW2来设置,有以下两种形式。(1)一般中断结束命令(EOI)。该命令对正在服务的中断源的ISR复位。(2)特殊中断结束命令(SEOI)。该命令对指定中断源的ISR复位。第7章 中断技术与中断控制器

    43、 6.缓冲方式缓冲方式当8259A以级联方式用在一个大的系统下时,就要求对数据总线进行驱动缓冲。缓冲方式用来设定系统总线与8259A数据总线之间是否需要进行缓冲。(1)非缓冲方式。在指定非缓冲方式时,/作为输入,用来识别8259A是主控制器还是从属控制器。(2)缓冲方式。此方式下/为输出,作为允许缓冲器发送/接收的控制信号。SPENSPENEN第7章 中断技术与中断控制器 7.读读8259A的状态的状态CPU可以读出8259A内部的IRR、ISR、IMR寄存器的状态,以便进行有关分析处理。1)读中断请求寄存器读中断请求寄存器IRRIRR中保存着申请中断的各输入级。若A0=0,OCW3的RR=1

    44、、RIS=0,则可用读命令读取IRR的状态。第7章 中断技术与中断控制器 2)读中断服务寄存器读中断服务寄存器ISRISR的内容为正在服务的各个中断优先级,在中断响应时或中断结束命令EOI到来时,ISR的内容被修改,使A0=0,OCW3的RR=1、RIS=1,可用读命令读取ISR的状态。3)读中断屏蔽寄存器读中断屏蔽寄存器IMRIMR中的内容是被屏蔽的各中断请求级。当A0=1时,可用读命令读取IMR的状态。第7章 中断技术与中断控制器 88259A的级联的级联一个8259A最多可以直连8个中断源,当系统中的中断源超过8个时,就需要进行8259A的级联,如图7.18所示。第7章 中断技术与中断控

    45、制器图7.18 8259A的级联第7章 中断技术与中断控制器 7.4.5 Intel 8259A的应用举例的应用举例1.中断接口的设计中断接口的设计将单片8259A接入8088系统中,设计其端口地址为FFF0H和FFF1H,其具体连接如图7.19所示。8259A由于只有一根地址线,因此它在系统中只占用两个端口地址。8259A内部的7个命令寄存器和3个状态寄存器的寻址是将这两个端口地址结合操作命令、特定数据位、严格的写入次序等来实现对8259A内部寄存器的寻址,如表7-6所示。第7章 中断技术与中断控制器图7.19 8259A在系统中的连接第7章 中断技术与中断控制器第7章 中断技术与中断控制器

    46、 2.中断程序的编写中断程序的编写当把8259A接入系统后,就需要编写该接口的中断程序。中断程序由两个部分组成:中断接口的初始化程序和中断处理程序。我们以图7.19为例来说明中断程序的编写。1)初始化中断控制器8259A 初始化包括两个方面:一是初始化8259A的初始状态,二是完成中断向量表的设置。(1)初始化8259A。由于8259A的ICW有严格的写入次序,因此,编程时必须根据其规定的初始化顺序对四个ICW进行初始化操作。第7章 中断技术与中断控制器(2)设置中断向量。对IBM-PC/XT,设置中断向量是在计算机启动过程中将中断向量表写入内存的。对用户自行设计的中断接口,当初始化完成后,需

    47、要人为设置中断向量表,以使设计的中断向量与相应的中断处理程序建立连接。这样,当CPU响应这些中断源的中断请求时,便能根据中断向量找到相应的处理程序,进行相应的中断服务。第7章 中断技术与中断控制器 2)编写中断处理程序编写中断处理程序中断处理程序用来完成对中断源的具体服务,在中断处理程序中,通过对OCW的设置,可以使8259A在各种方式下工作。为了便于分析,我们利用IBM-PX/XT的8259A,并将中断源简化成开关S,通过IRQ7来申请中断,如图7.20所示。第7章 中断技术与中断控制器图7.20 利用开关申请中断第7章 中断技术与中断控制器习习 题题 7 7.1 什么是中断?中断方式与程序

    48、查询方式有什么区别?7.2 简述中断的处理过程,画出中断处理的流程图。7.3 说明8086/8088 CPU响应中断的条件。7.4 确定中断优先级有哪两种方法?它们各有什么特点?7.5 简述8086/8088的内部中断和外部中断的区别。7.6 什么是中断向量?什么是中断向量表?第7章 中断技术与中断控制器 7.7 对8086/8088系统,怎么通过中断向量表得到中断处理程序的入口地址?7.9 什么是非屏蔽中断?什么是可屏蔽中断?它们的主要区别是什么?8086/8088 CPU的NMI和INTR两个输入端有什么区别?7.10 IMR和IF有什么区别?7.11 8259A的主要功能有哪些?8259A怎么用一根地址线实现对内部7个控制字的寻址操作?第7章 中断技术与中断控制器 7.12 8259A的初始化控制字(ICW)和操作命令字(OCW)的编程在什么时候进行?7.13 简述8259A的中断结束方式。7.14 简述8259A的优先级控制方式。7.15 如何编写中断程序?

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《微机原理与接口技术》课件第7章.pptx
    链接地址:https://www.163wenku.com/p-7570953.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库