现代微型计算机原理与接口技术 配套课件教学课件 PPT 作者 杨文显 第06章中断和DMA传输

上传人:E**** 文档编号:89396775 上传时间:2019-05-24 格式:PPT 页数:150 大小:1.40MB
返回 下载 相关 举报
现代微型计算机原理与接口技术 配套课件教学课件 PPT 作者 杨文显 第06章中断和DMA传输_第1页
第1页 / 共150页
现代微型计算机原理与接口技术 配套课件教学课件 PPT 作者 杨文显 第06章中断和DMA传输_第2页
第2页 / 共150页
现代微型计算机原理与接口技术 配套课件教学课件 PPT 作者 杨文显 第06章中断和DMA传输_第3页
第3页 / 共150页
现代微型计算机原理与接口技术 配套课件教学课件 PPT 作者 杨文显 第06章中断和DMA传输_第4页
第4页 / 共150页
现代微型计算机原理与接口技术 配套课件教学课件 PPT 作者 杨文显 第06章中断和DMA传输_第5页
第5页 / 共150页
点击查看更多>>
资源描述

《现代微型计算机原理与接口技术 配套课件教学课件 PPT 作者 杨文显 第06章中断和DMA传输》由会员分享,可在线阅读,更多相关《现代微型计算机原理与接口技术 配套课件教学课件 PPT 作者 杨文显 第06章中断和DMA传输(150页珍藏版)》请在金锄头文库上搜索。

1、微型计算机原理 与接口技术,21世纪高等学校计算机规划教材,人民邮电出版社,第6章 中断与DMA传输,6.1 中断原理 6.2 可编程中断控制器8259A 6.3 中断方式输入输出 6.4 DMA控制器8237A,6.1 中断原理,6.1.1 中断的基本概念,(1) 中断 由于某个事件的发生,CPU暂停当前正在执行的程序,转而执行处理该事件的一个程序。 该程序执行完成后,CPU接着执行被暂停的程序。 这个过程称为中断。,(2) 中断源 引发中断的事件称为中断源 内部中断(在CPU内部的中断源): 程序异常(运算溢出等), 陷阱中断(例如,单步运行程序等), 软件中断(执行特殊指令)等。 外部中

2、断(发生在CPU外部的中断): 外部故障(电源故障,存储器读写校验错) 外部事件(定时时间到,外部特殊信号) IO事件(外部设备完成一次IO操作,请求数据传输),(3) 中断类型 用若干位二进制表示的中断源的编号。 (4) 中断断点 由于中断的发生,某个程序被暂停执行。 该程序中即将执行,由于中断没有被执行的那条指令的地址称为中断断点,简称断点。,(5) 中断服务程序 处理中断事件的程序段称为中断服务程序。 如:故障中断服务程序,输入输出中断服务程序。 不同类型的中断需要不同的中断服务程序。 中断服务程序不同于一般的子程序: 子程序由某个程序调用,它的调用是由程序设定的, 它的执行时间是确定的

3、。 中断服务程序由某个事件引发,它的执行一般是随 机的,不确定的。,中断向量 中断服务程序的入口地址 (7) 中断系统 为实现计算机的中断功能而配置的相关硬件、软件的集合称为中断系统。,6.1.2 中断工作方式的特点,(1) 并行处理能力 实现CPU和多个外设同时工作,提高CPU效率。 (2) 实时处理能力 计算机应用于实时控制时,对外部事件及时响应。 (3) 故障处理能力 及时处理故障,不影响其他程序的运行。 (4) 多道程序或多重任务的运行 在操作系统的调度下,运行多道程序或多重任务。,6.1.3 中断管理,1. 对中断全过程的控制 中断源发出中断请求时,CPU能决定是否响应这一中断。 若

4、允许响应这个中断请求,CPU在保护断点后,将控制转移到相应的中断服务程序去 中断处理完,CPU返回到断点处继续执行被中断的程序。,2. 中断源的识别 软件识别: 响应中断后, CPU进入中断处理程序。 在这个程序里,CPU逐个查询各中断源的状态,确 定是哪一个设备申请了中断。 硬件识别: 响应中断后, CPU进入一个“中断响应周期”。 在这个周期里,申请中断的设备向CPU发送它的中断类型。,3 中断的优先权 优先权:有多个中断源同时提出中断请求时,CPU 响应中断的优先次序。 (1)软件查询法 (2)分类申请法 (3)链式优先权排队菊花链法 (4)可编程中断控制器“向量”优先权排队,图6-1,

5、菊花链中断优先级排队电路,4. 中断嵌套 CPU在处理中断过程中,如果出现了级别更高的中断 请求,CPU停止执行低级中断的处理程序而去优先处 理高级中断。 等高级中断处理完毕后,再接着执行低级的未处理完 的程序。 这种中断处理方式称为多重(级)中断或中断嵌套。 CPU在响应中断时已将IF清零,一定要在中断处理程 序中加入开中断指令,才有可能进行中断嵌套。,中断嵌套,6.1.4 中断过程,1中断源请求中断 (1)外部中断源 由外部硬件产生可屏蔽或不可屏蔽中断的请求信号; (2)内部中断源 在程序运行过程中发生了指令异常或其他情况。 (3)中断屏蔽 CPU用程序的方法允许某些中断源发出中断请求,而

6、禁止某些中断源请求中断 在外设的接口内增设一个中断屏蔽触发器 Q=0时,中断请求不能发往INTR; 适当地设定中断屏蔽触发器的状态,可以控制中断 请求信号是否能够送到INTR端,2 中断响应 (1) 响应可屏蔽中断必须同时具备以下条件: CPU处于允许中断状态(IF=1); 没有不可屏蔽中断请求和总线请求; 当前指令执行结束。 (2) 响应不可屏蔽中断必须同时满足以下条件: 没有总线请求; 当前指令执行结束。 (3) 响应内部中断的条件: 当前指令执行结束。,CPU接受中断请求后转入中断响应周期: (1)识别中断源,取得中断源的中断类型; (2)将标志寄存器FLAGS和CS、IP(断点)先后压

7、入 堆栈保存; (3)清除自陷标志位TF和中断允许标志位IF; (4)获得相应的中断服务程序入口地址,转入中断服务 程序。,中断响应周期,图6-3,中断过程,3 中断服务 (1)保护现场: 保护中断服务时要使用的寄存器(压栈); (2)开中断: 中断服务时能响应更高级的中断请求; (3)中断处理:执行输入输出或非常事件的处理; (4)关中断: 恢复现场时不被新的中断打扰; (5)恢复现场: 将堆栈中保存的内容弹出; (6)中断返回 :通过中断返回指令,弹出IP,CS,FLAGS, 程序回到被中断的地址,恢复中断前的状态。,6.1.5 8086 CPU中断系统,1. 8086的中断类型 中断类型

8、:用8位二进制表示,可以有256个不同的中断; 中断请求输入引脚:NMI、INTR; 中断优先级: INT 0(除法溢出)溢出中断(INTO)INT n指令 NMI INTR 单步中断。,图6-4,8086 CPU中断,(1) 可屏蔽中断 IF= 0时,CPU不响应INTR的中断请求; IF= 1时,CPU响应INTR的中断请求。 用STI指令使IF=1,称为开中断; 用CLI指令使IF=0,称为关中断。 系统复位后,或CPU响应了任何一种中断后,都会使 IF=0。 应使用STI指令使IF=1,确保中断开放。 可屏蔽中断源由8259A统一管理,每片8259A可以接 受8个外部设备的中断请求。,

9、(2) 不可屏蔽中断 NMI接收上升沿触发的中断请求信号; 输入脉冲应大于两个时钟周期; CPU对NMI中断请求的响应,不受中断允许 标志位 IF控制; NMI中断类型码固定为2。,(3) 内部中断 除法溢出中断(n=0): 除数为零或商超过寄存器所能表达的范围。 单步中断(n=1) : TF=1,每执行完一条指令产生一次中断。 用于实现单步操作,是强有力的调试手段。 断点中断 (n=3) : INT 3指令产生一个中断类型码为3的断点中断。 INTO指令 (n=4) : OF=1,则INTO指令引起类型码为4的内部中断; OF=0,此指令不起作用,程序顺序执行。 INT n指令,中断向量:中

10、断服务程序的入口地址; 8086的中断向量表从内存00000H开始存放; 每个中断向量占用4个字节; 中断服务程序入口的偏移地址存入两个低地址字节, 入口的段基址存入两个高地址字节; 256个中断向量占用00000H003FFH共1024个字节。,2. 8086的中断向量表,图6-5,8086的中断向量表,AH=35H AL=中断类型 INT 21H 把原有的中断向量送ES:BX AH=25H AL=中断类型 DS:DX=中断向量 INT 21H 把新的中断向量送中断向量表,(1) 不可屏蔽中断NMI 不受CPU内部中断允许标志IF的约束,优先权高于INTR; 中断类型号2;采用边沿触发(上升

11、沿)方式 标志寄存器压入堆栈 清除IF标志和TF标志 保存断点,把断点处的CS和IP内容先后压入堆栈 取出中断服务程序的入口地址,送入IP和CS 进入中断服务程序 用途:主板上RAM奇偶错, I/O通道中的奇偶校验错, 8087协处理器异常中断。,3. 8086对外部中断的响应,(2) 可屏蔽中断INTR 外设的中断请求首先送到8259A,按照中断优先权排队; 电平触发方式,高电平有效。 响应过程: 第一个INTA总线周期,通知外部做好准备; 第二个INTA总线周期,从外部获取中断类型号; 执行总线写周期,把FLAGS压入堆栈,并清除IF,TF; 执行总线写周期,把CS内容压栈; 执行总线写周

12、期,把IP内容压栈; 执行总线读周期,中断服务程序入口偏移地址送入IP; 执行总线读周期,中断服务程序入口段基址送入CS。,6.2 可编程中断控制器8259A,接收8路外部中断请求,通过级联可以扩展至64级; 优先权排队和控制,优先权方式可选; 中断嵌套功能; 向CPU提供中断类型号; 对每一级编程进行屏蔽或开放。,1. 8259A引脚 DB7DB0:双向三态数据总线; IR7IR0: 外设向8259A发出的中断请求信号,输入。 A0: 地址线,输入,用于选择内部端口。 CS#: 片选信号,输入、低电平有效。 RD#: 读信号,输入、低电平有效。 WR#: 写信号,输入、低电平有效。 INTA

13、#: 中断响应信号,输入、低电平有效。 INT: 中断请求信号,输出、高电平有效。 CAS2CAS0:双向的级联线。 SP/EN: 主从设备设定/缓冲器读写控制,双向双功能,6.2.1 8259A引脚及内部结构,图6-6,8259A引脚,图6-7,8259A的内部结构,2. 中断请求寄存器IRR 锁存外部设备送来的IR7IR0中断请求信号; 中断请求线变为高电平时,IRR中与之对应的一位被置1; 寄存器的内容可以被CPU读出。 3. 中断屏蔽寄存器IMR 记录对每一级中断的屏蔽信号; 置1时,对应的外部中断请求线被屏蔽; 设置IMR起到改变中断请求优先级的效果。,4. 中断服务状态寄存器ISR

14、 记录当前正在被服务的所有中断级; CPU响应IRi中断请求,ISR中对应第i位置1; 中断处理结束前,要使用指令清除这一位; 寄存器可以被CPU读出。 5优先权处理器 识别和管理各中断请求信号的优先级别; 多个中断请求信号同时出现时,优先权处理器根据 控制逻辑规定的优先级规则和IMR的内容来判断这 些请求信号的最高优先级。,6控制逻辑 初始化命令字寄存器ICW1ICW4: 在系统初始化时置入,工作过程中保持不变。 操作命令字寄存器OCW1OCW3: 工作过程中根据需要设定。 7 数据总线缓冲器 8位的双向三态缓冲器,是8259A与系统数据总线的接口。,8读/写控制逻辑 接收、执行CPU的读/

15、写命令。 9级联缓冲/比较器 在级联方式的主/从结构中,用来控制8259A的级联。 缓冲器: SP/EN输出低电平时,开启双向缓冲器。 级联比较器: 主8259A:用CAS2CAS0输出被选中从片代码; 从8259A: 接收主器件送来的从片选择代码,1 8259A的工作过程 (1)中断源在IR0IR7上产生中断请求; (2)中断请求被锁存,经IMR“屏蔽”,送优先权电路判优; (3)控制逻辑接收中断请求,向CPU输出INT信号; (4)CPU接受8259A的INT信号,进入连续两个INTA周期。 (5)优先权电路将最高优先权对应ISR中的位置位; (6)第二个INTA周期把中断类型号输出到数据

16、总线; (7)CPU读取中断类型号,转移到相应的中断处理程序。 (8)中断处理结束前,向8259A发送EOI(中断结束)命 令,使ISR相应位复位,本次中断到此结束。,6.2.2 8259A的工作方式,2 8259A的优先权管理 (1)固定优先级 中断源的优先级由它所连接的引脚编号决定; 全嵌套方式 : 中断优先权级别固定,IR0优先权最高,IR7最低。 特殊全嵌套 : 接收同一引脚上的第二次中断请求。 (2)循环优先级 各个中断申请具有大体相同的优先级; 有优先权自动循环方式和优先权特殊循环方式。,3. 中断屏蔽方式 (1)普通屏蔽方式 通过将中断屏蔽字写入IMR实现; 写入某位为“1”,对应的中断请求被屏蔽;为“0”开放。 (2)特殊屏蔽方式 采用特殊屏蔽方式并用屏蔽

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

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

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