第08章 中断技术及8259A使用_第1页
第08章 中断技术及8259A使用_第2页
第08章 中断技术及8259A使用_第3页
第08章 中断技术及8259A使用_第4页
第08章 中断技术及8259A使用_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中断技术及中断技术及8259A的使用的使用教学重点 (1)中断基本概念 (2)8086中断系统 (3)可编程中断控制器8259A教学要求理解: 1)中断、中断源、中断向量、中断过程; 2)8086中断系统结构、中断类型码、中断过程; 3)8259A 的功能、编程及使用方法;掌握: 1)8086中断方式及中断入口地址形成方式; 2)8086中断处理过程; 3)8259A的初始化方法;第第8章章 中断技术及中断技术及8259A的使用的使用8.1 中断的概述中断的概述 8.2 中断的一般过程中断的一般过程 8.3 8086中断系统中断系统 8.4 中断控制器中断控制器8259A8.1 中断的概述中断

2、的概述 中断是微机原理中的一种非常重要的技术,也是CPU和外部设备进行数据交换的一种很有效的方法 中断的概念中断的概念 所谓中断(Interrupt),是指计算机在运行过程中,当有某些紧急事件或外设请求发生时,迫使CPU暂时中断现行程序的运行而去处理紧急情况或外设请求,即去执行其对应的中断服务程序;等到事件处理完毕,又返回原程序的中断点处,继续执行被中断的程序。这个过程和机制称为中断。 中断的用途中断的用途 CPU与I/O设备并行工作实现实时处理多道程序或多重任务的运行故障处理中断源及其来源分类中断源及其来源分类 引起中断的原因,或能发出中断申请的来源,称为中断源。 通常中断源有以下几种:一般

3、的输入、输出设备。如键盘、纸带读入机、行打印机等。数据通道中断源。如磁盘、磁带等。实时时钟 故障源 为调试程序而设置的中断源中断的分类 就其性质讲,可分为内部中断和外部中断 所谓外部中断,一般是指I/O设备或其它硬件电路所引起的中断。它的特点是通过硬件向CPU发出中断请求信号,经常称外部中断为硬件中断。外部中断又分为非屏蔽中断(NMI)和可屏蔽中断(INTR)。 所谓内部中断,主要指CPU内部的中断,是通过指令设置的中断。所以内部中断也称为软件中断。使用软件中断,其功能类似于子程序调用。只是这些子程序大部分是系统提供的,所以这类子程序的调用相当于高级语言中的库函数的调用。 8.2 中断的一般过

4、程中断的一般过程 中断请求中断响应中断服务中断返回中断请求 中断请求信号是由中断源向CPU发出的。中断源可以是外部事件,也可以是CPU的内部事件。外部事件的中断请求是外部设备向CPU中断请求引脚发出的电平或边沿信号。内部事件的中断请求可以是CPU执行一条中断指令使CPU进入中断处理过程,也可以是CPU执行程序的结果使CPU进入中断处理过程。 中断响应 若为非屏蔽中断申请,则CPU执行完正在执行的那一条指令后,做好保护工作即可去响应; 若为可屏蔽中断申请,CPU只有得到允许才能去响应。这就是说CPU能否在接到中断申请后立即响应要视情况而定。 对可屏蔽的中断申请,CPU要响应,必须满足以下三个条件

5、:p 无总线请求;p CPU允许中断;p CPU执行完现行指令。 CPU响应中断要自动完成三项任务:u 关闭中断;u CS,IP以及PSW的内容推入堆栈(保护断点);u 取得中断服务程序入口地址,进入中断服务。中断服务 中断服务包括以下六个过程: 保护现场 开中断 中断服务程序 关中断 恢复现场 开中断返回 中断返回 在中断服务程序最后安排一条中断返回指令,使断点送回程序计数器IP,继续执行被中断的程序。 8.3 8086中断系统中断系统NMIINTR硬件中断可屏蔽中断请求INT n 指令非屏蔽中断请求中 断 逻 辑INT3指令INTO指令单步中断除数为0中 断中断控制系统(8259A)808

6、6的中断分类软件中断中断向量及中断向量表中断向量及中断向量表 所谓中断向量,实际上就是中断处理子程序的入口地址,每个中断类型对应一个中断向量。 8086的中断系统是以位于内存0段的03FFH区域的中断向量表为基础的,中断向量表中最多可以容纳256个中断向量。 中断向量并不是任意存放的。一个中断向量占4个存储单元,其中,前2个单元存放中断处理子程序入口地址的偏移量(IP),低位在前,高位在后,后2个单元存放中断处理子程序入口地址的段地址(CS),同样也是低位在前、高位在后。按照中断类型的序号,对应的中断向量在内存的0段0单元开始有规则地进行排列。8086中断处理的优先级中断处理的优先级 8086

7、CPU的中断优先权排列从高到低为: 除法出错中断,溢出中断,INT n, 断点中断 NMI INTR 单步中断8086中断类型号的获取方法中断类型号的获取方法 有两种方法获取类型号。 第一种是用指令直接获取。对于类型号04的中断,由于8086CPU已规定了产生中断的原因,所以可以直接获取类型号。而INT N类型的中断可以由指令直接得到中断类型号。 第二种是由外部引入的INTR中断,当CPU响应中断时必须由硬件提供中断类型号。在可屏蔽中断响应周期进行到第二个周期时,类型号放入数据总线,CPU从数据总线上获取类型号 8086中断过程之内部中断过程中断过程之内部中断过程 首先将状态寄存器的内容压入堆

8、栈中。置TF=0,暂停单步中断,并置IF=0,用以屏蔽以后的可屏蔽中断。断点地址CS:IP压入堆栈。识别中断源,首先获取中断类型号,并将其乘4,得到存储中断向量的起始地址,进而取得中断向量。将中断向量中的高地址的字送入CS寄存器,将低地址的字送IP寄存器中。执行中断服务程序。中断服务程序最后一条指令为IRET,这条指令的功能保证了从堆栈中弹出断点IP和CS的内容,并存入各自的寄存器中,并接着弹出状态寄存器的内容,恢复断点的状态标志。CPU按CS和IP指示的内容正确地返回了程序的断点处,程序从断点处继续运行。8086中断过程之非屏蔽中断过程中断过程之非屏蔽中断过程 CPU一旦响应了中断请求,首先

9、将状态寄存器的内容压入堆栈中。置TF=0,暂停单步中断,并置IF=0,用以屏蔽以后的中断。断点地址CS:IP压入堆栈。识别中断源,首先由中断类型号02H查中断向量表读取中断服务程序的入口地址到CS和IP中。执行中断服务程序。执行中断返回指令IRET,这条指令的功能保证了从堆栈中弹出断点IP和CS的内容,并存入各自的寄存器中,并接着弹出状态寄存器的内容,恢复断点的状态标志。CPU按CS和IP指示的内容正确地返回了程序的断点处,程序从断点处继续运行。8086中断过程之可屏蔽中断过程中断过程之可屏蔽中断过程 执行中断响应周期发出中断响应信号, 从数据总线读取中断类型号。如果当时IF=0,那么可屏蔽的

10、中断源被屏蔽。当IF=1时,CPU在执行完当前指令(有重复前缀的字符串操作指令除外)后将响应它所收到的中断请求。如果有几个中断源同时请求中断,则CPU只响应其中优先级最高的。CPU一旦响应了中断请求,首先将状态寄存器的内容压入堆栈中。置TF=0,暂停单步中断,并置IF=0,用以禁止CPU响应新的可屏蔽中断请求。将指示断点的指令指针寄存器IP及代码段寄存器CS的内容压入堆栈。识别中断源,首先获取中断类型号,并将其乘4,得到存储中断向量的起始地址,进而取得中断向量。将中断向量中的高地址的字送入CS寄存器,将低地址的字送IP寄存器,于是开始执行中断服务程序。中断服务程序最后一条指令为IRET,这条指

11、令的功能保证了从堆栈中弹出断点IP和CS的内容,并存入各自的寄存器中,并接着弹出状态寄存器的内容,恢复断点的状态标志。CPU按CS和IP指示的内容正确地返回了程序的断点处,程序从断点处继续运行。8.4 中断控制器中断控制器8259A Intel 8259A的功能的功能 8259A的结构及引脚的结构及引脚 8259A的中断管理方式的中断管理方式 Intel 8259A的功能的功能 Intel 8259A是与8080/8085系列以及8088/8086系列兼容的可编程的中断控制器。它的主要功能为:具有8级优先权控制,通过级连可扩展至64级优先权控制。每一级中断都可以屏蔽或允许。在中断响应周期,82

12、59A可提供相应的中断类型号,从而能迅速地转至中断服务程序。 8259A有几种工作方式,可以通过编程来进行选择。8259A内部结构图 中断请求寄存器(IRR) 该寄存器用来存放由外部输入的中断请求信号IR7IR0,当某个输入端为高电平时,该寄存器的相应位置“1”。 中断服务寄存器(ISR) 该寄存器记录正在处理中的中断请求,当任何一级中断被响应,CPU正在执行它的中断服务程序时,ISR寄存器中的相应位置“1”,一直保持到该级中断处理过程结束为止。多重中断情况下,ISR寄存器中可有多位被同时置“1”。 优先权判别器(PR) 当输入端IR7IR0中有多个中断请求信号同时产生时,由PR判定哪个中断请

13、求具有最高优先权,并在脉冲期间把它置入中断服务寄存器ISR的相应位。 8259A内部结构图的说明8259A内部结构图的说明(续)中断屏蔽寄存器(IMR) 该寄存器中存放有关被屏蔽的中断线上的信息。当某位置“1”时,表示禁止这一级中断请求进入系统,通过IMR寄存器可实现对各级中断的有选择的屏蔽。级联缓冲/比较器 一片8259A只能接收8级中断,当超过8级时,可用多片8259A级联使用,构成主从关系。对于主8259A,其级联信号CAS2CAS0是输出信号,而对于从8259A,级联信号CAS2CAS0是输入信号。 此时,主8259A的 端为“1”,从8259A的 端为“0”,且从8259A的INT输

14、出接到主8259的中断输入端IR上,因而可把中断扩展到64级。 SPSP8259A的管脚分配的管脚分配 8259中断优先权管理方式完全嵌套方式自动循环方式中断屏蔽方式特殊完全嵌套方式 1.完全嵌套方式 在此种方式下,8259A的中断请求输入端引入的中断具有固定的优先权排队顺序,IR0为最高优先级,IRl为次高优先级,依次类推,IR7为最低优先级。同时,高优先级的中断可进入低优先级,但低优先级不能进入高优先级或同等优先级。 2.自动循环方式 在完全嵌套方式下,中断请求IR0IR7的优先级别是固定不变的,使得从IR0引入的中断总是具有最高优先权。在某些情况下,我们需要能改变这种优先级别,这时,可采

15、用自动循环方式。在这种方式下,从IR0IR7引入的中断轮流具有最高优先权。因为,当任何一级中断被处理完,它的优先级别就被改变为最低,而最高优先级分配给该中断的下一级中断。例如:现正为IR3引入的中断服务,若服务完毕,IR3为最低优先级,IR4有最高优先级,IR5有次高优先级,依次排列。3.中断屏蔽方式 用中断屏蔽方式管理优先权有两种方法:第一,普通屏蔽方式。这种方式是在中断屏蔽寄存器IMR中,将某一位或几位置“1”来屏蔽掉相应级别的中断请求。CPU在执行主程序时将IMR寄存器的相应位置“1”,也可在CPU执行某级的中断服务中,禁止比它高的中断进入,在服务程序中将IMR寄存器的相应位置“1”屏蔽

16、。第二,采用特殊屏蔽方式,这时可以使低优先级别的中断进入正在服务的高优先级别中。 4.特殊完全嵌套方式 特殊完全嵌套方式用在8259A有级联的情况。当任何一个8259A片接收到一个中断请求,经本8259A判别确定为当前最高优先级,则响应这一中断,通过INT端向8259A主片相应的IR端提出中断请求。如果这时8259A主片中ISR相应位已置“1”,则说明该8259A从片的其它输入端已提出过申请,且正在服务。8259A从片的判优电路判别到刚申请的中断优先级最高,故应停止现行中断服务转去为刚申请的中断服务。在8259A有级联的情况下,按完全嵌套方式管理优先权:显然,接在主片IR3上的从片比接在IR4

17、上的从片具有高的优先权,而主片上IR0,IR1,IR2上的中断比从片具有高优先权。 8259A中断结束的管理方式完全嵌套情况的方法自动循环情况的方法特殊完全嵌套情况方法完全嵌套情况下的中断结束方法一般EOI方式,当任何一级中断服务程序结束时,给8259A传送一个EOI命令,8259A将ISR寄存器中级别最高的置“1”位清“0”,这种方式只有在当前结束的中断总是尚未处理完的级别最高的中断时,才能使用这种结束方式。如果在中断服务中修改过中断级别,则不能采用这种方式。特殊EOI方式,在一般EOI方式的基础上,当中断服务程序结束给8259A发出 EOI命令的同时,将当前结束的中断级别也传送给8259A

18、,这就被称作特殊EOI方式。在这种情况下,8259A将ISR寄存器中指定级别的相应置“1”位清“0”。这种方式适合于任何情况下使用。自动EOI方式,CPU进入中断响应总线周期的第二个中断响应信号结束时,自动将ISR寄存器相应置“1”位清“0”。中断结束时,不需要向8259A送EOI命令,这是一种最简单的结束方式。但是存在一个明显的缺点,任何一级中断在执行中断服务程序期间,在8259A中没有留下任何标志,如果在此过程中,出现了新的中断请求,则只要CPU允许中断,不管出现的中断级别如何,都将打断正在执行的中断服务而被优先执行,这显然是不合理的。因此,使用自动EOI结束方式,只有在一些以预定速率发生中断,且不会发生同级中断互相打断或低级中断打断高级中断的情况下。自动循环情况下的中断结束方式一般EOI方式 当任何一级中断服务处理完毕,给8259A送一个一般EOI结束命令,8259A将ISR寄存器中级别最高的置“1”位清“0”,同时赋给它最低优先级,将最高优先级赋给原来比它低一级的中断请求,其它中断请求的优先级别以循环方式类推。特殊EOI方式 这种方式主要用在自动循环优先权管理方式下又有嵌套的情况。在一般EOI方式下,结束一个中断就将它置为最低优先级。若在服务程序中安排了一条优先权置位指令,使得优先权次序发生了变化,就必须使用特殊EOI方式,在向8259A发结束命令的同时,将其中断

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论