06 输入输出与中断

上传人:小** 文档编号:44917130 上传时间:2018-06-14 格式:PPT 页数:102 大小:4.45MB
返回 下载 相关 举报
06 输入输出与中断_第1页
第1页 / 共102页
06 输入输出与中断_第2页
第2页 / 共102页
06 输入输出与中断_第3页
第3页 / 共102页
06 输入输出与中断_第4页
第4页 / 共102页
06 输入输出与中断_第5页
第5页 / 共102页
点击查看更多>>
资源描述

《06 输入输出与中断》由会员分享,可在线阅读,更多相关《06 输入输出与中断(102页珍藏版)》请在金锄头文库上搜索。

1、微 机 原 理 及 其 应 用 信息与计算机学院 闫 勇 办公室:经技楼411 电话:5786160第六章 输入输出与中断 教学目的、重点、难点目的:熟悉I/O接口基本概念;掌握CPU与外设交 换信息的基本方式;熟练掌握中断传送方式及相 关技术。重点: CPU与外设交换信息的基本方式;中断传 送方式及相关技术。难点:中断传送方式及相关技术。第六章 输入输出与中断6.1输入输出接口概述 6.2CPU与外设之间数据传输的方式 6.3中断技术 6.48086/8088的中断系统和中断处理6.1 输入输出接口概述 6.1.1 CPU与外设间的连接一. CPU与外设间的连接 外设与计算机的连接必须通过各

2、自的专用接口电路(接口芯 片)与主机连接,而不能像存储器那样直接挂到总线上。1. 存储器与I/O设备的差异存储器 I/O设备不同点品种有限品种繁多功能单一功能多样传送一个字节或字传送规律不同与CPU速度匹配与CPU速度不匹配易于控制难于控制结论可与CPU直接相连需经过I/O电路与CPU连接2. CPU与外设间交换信息 需要解决的问题1. 速度匹配(Buffer)2. 信号电平和驱动能力(电平转换器、驱动器)3. 信号形式匹配(A/D、D/A) 4. 信息格式(字节流、光盘的数据块、数据包、帧) 5. 时序匹配(定时关系)6. 总线隔离(实现与存储器的交替,三态门) 3. I/O接口的主要功能1

3、. 数据缓冲:CPU与慢速设备之间,设置数据寄存器或锁存器。2. 设备选择:借助于接口的地址译码器。3. 信号转换:电平转换、时序配合、并/串及串/并、A/D、D/A转换。4. 监控外设:接收CPU的命令或控制信号,控制管理外设;外设的状况 以状态字或应答信号的形式通过I/O接口送回给CPU,以同步CPU与外设 之间的I/O操作。5. 中断请求:接口中有中断请求信号,以便及时得到CPU的服务。6. 可编程功能:只需修改程序就可改变接口的工作方式,增加了接口 的灵活性和可扩充性。7. 地址译码电路:有多个外设,每个外设有多种信息,因此每个外设 接口有多个端口,应能够对端口进行变址并译码选中。6.

4、1.2 接口电路的基本结构 一. 接口电路中的信息1. 数据信息 1)数字量:8位二进制数或ASCII码; 2)模拟量:连续变化的物理量,须经A/D或D/A转换; 3)开关量: 1位的“0”或“1”。2. 状态信息 反映外设当前所处工作状态的信息,每种状态用1位表示。 CPU根据这些状态信息决定对外设进行操作或控制。如输入设备 数据是否准备好(Ready=1?)、输出设备是否空闲(Busy 0?)。3. 控制信息 用于控制外设的启动或停止、是否允许中断、设置外设的工作 方式等。二. 接口电路的基本结构接口电路中的不同种类信息分别进入不同的被称为端口的寄 存器。CPU可对端口中的信息直接读写。一

5、般的接口电路中都设置数据端口、状态端口、命令/控制 端口。接口电路原理图-参考数据线控制线状态线DBCBAB数据输入寄存器 (or 三态门)数据输出寄存器 (锁存器)状态寄存器 (or 三态门)命令寄存器译码 电路控制 逻辑CPU 外设1. 三种信息应通过不同的端口分别传送。如数据输入/输出 寄存器(缓冲器)、状态寄存器与命令控制寄存器各占一 个端口,每个端口都有自己的端口地址(端口号)。2. 外设的状态作为一种输入数据,而CPU对外设的控制命令 是作为一种输出数据,均可通过数据总线来分别传送。 因此接口电路中的数据信息、状态信息、控制信息都可通过 DB传送,但这三种信息在接口电路中存放于不同

6、的端口 。3. 端口地址由CPU地址总线的低8位(I/O端口直接寻址)或低 16位(I/O端口间接寻址)地址信息来确定,CPU根据I/O指 令提供的端口地址来寻址端口,然后同外设交换信息。三. I/O端口1. I/O端口:指I/O接口电路中能被CPU直接访问的寄存器或某 些特定部件。CPU通过端口发送命令、读取状态和传送数据。 一个接口可以有几个端口,如命令口、状态口、数据口等。 有的接口包括的端口多,有的少。2. CPU对端口的操作不同:有的端口只能读、或只能写,有的 既可以读又可以写。3. 一般一个端口只能写入或读出一种信息。 但也有几种信息共用一个端口,如8255的一个命令口可以接 收两

7、种不同命令,8259A的一个命令口可以接收四种不同命令 。四. I/O端口的编址方式-选讲 统一编址和独立编址1. 统一编址 把外设接口与内存统一进行编址 。各占据统一地址空间的不同 部分。优点:指令统一,灵活;访问 控制信号统一。 缺点:内存可用地址空间减小; 延长I/O操作时间。FFFFFH00000H地址空间(共1MB)内存地址 (960KB)I/O地址 (64KB)EFFFFH F0000H2. 独立编址 外设地址空间和内存地址空间相互独立,由M/IO信号区分。优点:内存地址空间不受I/O编址的影响。缺点:I/O指令(IN,OUT)功能较弱。8 0 8 8 总 线A19-A0A15-A

8、0MEMR、MEMWIOR、IOW 存储器I/O接口五. 8086/8088 CPU的 I/O编址方式1. 采用I/O独立编址方式(但地址线与存储器共用)。2. 地址线上的地址信号用M/IO (IO/M)来区分: M/IO =0时为I/O地址; M/IO =1时为存储器地址。3. I/O地址只使用20根地址线中的16根:A15 A0。4. I/O地址范围为0FFFFH,可寻址的I/O端口数为 64K(65536)个。 IBM PC只使用了1024个I/O地址(03FFH)。6.2 CPU与外设之间 数据传输的方式CPU与外设之间的数据传送,通常采用以下3种I/O传送方式: 程序传送、 中断传送

9、、 DMA传送程序传送方式、中断传送方式主要由软件实现,数据传输 过程需要CPU的干预;DMA传送方式主要由硬件实现,数据传输过程不需要CPU的 干预。6.2.1 程序传送 6.2.1.1 无条件传送程序传送是指CPU与外设间的数据交换在程序控制(即IN 或OUT指令控制)下进行。分为无条件传送和程序查询传送。6.2.1.1 无条件传送(同步传送)适用于总是处于准备好状态的或在某些固定时刻处于数据就 绪或准备接收状态外设。 如:开关、发光器件(如发光二极管、7段数码管、灯泡等) 、继电器、步进电机、机械式传感器等。优点:软件及接口硬件简单。 缺点:只适用于简单外设,适应范围较窄。一. 无条件传

10、送 输入输出原理图输出锁存器 (数据输出端口 )输入缓冲器 (数据输入端口 )输入缓冲器:输入数据时,因简单外设保持数据时间相对CPU接收速度较 长,直接使用三态缓冲器与CPU数据线相连即可。输出锁存器:输出数据时,因CPU保持待发送数据时间相对外设接收速度 较短,故需要在数据线上加锁存器以将CPU发送的数据保持较长时间。 锁存允许端CE=1时,DB上新的数据不能进入锁存器;只有当确知外设取走 锁存器中数据,才使CE=0,新数据进入锁存器保存。二. 无条件传送 输入输出过程输入时,假定来自外设的数据已输入至三态缓冲器; 当CPU执行IN指令时,所指定的端口地址经地址总线的低 16位或低8位送至

11、地址译码器,CPU进入了输入周期,选中 的地址信号和IO/M(及RD)相与后,去选通输入三态缓冲 器,把外设的数据与数据总线连通并读入CPU。输出时,假定CPU的输出信息经数据总线已送到输出锁存 器的输入端; 当CPU执行OUT指令时,端口地址由地址总线的低位地址 送至地址译码器,CPU进入了输出周期,所选中的地址信号 和IO/M (及WR 信号)相与后,去选通锁存器,把输出信 息送至锁存器保留,由它再把信息通过外设输出。三. 必要的前提条件CPU执行IN指令读入数据时,外设的数据必须是已准备好的 ,否则就会读错。CPU执行OUT指令输出数据时,必须确信所选外设的锁存器 是空的,即原有数据已被

12、外设读完。四. 无条件传送实例例:一个采用同步传送的数据采集系统如图6.4所示。端口地址数据端口控制端口, 8位的寄存器1. 数据采集系统说明这是一个16位精度的数据采集系统。被采集的数据是8个模拟量,由继电器绕组P0、P1、P7分 别控制触点K0、K1K7逐个接通。每次采样用一个4位(每位为一个十进制数)数字电压表测量 ,把被采样的模拟量转换成16位压缩BCD代码(即对应4位十 进制数的4个BCD码),高8位和低8位通过两个不同的端口(其 地址分别为10H和11H)输入。CPU通过端口20H 输出控制信号,以控制某个继电器的吸合, 实现采集不同通道的模拟量。2. 采集过程要求1. 先断开所有

13、的继电器线圈及触头,不采集数据。2. 延迟一段时间后,使K0闭合,采集第1个通道的模拟量,并保 持一段时间,以使数字电压表能将模拟电压转换为16位BCD 。3. 分别将高8位与低8位BCD码存入内存,完成第1个模拟量的输 入与存储。4. 利用移位与循环实现8个模拟量的依次采集、输入与转存。3. 电磁继电器示意图RVPK4. 程序START: MOV DX,0100H ;01HDH,用于设置吸合第1个继电器代码 ;00HDL,用于设置断开所有继电器代码 LEA BX,DSTOR ;置输入数据缓冲器的地址指针 XOR AL,AL ;清AL及进位位CF(XOR指令使CF清零) AGAIN: MOV

14、AL,DL OUT 20H,AL ;断开所有继电器线圈 CALL NEAR DELAY1 ;模拟继电器触点的释放时间 MOV AL,DH OUT 20H,AL ;先使P0吸合 CALL NEAR DELAY2 ;模拟触点闭合及数字电压表的转换时间 IN AX,10H ;从数据端口10H、11H输入采集并经转换的数据 MOV BX,AX ;电压数据存入内存 INC BX INC BX ;BX指向下一内存单元,用于存储下一电压数据 RCL DH,1 ;DH左移(大循环)1位,为下一个触点吸合作准备 JNC AGAIN ;8位都输入完了吗?CF=0说明没输入完,循环 DONE: ;输入已完,则执行别

15、的程序。 6.2.1.2 程序查询传送 (条件传送、异步传送)它也是一种程序传送,但与前述无条件的同步传送不同,是 有条件的异步传送。条件是:在执行输入(IN指令)或输出(OUT指令)前,要先查询 接口中状态寄存器的状态。输入时,由该状态信息指示要输入的数据是否已“准备就 绪”,由此条件来决定是否立即执行输入;输出时,由它指示输出设备是否“空闲”,由此条件来决 定是否立即执行输出。程序查询传送 适用场合适用于外设并不总是准备好,而且对传送速率、传送效率要 求不高的场合。CPU在与外设交换数据前必须询问外设状 态“你准备好没有?”对外设的要求:外设能够向接口提供设备状态信息。对接口的要求:接口需

16、要向CPU提供能够反映外设状态的 状态端口。优点:软件比较简单;缺点:CPU效率低,数据传送的实时性差,速度较慢。一. 程序查询输入= 1CP数据端口(DATA) 8位(输入)状态端口(STATUS) 只用1位(输入)图6.5 查询式输入的接口电路CP R D Q1 1 1 1 0 0 0 0D触发器部分逻辑图程序查询输入过程当输入装置的数据已准备好后发出一个STB选通信号,一 边把数据送入锁存器,一边使D触发器为“”,给出“ 准备”READY的状态信号。而数据与状态必须有不同的端口分别输入至CPU数据总线 。当CPU要由外设输入数据时,CPU先输入状态信息至累加 器,检查数据是否已准备好;当数据已准备好后,才输入 数据至累加器。读入数据的

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

当前位置:首页 > 经济/贸易/财会 > 综合/其它

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