微机原理第9章中断与DMA技术.ppt_第1页
微机原理第9章中断与DMA技术.ppt_第2页
微机原理第9章中断与DMA技术.ppt_第3页
微机原理第9章中断与DMA技术.ppt_第4页
微机原理第9章中断与DMA技术.ppt_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

课程教学单元,第1章 微型计算机基础知识 第2章 80X86/Pentium微处理器内部结构 第3章 指令系统 第4章 汇编语言程序设计 第5章 8086/8088CPU的总线操作与时序 第6章 微型计算机系统结构 第7章 半导体存储器 第8章 输入输出接口技术 第9章 中断与DMA技术 第10章 定时与计数技术 第11章 并行接口与串行接口 第12章 人机交互接口 第13章 模拟量输入输出接口,第9章中断与DMA技术,9.1概念及处理过程 1、中断概念 2、中断源 3、中断处理过程 (1)中断请求 (2)中断判优 (3)中断响应 (4)中断服务 (5)中断返回,9.2 8086中断系统 1、中断源与中断类型号 2、中断向量表 3、中断响应过程 4、中断时序,9.3 中断控制器Intel8259A 1、性能 2、结构和工作原理 3、外部引脚和工作过程 4、工作方式 (1)中断优先权管理方式 (2)中断源屏蔽方式 (3)结束中断方式 (4)与系统总线的连接方式 (5)引入中断请求的方式 5、8259A的编程 (1)端口地址 (2)初始化编程ICW1-ICW4 (3)操作编程OCW1-OCW3 6、级联,9.1 中断的概念及处理过程 1、中断概念 2、中断源 3、中断处理过程 (1)中断请求 (2)中断判优 (3)中断响应 (4)中断服务 (5)中断返回,计算机在执行正常程序的过程中,当出现某些紧急情况,异常事件或其它请求时,处理器会暂时中断正在运行的程序,转而去执行对紧急情况或其它请求的操作处理。处理完成以后,CPU 回到被中断程序的断点处接着往下继续执行,这个过程称为中断。,1、中断概念,引起中断的原因或设备称为中断源,2、中断源,中断源可以被禁止(CLI)、被屏蔽(MASK)、可以嵌套,硬件中断(外部中断):即通过外部的硬件产生的中断 不可屏蔽中断:每个系统中仅允许有一个,都是用来处理紧急情况的,由NMI引脚引入,不受IF标志的影响,一旦发生,系统会立即响应; 可屏蔽中断:由INTR引脚引入,IF1时可屏蔽中断才能进入,反之则不允许进入。可屏蔽中断可有多个,一般是通过优先级排队,从多个中断源中选出一个进行处理。 (2) 软件中断(内部中断):即根据某条指令或者对标志寄存器中某个标志的设置而产生,它与硬件电路无关,常见的如除数为0,或用INT n指令产生,3、中断处理过程(以外部中断为例),(1)中断请求,请求中断的条件: 外设准备好数据 系统允许外设发出中断,请求信号工作特点: .中断请求信号应保持到中断被处理为止 .CPU识别中断源有两个方法: 软件查询、中断矢量法 .CPU响应中断后,中断请求信号应及时撤销,(2)中断判优 多设备同时中断请求,CPU首先为谁服务?,中断优先级控制要处理两种情况: 对同时产生的中断:首先处理优先级别较高的中断;若优先级别相同,则按先来先服务的原则处理; 非同时产生的中断:低优先级别的中断处理程序允许被高优先级别的中断源所中断,即允许中断嵌套。 中断优先级的控制可有三种方法 软件查询法顺序查询中断请求,先查询的级别高 硬件链式判优优先权排队电路 专用硬件判优可编程中断控制器(PIC)芯片,软件查询法,硬件链式判优,专用硬件PIC判优,(3)中断响应,响应中断的时间: 每条指令最后一个时钟周期,CPU检测INTR或NMI信号 响应中断的条件: 当前指令执行完(带LOCK、REP前缀要求完整地执行) 当前没有复位(RESET)和保持(HOLD)信号 对INTR,CPU应处于开中断状态,即IF=1,且无NMI 响应中断的动作: 向中断源发出中断响应信号 断点保护,包括CS、IP和FR 获得中断服务程序入口地址(软件获取法、中断向量法),(4)中断处理 进入中断服务程序,由一系列的PUSH指令完成,保护那些与主程序中有冲突的寄存器。,由STI实现,为了能中断的嵌套。,与保护现场对应,注意恢复次序。,使用中断返回指令IRET,不能用子程序返回指令RET。恢复断点地址外和标志寄存器的值 。,(5)中断返回,提供具体的数据传输和处理。,9.2 8086中断系统 1、中断源与中断类型号 2、中断向量表 3、中断响应流程,1、8086/8088的中断源与中断类型号,优先级从高到低顺序如下: 除法出错、INT n、INT 0NMIINTR单步中断,PC机中软件中断源与硬件中断源的关系,每个中断源分配一个中断类型码,范围0255,8086/8088总可处理256种中断源。,溢出(INT 4)、断点(INT 3)、除法溢出(INT 0)、单步(INT 1)、非屏蔽中断的类型码(INT n)为固定值 软件中断的类型码由指令给出(n) 可屏蔽中断的类型码由PIC(可编程中断控制器)给出,中断类型号:,CPU获得中断号的方法:,表地址:00000H003FFH 256个入口,4B/入口Bytes 低字为IP,高字为CS 中断n的入口地址在4n:4n+3,2、8086/8088的中断向量表,存放256个中断的中断服务程序的入口地址的表,3、中断响应流程图,例:设某中断源类型码为4AH,画出求中断服务处理程序示意图 解:中断向量表指针为4*n=4*4AH=128H,即:0000:0128H 查中断向量表,中断服务程序入口地址是0F000H:1806H,9.3 中断控制器Intel8259A 1、特点 2、内部结构和工作原理 3、外部引脚和工作过程 4、工作方式 (1)中断优先权管理方式 (2)中断源屏蔽方式 (3)结束中断方式 (4)与系统总线的连接方式 (5)引入中断请求的方式 5、8259A的编程 (1)端口地址 (2)初始化编程ICW1-ICW4 (3)操作编程OCW1-OCW3 6、级联,可用于8080/8085和8086/8088系统 具有8级中断优先控制,通过级联可以扩展至64级优先权控制,每一级中断都可以设置为允许或屏蔽状态。 在中断响应周期内提供中断类型号 可以编程设置工作多种方式,使用非常灵活 采用NMOS制造工艺,只需单一的+5V电源,1、中断控制器Intel8259A 的特点,2、中断控制器Intel8259A 内部结构和工作原理,(1).中断请求寄存器IRR 8位锁存器,保存从IR0IR7来的中断请求信号 某位=1表示对应的IRi有中断请求 (2).中断服务寄存器ISR 8位寄存器,保存所有正在服务的中断源 某位=1表示对应的IRi中断正在被服务 多重中断时有多位被置1 (3).中断屏蔽寄存器IMR 8位寄存器,存放中断屏蔽字 某位=1表示对应的IRi输入被屏蔽 (4).中断优先权比较器 识别、管理各中断请求的优先级别 确定是否向CPU发出中断请求 中断响应时确定ISR的置位及数据总线上类型码,(5).读/写控制电路 控制对8259A的读、写操作 控制信号 共同控制 (6).数据总线缓冲器 双向8位3态缓冲器, 8259A与CPU之间的数据接口 接收控制字、发送状态信息和中断号 (7).级联缓冲/比较器 级联时存放主从设备的ID,可组成64级中断优先级 主从片8259A的CAS0CAS2并接在一起传输ID SP/EN区分主从身份 (8).控制逻辑: 含ICW1-ICW4和OCW1-OCW3共7个寄存器 对CPU发INT、接收CPU命令,控制内部部件,3、中断控制器Intel8259A 外部引脚和工作过程,(2) 8259A工作过程,4、中断控制器Intel8259A 的工作方式,(1)中断优先权管理方式 可以编程设置或改变 4种,. 全嵌套方式 8259A默认的优先权设置方式。 8259A所管理的8级中断优先权是固定不变的,其中IR0优先级最高,IR7的优先级最低。 CPU响应中断后, ISR中最高优先级的中断源相应位置位,其中断矢量送至系统数据总线,此时同级或低级的中断请求被屏蔽,只允许高级中断请求出现中断嵌套 。,. 特殊全嵌套方式 与全嵌套不同点:允许同级中断请求可同级嵌套。 用在级连系统中主8259A,CPU既允许高级别中断输入,也能够响应来自同一从片的较高优先级别(但对于主片来讲,优先级别是相同的)的中断,图:一般全嵌套方式与特殊全嵌套方式的区别:,D.,主8259A,IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7,一般嵌套方式: 从片的INT被主片封锁,故更高级别的IR0-IR2中断也无法得到响应,特殊嵌套方式: 因主片不封锁从片的INT,故级别高的IR0-IR2中断可以得到响应。(但IR3-IR7仍被本从片封锁),C.,假定IR3发生中断,并获得服务,一般嵌套方式:IR4的中断被服务时,这些中断将被封锁。,B.,特殊嵌套方式:IR4的中断被服务时,只封锁IR5-IR7。,A.,INT,E.,从8259A,INT,IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7,去CPU,. 自动循环方式 一个中断源的中断请求被响应之后,其优先级自动降为最低,8级中断优先级可以动态改变。 . 特殊循环方式 与自动循环方式相比,初始化的优先级是由程序控制的,而不是默认的IR0IR7。,(2)中断源屏蔽方式 2种,.普通屏蔽方式 8259A的每个中断请求都受到IMR中相应位的控制。 若相应位为“1”,则被屏蔽,中断请求不能送CPU。 通过对IMR的编程(操作命令字OCW1)来设置和改变。 .特殊屏蔽方式 中断服务程序运行时,能动态地改变中断优先级结构,即在中断处理的一部分,禁止低级中断,而在中断处理的另一部分,又能够允许低级中断。 特殊屏蔽是在中断处理程序中使用。用OCW1对IMR中的某一位复位。对外界来讲,只有正在处理的等级的同级中断被屏蔽,而其它任何级别的中断请求都开放允许。,(3)结束中断方式复位ISR中相应位的方法 3种, . 中断自动结束方式 适用单片8259A,不用于级联方式。 CPU系统响应中断在发第二个INTA脉冲时,就会使中断响应寄存器ISR中相应位复位。 虽然系统在进行中断处理,但对8259A来讲,ISR没有相应的指示,就象已经中断处理结束返回主程序一样。CPU可以再次响应任何级别的中断请求。, . 一般的中断结束方式 适用全嵌套优先权管理模式。 当CPU用OUT向8259A发一般中断中断结束命令OCW2时,8259A才会使ISR中优先级别最高的位复位,在特殊全嵌套优先权管理模式下,系统无法确定哪一级中断为最后处理的中断,适宜采用特殊的中断结束方式。 CPU结束中断处理之后,向8259A发送一个特殊的EOI中断结束命令,这个特殊的中断结束EOI命令,明确指出了中断响应寄存器ISR中需要复位的位。 级联非自动结束中断方式的中断处理程序结束时,都必须发两个中断结束EOI命令,一个发往从片,一个发往主片。, . 特殊的中断结束方式,(4)与系统总线的连接方式 2种,.缓冲方式,.非缓冲方式,(5)引入中断请求的方式 3种,. 边沿触发方式 8259A将中断请求输入端(IRi或INT)出现的上升沿作为中断请求信号,之后保持高电平。 . 电平触发方式 8259A将中断请求输入端(IRi或INT)出现的高电平作为中断请求信号。 此方式下中断响应之后,高电平必须及时撤除,否则在CPU响应中断过程中,开中断之后,会引起第二次不应该有的中断。,. 中断查询方式,8259A的编程结构,5、Intel8259A 的编程,(1) 8259A端口地址,8259A与总线的信号连接,内部寄存器的访问方法表,向8259A写入ICW1ICW4的过程称为初始化编程 向8259A写入OCW1OCW3 的过程称为操作方式编程,(2) 8259A初始化编程,初始化流程图, ICW1初始化开始,清除ISR和IMR(全0) 将中断优先级设成默认状态: IR0最高,IR7最低 设定为一般屏蔽方式 采用非自动中断结束方式 状态读出逻辑预置为读IRR,写入ICW1后,8259A的状态如下:,A0=0 D4=1: ICW1的标志 D7D6D5: 8080/8085系统中断入口地址位A7A6A5 D3:LTIM,IR触发方式设定 =1 高电平触发,=0 上升沿触发 D2:ADI,8080/8085调用地址间隔1/0表示间隔4/8 D1:SNGL,级连控制 =1 单片, =0 级连 D0:IC4, ICW4控制 =1 要写ICW4 , =0 不写ICW4(默认ICW4全0), ICW2中断向量码,A0=1: 对ICW2编程 D7 D3: T7T3,中断向量码的高5位 D2 D0: T2T0, 最低3位为中断源的序号IRn 000111分别对应IR0IR7 由8259A根据中断源的序号自动填入, ICW3级联控制字,Si=1: 该位连接有从片,否则该位直接连接中断源。,主 片,从 片,ID2ID0: 标识码,说明本从片连接到主片的哪个IR引脚上。 000111分别对应IR0IR7。, ICW4中断结束方式字,PM: CPU类型选择,1(8086/8088) ,0 (8080/8085) AEOI: 自动EOI,1(自动EOI方式) ,0(非自动EOI方式) SFNM: 特殊全嵌套,1(特殊全嵌套方式)0 (一般全嵌套方式),(3) 8259A操作方式编程,OCW1-3用于系统运行中设置8259工作状态,写入顺序可任意, OCW1中断屏蔽字,OCW1将写入IMR寄存器 Mi =1 中断请求线IRi被屏蔽(不允许中断) =0 允许该IRi中断 A0=1时,读OCW1,则可读出设置的IMR内容,OCW2中断结束和优先级循环,A0=0 D4=0 D3=0:OCW2的标志 R:优先级循环控制位,1(循环优先权)0(固定优先权) SL:L2-L0指定优先级有效标志位,1(有效)0(无效) EOI:非自动中断结束命令位,1(EOI复位)0(此位无效) L2L0: 优先级编码,000-111对应IR0-IR7,OCW2命令编码,OCW3屏蔽方式和读出控制字,A0=0 D4=0 D3=1,是OCW3标志 ESMM: SMM使能标志,1(允许)0(禁止) SMM: 特殊屏蔽方式,1(置位)0(取消) ESMM SMM 1 1 特殊屏蔽方式置位 1 0 特殊屏蔽方式复位 0 x 非特殊屏蔽方式,P(Polling):查询命令位 =1 CPU查询方式 =0 非查询方式 RR: 读寄存器,1(读)0(不读) RIS: ISR/IRR选择,1(ISR)0(IRR) RR RIS 1 1 读ISR 1 0 读IRR 0 x 无效,6、中断控制器Intel8259A 的级联,级联:以1片8259A的INT引脚与CPU的INTR引脚相连,称为主片;再将最多8片8259A的INT引脚,分别与主8259A的IR0-IR7相连,称为从片。在主-从式8259级联的微机系统中,系统能够管理的中断源可由8级扩展至64级。,定 义,8259A级联 连接图,8259A级联 主片中断响应图,8259A级联 从片中断响应图,返回,8259级联工作示意图,返回

温馨提示

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

评论

0/150

提交评论