六章输入输出和中断技术1ppt课件.ppt

上传人:本田雅阁 文档编号:2593173 上传时间:2019-04-14 格式:PPT 页数:50 大小:1.32MB
返回 下载 相关 举报
六章输入输出和中断技术1ppt课件.ppt_第1页
第1页 / 共50页
六章输入输出和中断技术1ppt课件.ppt_第2页
第2页 / 共50页
六章输入输出和中断技术1ppt课件.ppt_第3页
第3页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《六章输入输出和中断技术1ppt课件.ppt》由会员分享,可在线阅读,更多相关《六章输入输出和中断技术1ppt课件.ppt(50页珍藏版)》请在三一文库上搜索。

1、第6章 输入/输出和中断技术,6.1 输入输出及接口 6.2 输入和输出的传送方式 6.3 中断技术 6.4 80X86/Pentium中断系统 6.5 8259A可编程中断控制器 6.6 中断程序设计,6.1 输入输出及接口,接口 I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路,它不仅包括接口的电路,还包括接口电路的管理驱动程序。 为什么需要I/O接口 I/O设备工作速度不同 I/O设备数据字长不同 I/0设备可能是模拟或数字的 I/O设备的控制信号不同,I/O接口,I/O的功能 输入输出数据的缓冲和锁存 输出接口有锁存环节 输入接口有缓冲环节 信号形式和数据格式的变

2、换 I/O端口寻址、控制信号产生 电气特性匹配 I/O信息 数据信息:数字量、模拟量、开关量 状态信息 控制信息,I/O接口的构成,端口: I/O接口通常设置有若干个寄存器,用来暂存CPU和外设之间传输的数据、状态和控制信息,接口内的寄存器通常被称为端口。 根据寄存器内暂存信息的类型,分别称为数据端口、控制端口和状态端口 每个端口有一个独立的地址,CPU可以用端口地址代码来区别各个不同的端口,并对它们分别进行读/写操作,I/O端口,IN AL, 21H,I/O端口,OUT 43H, AL,I/O接口的编址,I/O接口的编址,独立编址,统一编址,端口地址译码,门电路译码 门电路译码是最基本的也是

3、最简单的地址译码方法,通常采用各种门电路,如与门、或门、非门等电路的组合。 设计时首先分配好地址,然后写成二进制形式,再根据地址总线数分配各与非门输入管脚地址。 门电路译码需要芯片较多,且译出的端口地址单一,接口中用到的端口地址不能更改,门电路译码,【例】设计端口地址为218H的译码电路 分析: CPU执行IN/OUT指令时,发出端口的地址信号 MOV DX, 218H IN AL, DX 或 OUT DX, AL 对应218H端口的地址信号为(只取A9A0): A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 (地址信号) 1 0 0 0 0 1 1 0 0 0 B 2 1 8 H

4、 只要满足此地址取值的译码电路均可,门电路译码,译码电路部分满足: 只当地址信号A9 A0为: A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 1 0 0 0 0 1 1 0 0 0 即218H时,输出“0 ” , 使I/O接口的CS有效 否则输出“1 ” 使I/O接口的CS无效 地址重叠(16根地址线):64个地址重叠区,如218,618, A18,E18 等等,译码器译码,若接口电路中需使用多个端口地址,则采用译码器译码比较方便。 译码器的型号很多,如38译码器74LS138;416译码器74LS154;双24译码器74LS139、74LS155等。 这些译码器通常由三个部分组

5、成:译码控制端,选择输入端,译码输出端。,译码器译码,当端口地址信号为: A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 1 0 0 0 0 1 1 0 0 0 即 218H时,Y0输出0,I/O接口的CS有效,比较器译码,将比较器的A(或B)输入端输入地址信号,B(或A)端接一组DIP(Dual In-line Package)开关。地址总线所送的地址与DIP所设置的地址相等时,产生一选通信号输出。 特点: 可以通过改变DIP开关的设置,很容易地改变接口的地址。 不但同一功能的模块在不同微型计算机应用中可以被分配不同的地址,而且即使在同一微型计算机系统中,也可通过改变DIP开关的

6、设置而控制不同的设备.。 这种译码电路应用非常广泛,常用的比较器有四位比较器74LS85和八位比较器74LS688。,比较器译码,锁存和缓冲,输入接口的锁存和缓冲,锁存和缓冲,输出接口的锁存和缓冲,6.2 输入输出的传送方式,程序控制的输入输出 无条件传送 查询传送 中断控制的输入输出 直接存储器访问方式(DMA),无条件传送方式,所谓无条件,就是假设外设已处于就绪状态,数据传送时,程序就不必再去查询外设的状态,而直接执行I/O指令进行数据传输,如LED等。 当简单外设作为输入设备时,其输入数据的保持时间相对于CPU的处理时间要长得多,所以可直接使用三态缓冲器与系统数据总线相连。 当简单外设作

7、为输出设备时,由于外设的速度较慢,CPU送出的数据必须在接口中保持一段时间,以适应外设的动作,因此输出采用锁存器。,无条件传送方式,无条件传送方式,查询传送方式,查询传送方式在传送数据前先查询外设的状态,当外设准备好时,CPU执行I/O指令传送数据;若未准备好时,则CPU等待。 要求CPU与外设间的接口电路需要两个端口:数据端口和状态端口。 优点:能较好地协调外设与CPU之间的定时关系,因而比无条件传送方式容易实现准确传送。 缺点:该方式需要不断查询外设的状态,大量时间花在等待循环中,当主机与中、低速外设交换信息时,大大降低了CPU利用率。,查询传送方式,查询传送方式输入,查询传送方式输入,例

8、:设接口电路中状态端口的地址为STATUS,数据端口的地址为DATA,则CPU读取输入设备的数据应执行下列程序段: POLL: IN AL, STATUS ; TEST AL, 80H ; JE POLL ; IN AL, DATA ;,查询传送方式输出,查询传送方式输出,例:设接口电路中状态端口的地址为STATUS,数据端口的地址为DATA,则CPU将内存STORE单元的内容送至输出设备应执行下列程序段: POLL: IN AL, STATUS ; TEST AL, 80H ; JNE POLL ; MOV AL, STORE ; OUT DATA, AL ;,中断控制的输入输出,含义:在中

9、断方式下,外设掌握向CPU申请服务的主动权,当输入设备将数据准备好,或者输出设备已做好接收数据的准备时,向CPU发出中断请求信号,要求CPU为其服务。若此时中断允许触发器是开放的,则CPU暂停目前的工作,与外设进行一次数据传输,等I/O操作完成以后,CPU继续执行原来的程序。 优点:保证了CPU对外设的实时服务,又不会因对各I/O设备的随时关照而花费CPU太多的机时,使高速运行的CPU与速度参差不齐的各种外设之间形成了良好的匹配(并行工作)关系,确保了CPU的高效率。 缺点:为了实现中断传送,要求在CPU与外设之间设置中断控制器,增加了硬件开销。,中断控制的输入输出,中断控制的输入输出,直接存

10、储器访问(DMA),DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和I/O设备之间进行。 优点:传送速率很高,这对高速度大批量数据传送特别有用。 缺点:要求设置DMA控制器,电路结构复杂,硬件开销大,直接存储器访问(DMA),6.3 中断技术,中断源 中断处理过程 中断服务子程序,中断系统的功能: 1、正确识别中断请求,实现中断响应、中断处理及中断返回 2、实现中断优先级排队 3、实现中断嵌套,中断的分类,中断分为内部中断和外部中断,每种又包含几种类型,中断时产生一条INT n指令,n表示不同的中断类型号。,内部中断和外部中断,内部中断(软件中断) CPU内部执行

11、程序时自身产生的中断 如被0除、溢出、INT n等 外部中断(硬件中断) CPU以外的设备、部件产生的中断 非屏蔽中断 如电源掉电、内存奇偶错等故障中断 可屏蔽中断 如打印机、CRT、磁盘等输入输出设备中断,中断处理过程,中断请求 中断判优 中断响应 中断处理 中断返回,中断的优先权,软件排优 硬件排优 链式电路判优 可编程中断控制器,软件查询判优,软件查询判优,查询程序两种安排方式,(1)屏蔽法 MOV DX, 380H IN AL,DX TEST AL, 80H JNZ AlS TEST AL, 40H JNZ BIS TEST AL, 20H JNZ CIS ,(2)位移法 MOV DX

12、, 380H IN AL,DX RCL AL, 1 JC AIS RCL AL, 1 JC BIS RCL AL, 1 JC CIS ,链式电路判优,处于链条前端的优先权更高(p239, 图6-24),中断的嵌套,6.4 80X86/Pentium中断系统,中断类型,内部中断(软件中断) 除零中断(n0) 单步中断(n1) 条件:TF1且IF1 断点中断(n3) 溢出中断(n4) 条件:OF1 中断指令 INT n 外部中断(硬件中断) 非屏蔽中断(n2) 可屏蔽中断 条件:IF1 中断优先权(高低) 除零中断、INT n、INTO、NMI、INTR、单步中断,中断向量表,中断向量是中断服务程

13、序的入口地址。 把系统中所有的中断向量集中起来放到存储器的某一区域内,这个存放中断向量的存储区就叫中断向量表或中断服务程序入口地址表。 中断向量表的每一个向量的序号就是中断类型号,共256个中断类型。 中断向量地址中断类型号4 中断矢量表地址03FFH(1KB),中断向量表,中断向量并非常驻内存,而是开机上电时,由程序装入内存指定的中断向量表中。 系统配置和使用的中断所对应的中断向量由系统软件负责装入。 若系统中(如单板机)未配置系统软件,就要由用户自行装入中断向量。,中断向量表,例1:假设中断向量号为60H,中断服务程序的段基址是SEG_INTR,偏移地址是OFFSET_INTR CLI ;

14、关中断 CLD ;内存地址加1 MOV AX,0 MOV ES,AX ;给ES赋值为0 MOV DI,60H*4 ;中断向量指针DI MOV AX,OFFSET_INTR ;中断服务程序偏移值AX STOSW ;AXDIDI+1中,然后DI2 MOV AX,SEG_INTR ;中断服务程序的段基址AX STOSW ;AXDI+2DI+3 STI ;关中断,中断向量表,例2: MOV AX,00H MOV ES,AX MOV BX,60H*4 ;中断号4BX MOV AX,OFFSET_INTR ;中断服务程序偏移值 AX MOV ES:BX,AX ;装入偏移地址 MOV AX,SEG_INTR

15、 ;中断服务程序的段基址 AX MOV ES:BX+2,AX ;装入段基址,中断响应过程,内部中断响应过程 (1)将类型号乘4,计算出中断向量的地址 (2)CPU的标志寄存器入栈 (3)清除IF和TF标志,屏蔽新的INTR中断和单步中断 (4)保存断点,即把断点处的IP和CS值压入堆栈,先压入CS值,再压入IP值 (5)根据第一步计算出来的地址从中断向量表中取出中断服务程序的入口地址(段和偏移),分别送至CS和IP中 (6)转入中断服务程序执行 特点: 中断由CPU内部引起,中断类型号的获得与外部无关,CPU不需要执行中断响应周期去获得中断类型号 除单步中断处,内部中断无法用软件禁止,不受中断允许标志IF的影响 内部中断何时发生是可以预测的,类似于子程序调用,中断响应过程,非屏蔽中断响应。 NMI中断不受IF标志的影响,也不用外部接口给出中断类型号,CPU响应NMI中断时也没有中断响应周期。其余处理类似于内部中断 可屏蔽中断响应。 当INTR信号有效时,如果中断允许标志IF1,则CPU就在当前指令执行完毕后,产生两个连续的中断响应总线周期,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1