中断控制器及定时控制器教案资料

上传人:yulij****0329 文档编号:137840925 上传时间:2020-07-12 格式:PPT 页数:132 大小:1.09MB
返回 下载 相关 举报
中断控制器及定时控制器教案资料_第1页
第1页 / 共132页
中断控制器及定时控制器教案资料_第2页
第2页 / 共132页
中断控制器及定时控制器教案资料_第3页
第3页 / 共132页
中断控制器及定时控制器教案资料_第4页
第4页 / 共132页
中断控制器及定时控制器教案资料_第5页
第5页 / 共132页
点击查看更多>>
资源描述

《中断控制器及定时控制器教案资料》由会员分享,可在线阅读,更多相关《中断控制器及定时控制器教案资料(132页珍藏版)》请在金锄头文库上搜索。

1、2020/7/10,1,第10章 中断控制器、计数/定时控制器,10.1 中断概述 10.2 可编程中断控制器8259A 10.3 可编程计数/定时控制器8253 10.4 DMA的概念,习题,2020/7/10,2,10.1 中断概述,10.1.1 中断的一般概念 10.1.2 8086/8088的中断方式 10.1.3 中断优先权管理,返回,2020/7/10,3,10.1.1 中断的一般概念,中断(Interrupt) 是一种使CPU中止正在执行的程序而转去处理特殊事件的操作过程。它是微处理器与外部设备进行信息交换的一种方式。目的:解决CPU与外设之间速度不匹配的矛盾。 (一)中断控制方

2、式的优点 (二)中断源 (三)中断系统的功能 (四)中断服务程序与一般子程序调用的区别,返回,2020/7/10,4,(一)中断控制方式的优点,使CPU与外设并行工作 实现实时处理 自动地进行故障处理,返回,2020/7/10,6,(三)中断系统的功能,能实现中断及正确地返回 中断前:保护断点和现场 返回前:恢复现场和断点 能实现优先权排队和中断嵌套 中断优先权:多个中断源同时提出申请时,CPU响应中断的先后次序。 中断嵌套:CPU处理低级中断源的中断响应时,能够被高级中断中止而转去响应高级中断。 能屏蔽某些中断 由中断允许触发器决定是否响应中断请求。8086/8088中,当中断标志位IF=1

3、时,才允许响应可屏蔽中断INTR。,返回,2020/7/10,7,(四)中断服务程序与一般子程序调用的区别,产生中断的时间具有随机性,何时执行中断服务程序是不确定的。 在中断方式中,CPU自动完成对标志寄存器FR的保护与恢复,无需PUSHF和POPF指令。 中断服务程序采用中断返回指令IRET,而不是子程序返回指令RET,二者执行的操作不同。 中断服务程序中总有一条开中断指令(该指令安排在IRET指令前,以便返回主程序后能再次响应中断;该指令若安排在中断服务程序开始的地方,则允许在中断处理过程中响应更高级的中断源请求)。,返回,2020/7/10,8,10.1.2 8086/8088的中断方式

4、,(一)8086/8088中断分类 (二)8086/8088中断向量表 (三)8086/8088中断响应过程,返回,2020/7/10,9,(一)8086/8088中断分类,8086/8088中断系统可处理256种不同的中断,其中断源如图10-1所示。这256种中断分两大类: 硬件中断(外部中断)由外部硬件引起的中断。 软件中断(内部中断)由CPU执行某些指令引起的,即由INT指令或CPU执行程序时某些错误引起的中断。,返回,2020/7/10,10,图10-1 8086/8088中断源,返回,中 断 逻 辑,INT n 指令,单 步 TF=1,除法错误,INTO 指令,非屏蔽中断请求,INT

5、R,2,NMI,CPU,0,1,4,n,IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7,82510A INT 可编程 中 断 控制器 (PIC),系统定时器 键盘 彩色图形接口 保留(通信) 串行通信接口 保留(ALT打印机) 软盘 保留(打印机),08 09 0A 0B 0C 0D 0E 0F,图 10-1 8086/8088中断源,返回 类型号,2020/7/10,11,(1)硬件中断,非屏蔽中断NMI 由引脚NMI(non-maskable interrupt)引入,中断类型号为2。NMI不受中断允许标志IF的屏蔽。当NMI引脚上出现宽度大于2个时钟周期的正脉冲时,CPU

6、在执行完当前指令后就马上响应NMI中断。 一般用于处理系统的重大故障,如系统掉电等。 可屏蔽中断INTR 由引脚INTR(interrupt)引入,采用高电平触发方式。INTR上的中断请求可被IF屏蔽。只有当IF=1时,CPU才能响应INTR中断。 IF的状态可由开中断指令STI和关中断指令CLI来设置。 注意:系统复位或响应任一种中断后,IF均被清零,必须在一定时候用STI来开放中断。 8086/8088只有一条INTR输入线。将INTR与中断控制器8259A的INT相连,由8259A可扩展多个外部中断源。,返回,2020/7/10,12,(2)软件中断,软件中断通常由三种情况引起: 由指令

7、INT引起的中断 由CPU某些错误引起的中断 由DEBUG调试程序设置的中断 注:286以上微处理器常将软件中断称为异常,返回,2020/7/10,13, 由指令INT引起的中断,CPU执行一条INT n 指令后立即产生中断。 n为中断类型号,可为00HFFH中的某数。,返回,2020/7/10,14, 由CPU某些错误引起的中断,除数为0中断类型0中断。除法运算中,若除数为0或商超过寄存器所能表达的范围,则产生类型0中断。没有相应的中断指令。 溢出中断(INTO指令)类型4中断。当溢出标志OF=1时,CPU执行INTO指令就会进入溢出中断处理程序,打印出错信息,并把控制权交给操作系统。若OF

8、=0,INTO指令不起作用。因此,将INTO指令放在加、减法运算指令后,可对OF的状态进行检测,一旦发生溢出便给予出错报警。,返回,2020/7/10,15,由DEBUG调试程序设置的中断,单步中断类型1中断。在跟踪标志(Trap Flag) TF=1时,CPU在每条指令执行后,自动产生类型1中断,显示各寄存器和有关存储单元的内容,以及下条要执行的指令。TF由DEBUG程序修改。 断点中断类型3中断。用DEBUG程序的G命令设置断点,实质上是把一条断点指令INT 3插入到断点设置处。当CPU执行到断点处,自动进入类型3的中断服务程序,显示相关寄存器和存储器的内容。可省写为INT(单字节指令)。

9、,返回,下一页,2020/7/10,16,软件中断的特点及优先级,软件中断的特点: a.中断类型号由指令提供; b.不受中断允许标志IF的影响; c.在执行软件中断时,如果有外部硬件中断请求,CPU会在执行完当前指令后给予响应(对于可屏蔽中断请求,要求IF=1)。 中断源优先权级别由高到低的顺序为: 除法错 INT n INTO NMI INTR 单步,返回,2020/7/10,17,(二)8086/8088中断向量表,中断向量是中断服务程序的入口地址(段地址和偏移地址)。8086/8088系统在存储器00000H003FFH的1KB区域建立了一个中断向量表,可存储256个中断向量(类型号00

10、FFH),每个向量占4个字节,低2个字节存放中断入口地址的段内偏移地址(IP),高2个字节存放中断入口的段地址(CS),如图10-2所示。 中断类型号由指令给定或由外设提供。当CPU响应中断时,将中断类型号n乘以4就得到中断向量的存放地址,取4n和4n+1单元中的内容装入IP,取4n+2和4n+3单元中的内容装入CS,程序就转入相应的中断处理过程。见举例。,返回,下一页,2020/7/10,18,(二)中断向量表(续),在8086/8088中断向量表中,前5个是专用中断,用户不能修改,除类型2外都是软件中断。 类型05H1FH是系统使用中断,不允许用户修改。其中类型08H0FH对应8259中断

11、控制器的8路可屏蔽中断请求,类型10H1AH为BIOS中断,类型1DH1FH指向三个专用数据表。 类型20H3FH为DOS中断,用户程序可调用,特别是类型21H中断,称为DOS系统功能调用,使用特别多。 类型40H以后的中断类型大都可由用户安排。,返回,2020/7/10,19,图10-2 8086/8088中断向量表,返回2,0000:0000H,0000:0003H,0000:0004H,0000:0007H,0000:0008H,0000:000BH,0000:000CH,0000:000FH,0000:0010H,0000:0013H,0000:0014H,0000:007EH,000

12、0:007FH,0000:03FFH,除数为0的中断,单步中断,非屏蔽中断,断点中断,溢出中断,类型0,类型1,类型2,类型4,类型3,类型5,类型31,类型32,类型255,(十进制),(十进制),专用中断(共5个),保留中断(共27个),供用户定义的中断 (共225个),返回1,2020/7/10,20,举例,执行INT 05H过程: 取中断类型号05H 计算中断向量地址05H*4=14H 取中断入口的偏移地址FF54HIP,取段地址FF00H CS 程序转向中断服务程序入口FF00H:FF54H,返回,0000:0014H,FFH,00H,FFH,54H,0000:0015H,0000:

13、0016H,0000:0017H,2020/7/10,21,(三)8086/8088中断响应过程,8086/8088的中断响应过程分三大步: (1)响应中断,获取中断类型号 (2)中断服务,包括保护现场、保护断点和断点处理 (3)中断返回,包括恢复断点和恢复现场 在8086/8088各类中断中,除了第一步不同类型中断提供中断类型号的方式不同之外,第二步、第三步的处理过程大体是相同的。,返回,2020/7/10,22,(1)中断类型号的获取,获取方式有: 可屏蔽中断INTR由外设(8259A)提供中断类型号 8086/8088响应INTR中断要用两个总线周期:第一个总线周期通知8259A,CPU

14、准备响应中断,要求准备好中断类型号;第二个总线周期中,被响应外设的中断类型号通过低8位数据总线送给CPU。CPU将类型号左移两位,成为中断向量的存放地址,存入暂存器。(参考图10-1) 非屏蔽中断NMI不经过中断响应周期,自动形成中断类型号02H; 专用软件中断自动形成中断类型号。除法出错0,单步中断1,断点中断3,溢出中断4; 中断指令INT n由指令提供中断类型号n。,返回,2020/7/10,23,(2)中断响应,取得中断类型码后的操作过程大体相同,顺序为(见图10-3 ): 根据中断类型码计算中断向量所在地址; 将标志寄存器FR的内容入栈,保护现场; 复制TF的状态,IF和TF标志清0

15、,以屏蔽外部其它中断及防止单步运行中断服务程序; 将断点地址CS和IP的内容推入堆栈保护; 从中断向量表读取中断向量送入CS和IP,转入中断服务程序。 以上各步骤是CPU自动完成的。,返回,2020/7/10,24,图10-3 8086/8088中断响应流程图,返回,2020/7/10,25,(3)中断处理和返回,进入中断服务程序,完成以下内容: 保护现场,将有关寄存器内容推入堆栈保护。 开中断,用STI指令使IF=1(若允许中断嵌套的话,否则应将开中断放在中断返回之前)。 对中断源提出的中断请求进行处理。 恢复现场,将保存在堆栈中的各寄存器原内容弹回原寄存器。 执行中断返回IRET。完成两个

16、功能:一是将保存在堆栈中的断点地址送回IP和CS,二是恢复标志寄存器FR中的内容(相当于POPF),使CPU回到原程序继续运行。,返回,2020/7/10,26,10.1.3 中断优先权管理,中断优先权(Priority):多个中断源同时提出申请时,CPU响应中断的优先次序。 中断嵌套:CPU处理低级中断源的中断响应时,能够被高级中断中止而转去响应高级中断。,(一)用软件确定中断优先权 (二)硬件确定中断优先权,返回,2020/7/10,27,(一)用软件确定中断优先权,软件查询:由软件查询的先后次序决定中断源的优先权,先查询的中断源的优先权高于后查询的中断源。 结构组成:图10-4将8个外设的中断请求信号相“或”后送到CPU的INTR端,同时把这8个外设的中断请求寄存器组成一个端口,赋予端口地址20H。任一外设有中断请求,CPU响应后进入中断服务程序,执行中断优先权查询程序,读入端口内容,逐位查询每位的状态,查到哪位有中断请求就转入相应的中断服务程序。其流程图见图10-5。 屏蔽法查询与移位法查询 软件查询

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号