版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章 中断技术、DMA控制器及定时器/计数器,主 要 内 容,中断的基本原理 中断的实现方法 中断控制器8259A DMA控制器8237 计数器/定时器8253,中 断 的 基 本 原 理,所谓中断,就是指当CPU正在执行程序时,外设(或其它中断源)向CPU发出请求,CPU暂停当前程序的执行,转向该外设服务(或称中断服务)程序,当中断服务程序运行结束后,返回原程序继续执行的过程。,中 断 的 基 本 原 理,中断过程 包括:中断请求,中断判优,中断响应,中断处理,中断返回五个过程。 中断优先权 软件查询法 是在CPU响应中断后,用软件查询以确定是哪些外设申请中断,并判断它们的优先权,中 断
2、的 基 本 原 理,硬件优先权排队电路 中断优先权排队电路 可用硬件编码器和比较器组成的优先权排队电路,中 断 的 基 本 原 理,硬件优先权排队电路 链式优先权排队电路也称雏菊花链 将所有的中断源排成一个链。各中断源在链中的前后顺序是根据中断源优先级别的高低来排列。排在链前面的优先级最高。,中 断 的 基 本 原 理,中断响应 中断响应的条件: 有中断请求信号 中断请求没有被屏蔽 中断是开放的 CPU在现行指令执行结束时响应中断,中 断 的 基 本 原 理,中断响应 关中断 保存断点 保护现场 给出中断服务程序入口地址,并转入该服务程序 恢复现场 从中断返回,8086 8088 中 断 系
3、统,8086/8088的中断源 8086/8088系统的中断源分为外部中断(中断源来自CPU外部)和内部中断(来自CPU内部的中断) 内部中断 除法溢出中断0号中断 单步中断1号中断 INT指令中断 溢出中断4号中断,8086 8088 中 断 系 统,外部中断 非屏蔽中断 非屏蔽中断的优先权高于可屏蔽中断。其中断请求信号是发生在NMI上的电压跳变(边沿触发)。 可屏蔽中断 出现在INTR线上的请求信号是电平触发的。只有当中断允许标志位IF为1时,CPU才能响应INTR的中断请求。如果IF为0,即使INTR端有中断请求信号CPU也不会响应。这种情况称为中断屏蔽。,8086 8088 中 断 系
4、 统,中断向量表 8086/8088系统支持最多256个中断,对应每一个中断,都有一个中断服务程序,该中断服务程序的入口地址称为中断向量。每个中断向量占用4个字节,前两个字节为服务程序的IP(偏移量),后两个字节为服务程序的CS(段地址)。,8259A 中 断 控 制 器,8259A的结构及逻辑功能 功能 管理和控制80 x86的外部中断请求 实现中断判优 提供中断向量 屏蔽中断输入 使用单片8259A可以管理8级中断,采用级联方式,最多可管理64级中断,8259A 中 断 控 制 器,结构,8259A 中 断 控 制 器,结构 中断请求寄存器IRR 优先级分析器 中断服务寄存器ISR 中断屏
5、蔽寄存器IMR 数据总线缓冲器 读/写逻辑 级联缓冲器,8259A 中 断 控 制 器,8259A的引脚,8259A 中 断 控 制 器,中断响应过程 (1)外部设备在中断请求输入线(IR7 IR0)上发了中断请求,使中断请求寄存器IRR的相应位置位。 (2)IRR的内容与IMR的内容相“与”,结果送给优先级分析器。中断优先级分析器把优先级最高的中断请求送到控制电路。 (3)控制电路将接收到的中断请求向CPU输出INT信号。,8259A 中 断 控 制 器,中断响应过程 (4)若CPU是处在开中断状态,则在当前指令执行完以后,接收到INT信号,输出一个中断响应脉冲,进入第一个中断响应周期。 (
6、5)8259A的脚上收到脉冲信号,就将最高优先级所对应的IRR位清除,并将对应的ISR位置位。 (6)CPU启动第二个中断响应周期,输出另一个脉冲,在这个周期8259A向数据总线输出一个中断向量码。 (7)CPU读取该中断向量码,把它乘以4,得到中断服务程序入口地址,转入该中断服务程序。这样一个中断响应周期就完成了。,8259A 中 断 控 制 器,8259A的编程 8259A的初始化编程 由CPU向8259A写初始化命令字ICW 初始化命令字ICW的格式及功能如下 1、ICW1 2、ICW2,8259A 中 断 控 制 器,3、ICW3 4、ICW4,8259A 中 断 控 制 器,8259
7、A的工作方式编程 1、OCW1是中断屏蔽命令字,D7D0分别控制对应的IRQ7IRQ0上的中断请求被屏蔽还是开放。“1”是屏蔽,“0”是开放。 2、OCW2是用来设置中断优先级循环方式和发送EOI命令。通过偶地址写OCW2且命令字的D4D3位都是“0”,标志着是对OCW2设置,若D4D3位是01则是OCW3,D4为1则是ICW1。,8259A 中 断 控 制 器,3、OCW3用于控制读中断状态、查询及屏蔽方式,此时要求8259A的引脚A0为0即偶地址。 例:设8259A初始化后屏蔽IR2,设置特殊屏蔽方式,允许开放优先级低的中断。设端口地址为20H和21H。,8259A 中 断 控 制 器,8
8、259A的操作方式 查询方式 中断屏蔽 缓冲模式 中断嵌套模式 中断优先权旋转 中断结束命令 读8259A状态 8259A的级联,可 编 程 DMA 控 制 器 8237A,利用DMA方式传送数据时,数据的传送过程完全由硬件控制,这种电路称为DMA控制器(DMAC)。需要数据传送时,DMAC向CPU提出申请,CPU让出总线控制权,由DMAC直接控制地址总线、数据总线和控制总线,让存储器与高速的外部设备直接交换数据,CPU不再干预,这样大大减少了中间过程,提高了数据传送速度。,可 编 程 DMA 控 制 器 8237A,8237A的结构和功能 引脚信号,可 编 程 DMA 控 制 器 8237A
9、,内部结构 8237A有4个独立的DMA通道,24个内部寄存器。,可 编 程 DMA 控 制 器 8237A,内部寄存器 基址寄存器和当前地址寄存器 基字节计数寄存器和当前字节计数寄存器 暂时地址寄存器 状态寄存器 命令寄存器 暂存寄存器 方式寄存器 屏蔽寄存器 请求寄存器 8237A的先后触发器 此触发器保证16位寄存器的读写操作,以先低字节后高字节的顺序操作。,可 编 程 DMA 控 制 器 8237A,8237A的工作方式 单字节传送方式 DMA传送时,仅传送一个字节。 块传送方式 块传送方式由一个DMA请求启动传送整个一个数据块,在整个数据传送期间,系统总线一直被DMAC所控制,每传送
10、一个数据,计数寄存器的值减1。 请求传送方式 在请求传送方式下8237A被编程为连续传送,直至遇到T/C或外部来的 为止,或者直到DREQ不再有效为止。 级联方式 多个8237A进行级联时,将其中一个DMAC作为主片,其他作为从片。,可 编 程 DMA 控 制 器 8237A,8237A初始化编程 设置方式寄存器 PC机BIOS在初始化时,将方式寄存器初始化为单字节传送方式、地址递增、通道0为读传送、自动预置(方式字为58H)、通道1、2、3为校验传送、禁止自动预置,其方式字为41H、42H、43H。 设置命令寄存器 初始化必须设置命令寄存器,以确定其工作时序、优先级方式、DREQ和DACK的
11、有效电平及是否允许工作等。 清除先后触发器 先/后触发器是一个指针,当它为0时,对低字节进行操作,当它为1时,对高字节进行操作。,可 编 程 DMA 控 制 器 8237A,设置地址和字节计数器 8237A每个通道有四个16位的寄存器。这四个寄存器是基地址寄存器和当前地址寄存器以及基本字节计数寄存器和当前字节计数寄存器。 清除屏蔽寄存器 屏蔽寄存器是一个4位寄存器,每一位代表一个通道。当它为1时,向该通道的DMA请求被禁止;为0时,则允许。,可 编 程 定 时 器 计 数 器 8253,8253的结构和功能 8253采用N沟道MOS工艺制成,有三个独立的16位计数器,只需要一组5V电源。 82
12、53的内部结构,可 编 程 DMA 控 制 器 8237A,8253的内部结构 数据总线缓冲器 它是8位双向三态缓冲器,可直接连接到数据总线上。初始化编程时,CPU写入8253的方式控制字和计数初值、CPU从计数器中读取的当前计数值都经这里传送。 读/写控制逻辑 产生相应的控制信号,来选择读/写操作的端口及控制数据的传送方向。 计数器0、1、2 三个计数器的内部结构相同,但相互独立。计数器从时钟输入端接收时钟脉冲或事件计数脉冲。 控制字寄存器 控制字寄存器是8位的,只能写不能读。写入的内容包括计数器的工作方式或计数器的初值,可 编 程 定 时 器 计 数 器 8253,8253的引脚信号 82
13、53的功能 定时 计数,可 编 程 定 时 器 计 数 器 8253,8253的方式控制字 (1)SC1、SC0:用于选择计数器 SC1 SC0 选择的计数器 0 0 计数器0 0 1 计数器1 1 0 计数器2 (2)RW1、RW0:读/写控制位 RW1 RW0 操作 0 0 计数器锁存 0 1 读/写低字节 1 0 读/写高字节 1 1 先读/写低字节,后读/写高字节,可 编 程 定 时 器 计 数 器 8253,(3)M2、M1、M0:方式选择位 M2 M1 M0 方式选择 0 0 0 方式0 0 0 1 方式1 X 1 0 方式2 X 1 1 方式3 1 0 0 方式4 1 0 1 方
14、式5 (4)BCD:选择计数格式。BCD=1,十进制计数。BCD=0,二进制计数。,可 编 程 定 时 器 计 数 器 8253,8253的工作方式 方式0计数结束产生中断 在这种方式下,写入控制字之后,输出端OUT为低电平作为初始电平,并且在计数值到达0之前一直保持低电平。当计数到达0时,输出端OUT为高电平,并且一直保持高电平,除非写入新的计数值。,可 编 程 定 时 器 计 数 器 8253,方式1可重复触发的单稳态触发器 写入控制字之后,输出端OUT以高电平作为起始电平,计数初值送到初值寄存器后,再经过一个时钟周期,便送到计数执行部件。另一方面,门控信号GATE上升沿到来时,边沿触发器
15、触发,下一个时钟脉冲时,输出端OUT变为低电平,并在计数到达0以前一直保持低电平。,可 编 程 定 时 器 计 数 器 8253,方式2一分频器 写入控制字之后,输出端OUT变为高电平作为初始状态,当计数初值写入初值寄存器后,下一个时钟脉冲时,计数器初值被写到计数执行部件,然后计数执行部件作减1计数。减到1(不是减到0)时,输出OUT变为低电平。,可 编 程 定 时 器 计 数 器 8253,方式3方波发生器 写入控制字之后,输出端OUT出现高电平作为起始电平。计数初值送到初值寄存器后,下一个时钟脉冲到来时,计数执行部件获得初始计数值,并开始作减1计数。当计数计到一半时,输出变为低电平,计数器
16、继续作减1计数,计数到终值时,输出变为高电平,从而完成一个周期。之后,马上自动进入下一个周期。由此不断进行下去,产生周期为N个时钟脉冲宽度的输出。,可 编 程 定 时 器 计 数 器 8253,方式4软件触发的选通 写入控制字之后,输出端 OUT变为高电平作为初始电平,计数初值送到初值寄存器,再经过一个时钟周期,计数执行部件获得计数初值,并开始计数。当计数器减到0的时候,输出端OUT变为低电平,此低电平持续一个时钟周期,然后又自动变为高电平并一直维持高电平。一般将此负脉冲作为选通信号。当计数值N被送到计数初值寄存器后,在下一个时钟周期,计数初值被送到计数执部件,之后,计数执行部件作减1计数,又
17、经过N个时钟周期后,才输出一个负脉冲作为选通脉冲。,可 编 程 定 时 器 计 数 器 8253,硬件触发的选通 写入控制字之后,输出端OUT出现高电平作为起始电平。写入计数值之后,必须有门控信号GATE的上升沿到来,才在下一个时钟周期将计数初值送到计数执行部件。此后,计数执行部件作减1计数,计数到达0的时候,输出端出现一个宽度为1个时钟周期的负脉冲,然后又自动变为高电平,并将持续不变。此输出负脉冲可以用作选通脉冲,它是通过硬件电路产生的门控信号上升沿触发后得到的,所以叫硬件触发的选通脉冲。,可 编 程 定 时 器 计 数 器 8253,8253的初始化编程 系统初始化时,由BIOS对8253进行初始化,并进行检查,程序如下: 1.对计数器0的初始化 CLI ;关中断 MOV AL,36H ;选择计数器0,双字节,方式3,二进制计数的控制字 OUT 43H,AL ;送控制字寄存器 MOV AL,0 ;置初值为0 OUT 40H,AL ;把低字节(LSB)送到定时器(计数器)寄存器 OUT 40H,AL ;把高字节(MSB)送到定时器(计数器)寄存器,可 编 程 定 时 器 计 数 器 8253,8253的初始化编程 2对计数器1的初始化 MOV AL,54H ;选择计数器1,写低字节,方式2,M进制
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乡村公路可行性研究报告
- 2024年公司流程优化与管理顾问协议
- 2024年专属家政服务聘用协议
- 道德与法治八上8.1《国家好大家才会好》教学设计
- 2024香港商业贷款协议格式
- 2023-2024学年浙江省温州东瓯中学高三下学期第一次阶段检测试题数学试题
- 2024专业个人汽车租赁协议指南
- DB11∕T 1704-2019 中小学生体育与健康课运动负荷监测与评价
- 2024年定制航拍服务协议范本下载
- 2024年全球贸易条款专业翻译协议
- 捅马蜂窝-完整版获奖课件
- 高校教师培训心得体会2000字3篇
- 电力专业标准化技术委员会管理细则
- 《用一元一次方程求解数轴上动点问题》 课件
- 水泥用灰岩矿矿产资源开发利用方案
- 老年友善医院创建-老年人社会服务相关职责
- 高等天气学讲座---锋生动力学和锋面次级环流课件
- 液压站更换作业指导书
- 《犯罪学》课程教学大纲
- 医药代表晋级管理办法
- 格林公式(公开教学用)
评论
0/150
提交评论