微机原理 汇编语言与接口技术 韩晓茹ch06 微型计算机输入和输出技术

上传人:E**** 文档编号:89277311 上传时间:2019-05-22 格式:PPT 页数:71 大小:1.36MB
返回 下载 相关 举报
微机原理 汇编语言与接口技术 韩晓茹ch06 微型计算机输入和输出技术_第1页
第1页 / 共71页
微机原理 汇编语言与接口技术 韩晓茹ch06 微型计算机输入和输出技术_第2页
第2页 / 共71页
微机原理 汇编语言与接口技术 韩晓茹ch06 微型计算机输入和输出技术_第3页
第3页 / 共71页
微机原理 汇编语言与接口技术 韩晓茹ch06 微型计算机输入和输出技术_第4页
第4页 / 共71页
微机原理 汇编语言与接口技术 韩晓茹ch06 微型计算机输入和输出技术_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《微机原理 汇编语言与接口技术 韩晓茹ch06 微型计算机输入和输出技术》由会员分享,可在线阅读,更多相关《微机原理 汇编语言与接口技术 韩晓茹ch06 微型计算机输入和输出技术(71页珍藏版)》请在金锄头文库上搜索。

1、,第6章 微型计算机输入和输出技术,6.1 I/O接口概述,1.输入/输出:微处理器与外部设备之间的信息交换(即通信)。 2.输入/输出接口:完成微处理器与外部设备间数据通信(即输入/输出)任务的接口。 包括:硬件接口电路和软件接口程序。,输入/输出子系统,6.1.1 I/O接口的功能,地址译码和设备选择-一台主机可以连接多台设备 根据主机发送过来的信息选择相应的设备工作 根据地址信息, I/O接口选择内部的某个端口 数据缓冲与锁存-避免信号冲突,匹配外设和主机的工作速度。通过I/O接口中的数据端口实现 提供联络信号-保证信息传送的可靠(如命令、状态信息) 信息格式的转换-如串并格式转换(硬盘

2、接口) 模数转换(声音适配器) 信号特性匹配-如电平转换 对外设进行中断管理 提供时序控制,注:某个接口可能具有以上的一种或者多种功能。,6.1.2 I/O接口的组成,三种信息:数据信息、状态信息、控制(命令)信息 主机与I/O接口间的这些信息均通过数据总线传输 I/O接口内的各类寄存器也称为端口 数据端口可分为数据输入端口和数据输出端口 命令/状态端口可分为单独的命令端口和状态端口,6.1.3 端口的编址方式,无论是存储器中的每一个存储单元,还是I/O接口中的每一个端口,都具有各自的地址信息。 两种编址方式: 统一编址 I/O端口的地址与存储器的地址统一混合编址。 用访问存储器的指令,即可对

3、整个地址空间(存储器和I/O)进行访问,而无需专用I/O指令。,6.1.3 端口的编址方式,独立编址 I/O端口与存储器分开独立编址,即I/O端口和存储器都有自己的一套地址空间,而且互不相干。 用专门的IN、OUT指令访问端口,指令执行速度快。,注:嵌入式计算机通常采用统一编址方式,通用计算机通常采用独立编址方式。,Intel 80x86系列计算机的端口地址分配,注:使用系统地址总线的低16位最多可以访问64K个端口。,6.1.4 I/O接口的分类,按数据传送的格式 : 并行接口和串行接口 按主机访问外设的控制方式 : 程序查询接口、程序中断接口、DMA接口以及通道控制器 按功能选择的灵活性来

4、分 : 可编程接口和不可编程接口 按使用范围: 通用接口和专用接口,6.2 I/O 接口的读写技术,以8088CPU为例介绍微处理器如何访问I/O 接口电路中端口的信息。 通过专门的IN、OUT指令: IN指令用于读取端口中的信息, OUT指令用于向端口中写入新的信息 CPU执行IN、OUT指令时,通过系统总线发出地址信息、控制信息和数据信息(针对OUT指令), I/O 接口根据这些信息选中相应的端口,将数据送出(针对IN指令)或将数据写入端口(针对OUT指令)。,6.2.1 IN、OUT指令,IN指令: 读取端口中的信息 指令格式: IN AL/AX, imm8/DX 第一个操作数:根据被读

5、端口的长度可以是AL或AX,用于存放读取到的端口信息 第二个操作数:端口的地址。当端口地址小于256时,可用立即数直接给出端口地址,否则应该用DX间接给出 举例: IN AL, 60H IN AX, 200 MOV DX, 300H IN AL, DX,1. IN指令,IN指令的时序,一个总线周期,T1,T3,T2,T4,CLK,注:若在T3之前端口数据还没有被送出,则通过插入TW延长总线周期。,2. OUT指令: 向端口中写入数据,指令格式: OUT imm8/DX, AL/AX 第一个操作数:端口的地址。当端口地址小于256时,可用立即数直接给出端口地址,否则应该用DX间接给出 第二个操作

6、数:根据被写端口的长度可以是AL或AX,用于存放要写入到端口中的数据 举例: OUT 20H, AX MOV DX, 1000H MOV AL, 12H OUT DX, AL,2. OUT指令,OUT指令的时序,一个总线周期,CLK,注:若在T3之前数据还没有到达端口,则通过插入TW延长总线周期。,6.2.2 端口的组成,端口的作用就是存放信息 输入端口:信息只能被cpu读取(对端口执行IN指令) 输出端口:信息只能被cpu写入(对端口执行OUT指令) 端口中必不可少的部件 输入端口:三态缓冲器 输出端口:锁存器,1. 输入端口的组成,注:输入端口起缓冲作用,被选中的端口才能将信息送上数据总线

7、,避免冲突。,输入端口中可省略锁存器 若输入端口所连接外设本身具有锁存功能,,几种类型的8位三态缓冲器,2. 输出端口的组成,注:输出端口起锁存作用,在下一次输出前端口内的信息保持不变。,几种类型的8位锁存器,6.2.3 接口中的地址译码器,作用:根据主机发送过来的端口地址信息、端口读写控制信号产生各个端口的控制信号。 输入端口:生成输出使能控制信号 输出端口:生成锁存控制信号 设计地址译码电路时应注意端口控制信号的有效状态 输入端口:控制信号通常为高电平或者低电平有效 当地址信息、读控制信号有效时,地址译码电路的输出应与输入端口输出使能信号的有效状态一致 输出端口:控制信号通常为上升沿或者下

8、降沿有效 当地址信息有效且写控制信号由低变高的瞬时,地址译码电路应输出输出端口锁存信号所需要的跳变沿,8088系统中地址译码电路举例,思考:各端口的地址、可读写性、端口控制信号的有效状态?,两个端口可以共用一个端口地址,由于读、写操作不会同时进行,一个输入端口和另一个输出端口可以使用同一个地址 例如,在上例中可安排数据输入端口、数据输出端口使用同一个地址330H,命令端口和状态端口共同使用地址331H。译码电路如下:,6.2.4 端口的读写控制,8位端口的读操作,注:需要结合IN指令的时序理解输入端口的读操作过程。,MOV DX,377H IN AL,DX,2. 8位端口的写操作,MOV DX

9、,0BFFFH OUT DX,AL,注:需要结合OUT指令的时序理解输出端口的写操作过程。,3. 8086系统中16位端口的读操作,MOV DX,2F6H IN AX,DX,6.3 I/O组织,Intel80x86计算机系统中,每一个字节端口都具有各自的端口地址。 CPU根据一个端口地址可以访问的数据长度不尽相同,如: 8088、8086、80286:可以为8位或者16位 386、486:可以为8位、16位或者32位 奔腾、酷睿:可以为8位、16位、32位或者64位 多个地址连续的8位端口可以构成一个多字节端口 8位端口的地址可以任意 16位端口的地址为2的倍数 32位端口的地址为4的倍数 6

10、4为端口的地址为8的倍数,6.3.1 8088中的8位I/O组织,当从指定端口地址访问16位数据时,8088用两个总线周期完成,每次访问一个字节。 如:IN AX, 30H 先读取地址为30h的字节端口,信息存入AL 再读取地址为31h的字节端口,信息存入AH,6.3.2 8086、286中的16位I/O组织,所有字节端口按地址特点分为奇区和偶区 访问偶端口信号:地址信息、BHE*=0、读写控制信号 访问奇端口信号:地址信息、A0=0、读写控制信号 从偶地址访问16位数据时可一次完成,从奇地址访问16位数据时要用两个总线周期完成。,6.4 接口与主机间信息传送的控制方式,6.4.1 程序控制方

11、式 Cpu通过执行用户编制的输入输出程序,通过i/o接口完成与外设间的数据传送。 直接控制方式 CPU随时可以通过in、out指令访问数据端口。,注:数据输入端口和数据输出端口共用一个地址。,反复读输入设备并写到输出设备: next: mov dx,0100h ;DX指向数据端口 in al,dx ;从输入端口读设备 out dx,al ;送输出端口 jmp next ;重复,2. 程序查询控制方式,CPU首先判断数据端口是否已就绪,若没有就绪就一直判断,直到就绪后才可以访问数据端口。 I/O接口接口电路中应设置以下端口: 状态端口:供CPU读取并判断数据端口的状态 数据端口:CPU通过它数据

12、传送 查询方式的处理流程,输入:,输出:,多台外设轮流查询的流程,当查询某外设未就绪,不应继续查询该设备而应该查询下一个设备,使得CPU为各个外设服务的几率均衡。,(1)查询方式的输入接口,一般的内部结构,查询式输入接口内部构造说明,接口内有两个端口: 数据端口(8位,输入) 状态端口(1位,输入,连接在D7上,=1表示有数据) 选通信号有二个作用: 将外设的数据送到接口的锁存器中; 使接口中的D触发器置“l”(READY=1) 数据信息和状态信息从不同端口经过数据总线送到CPU。,系统设计者决定,查询式输入程序设计,如下程序输入一个字节: status: mov dx,0102h ;DX指向

13、状态端口 in al,dx ;读状态端口 test al,80h ;测试标志位D7 jz status ;D70,未就绪,继续查询 mov dx,0100H ;D71,就绪,DX指向数据端口 in al,dx ;从数据端口输入数据,思考:若要以查询方式输入100个字节数据,请编制相应的程序。,(1)查询方式的输出接口,一般的内部结构,查询式输出接口内部构造说明,接口内有两个端口: 数据端口(8位,输出) 状态端口(1位,输入,连接在D7上,=1表示正在输出,“BUSY”) D触发器的作用: 为外设提供一个联络信号STB,通知外设接口中现在已有数据可供提取; 用作该设备的状态标志( “忙”,BU

14、SY)。 CPU读取接口中的状态: 外设忙( BUSY =1),CPU等待 外设空闲( BUSY =0),向外设输出数据 “数据端口写”信号作用:把数据打入“锁存器”;将“状态触发器”置1,查询式输出程序设计,思考:若要以查询方式输出以-1结束的一串字节数据,请编制相应的程序。,如下程序输出一个字节: status: mov dx,0102h ;DX指向状态端口 in al,dx ;读状态端口 test al,80h ;测试标志位D7 jnz status ;D71,忙,继续查询 mov dx,0100H ;D70,不忙,DX指向数据端口 mov al,char ; out dx,al ;向数

15、据端口输出char中的内容,6.4.2 程序中断方式,CPU也是通过执行用户编制的程序(中断服务程序)完成与外设间的数据交换。 与程序控制方式的不同体现在: CPU无需查询外设的状态 CPU与外设并行工作 外设就绪后主动向CPU发出中断请求,CPU暂停执行当前程序转向中断服务程序,通过执行IN/OUT指令完成数据交换 适用场合: CPU管理多台外设 低、中速外设,中断方式传送数据的过程,注:CPU只与接口电路中的数据端口进行数据交换,与外设无关。,6.4.3 直接存储器存取(DMA)方式,含义:直接由专门的DMA控制器(DMAC)硬件电路控制数据的传输过程,而无需CPU干预。 传送开始前需要C

16、PU执行用户编写的指令完成对DMAC的初始化 传送结束后DMAC向CPU发出中断请求 特点:速度快(因为由DMAC硬件直接控制),效率高。 适用场合:高速外设与主机间的批量数据传输。 磁盘与主存间的数据传输 网络通信接口 动态存储器的刷新,DMA方式与前两种方式的比较,MOV XX,AL,OUT DX,AL,IN AL,DX,MOV AL,XX,无需CPU指令,6.4.4 通道方式,是对DMA方式的进一步发展,最初用于大、中型计算机系统,现已普及到中、小及微型计算机。 CPU不再直接管理外设,而是设置专门的I/O通道 通道是一种能够执行有限通道指令的控制器,内部还集成了DMA控制电路。 通道方式传输数据的过程 CPU遇到输入输出指令,编制通道程序 通道负责执行通道程序,完成初始化 在通道内DMA控制器的控制下完成数据传输 通道通知CPU数据传输完成 CPU进行数据处理,6.5 开关量输入/输出,开关量可随时进行输入输出,通过借助于简单的接口电

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

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

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