《输入/输出》PPT课件.ppt
1第第6章章微型计算机接口微型计算机接口本章主要内容本章主要内容接口电路中的信息接口电路中的信息微型计算机接口及其组成微型计算机接口及其组成计算机与外设交换数据的方式计算机与外设交换数据的方式2接口电路中的信息接口电路中的信息接口电路中通常包括接口电路中通常包括3种信息,即:数据信息、种信息,即:数据信息、状态信息和控制信息状态信息和控制信息1.数据信息数据信息CPU与外设交换的基本信息就是数据与外设交换的基本信息就是数据数据信息一般分为数据信息一般分为3种类型,即数字量、模拟量、种类型,即数字量、模拟量、开关量开关量 数字量数字量数字量是以二进制形式表示的数或以数字量是以二进制形式表示的数或以ASCII码表码表示的数据和字符示的数据和字符3接口电路中的信息接口电路中的信息 模拟量模拟量当微机系统用于过程控制时,大量的现场物理量当微机系统用于过程控制时,大量的现场物理量(如温度、压力、流量等)经过传感器转换为连续(如温度、压力、流量等)经过传感器转换为连续变化的电量,经过放大后就是模拟的电压或电流变化的电量,经过放大后就是模拟的电压或电流它们必须经过它们必须经过A/D转换,变成数字量才能送入计算转换,变成数字量才能送入计算机机反过来当执行机构需要用模拟量控制时,计算机反过来当执行机构需要用模拟量控制时,计算机输出的数字量也必须经过输出的数字量也必须经过D/A转换转换4 接口电路中的信息接口电路中的信息 开关量开关量开关量就是一些表示两种状态的量,如:开开关量就是一些表示两种状态的量,如:开关的开闭,二极管的截止与导通等关的开闭,二极管的截止与导通等5接口电路中的信息接口电路中的信息2.状态信息状态信息状态信息是反映外设当前工作状态的信息状态信息是反映外设当前工作状态的信息3.控制信息控制信息控制信息是控制信息是CPU通过接口传送给外设的控制信通过接口传送给外设的控制信息,它是用来控制外设工作的信息息,它是用来控制外设工作的信息6微型计算机接口及其组成微型计算机接口及其组成n微机与外界要进行数据传送必须通过外部设备进微机与外界要进行数据传送必须通过外部设备进行;行;n微机的外部设备多种多样;微机的外部设备多种多样;n工作原理、驱动方式、信息格式、以及工作速度工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大;方面彼此差别很大;n外部设备不能和外部设备不能和CPU直接相连;直接相连;所以必须使用所以必须使用 I/O接口电路。接口电路。7什么是什么是I/O接口接口 I/O接口是位于系统与外设之间、用来协助完成接口是位于系统与外设之间、用来协助完成数据传送和控制数据传送和控制I/O任务的逻辑电路任务的逻辑电路nPC机系统板的可编程接口芯片、机系统板的可编程接口芯片、I/O总线槽的电总线槽的电路板(适配器)都是接口电路路板(适配器)都是接口电路CPU接口接口电路电路 I/O设备设备8I/O接口的主要功能接口的主要功能n对输入输出数据进行缓冲和锁存对输入输出数据进行缓冲和锁存n输出接口有锁存环节输出接口有锁存环节n输入接口有缓冲环节输入接口有缓冲环节n对信号的形式和数据格式进行变换对信号的形式和数据格式进行变换n微机直接处理:数字量、开关量、脉冲量微机直接处理:数字量、开关量、脉冲量n对对I/O端口进行寻址端口进行寻址n把选中的外设与总线相接,并将未选中的设把选中的外设与总线相接,并将未选中的设备与总线隔离(高阻态)备与总线隔离(高阻态)n与与CPU和和I/O设备进行联络设备进行联络9I/O端口的编址端口的编址I/O端口有两种编址方式端口有两种编址方式1.I/O端口与存储器统一编址方式端口与存储器统一编址方式外设端口地址和存储器单元地址共占存储器的访外设端口地址和存储器单元地址共占存储器的访问空间,即一个外设端口占用一个存储单元地址问空间,即一个外设端口占用一个存储单元地址如如:R6502,M6800 等采用此种方式等采用此种方式(示意图见下页)(示意图见下页)10I/O端口与存储器统一编址方式示意端口与存储器统一编址方式示意I/O端口与存储器共端口与存储器共享一个地址空间享一个地址空间外设端口作为存储器外设端口作为存储器的一个单元的一个单元,对外设对外设的操作可使用全部的的操作可使用全部的存储器指令存储器指令11I/O端口与存储器统一编址方式示意端口与存储器统一编址方式示意n优点:优点:n不需要专门的不需要专门的I/O指令指令nI/O数据存取与存储器数据存取一样灵活数据存取与存储器数据存取一样灵活n 缺点:缺点:nI/O口地址占用内存单元号,将减少内存容量口地址占用内存单元号,将减少内存容量n程序不易阅读程序不易阅读(不易区别访主存或访问外设不易区别访主存或访问外设)12I/O端口的编址端口的编址2.I/O端口独立编址方式端口独立编址方式这种编址方式是这种编址方式是I/O端口地址和存储器单元分别建端口地址和存储器单元分别建立两个地址空间,独立编址。立两个地址空间,独立编址。CPU用专门的用专门的I/O指令指令去访问去访问I/O端口端口如如:8086/8088,Z80 等采用此种方式等采用此种方式 示意图见下页示意图见下页 13n I/O地址空间独立于存储地址空间地址空间独立于存储地址空间n CPU有专门的有专门的I/O操作指令操作指令n 优点:优点:n控制和译码电路相对简单控制和译码电路相对简单n专门的专门的I/O指令使程序清晰易读指令使程序清晰易读n指令简单、速度快指令简单、速度快n 缺点:缺点:n增加硬件开销增加硬件开销nI/O指令没有存储器指令丰富指令没有存储器指令丰富I/O端口独立编址方式端口独立编址方式14 输入输出指令输入输出指令 在第在第3章已经介绍。章已经介绍。15IBM PC/XT的的I/O端口地址端口地址n 在在PC机中,仅用机中,仅用A9A0表示表示I/O口地址口地址(形成形成1KB端口端口)n000H1FFH:分配给系统板上的:分配给系统板上的I/O芯片使用芯片使用n200H3FFH:分配给扩展槽的:分配给扩展槽的I/O的地址的地址16I/O端口地址译码方法端口地址译码方法n I/O地址的译码方法与存储器译码的方法基地址的译码方法与存储器译码的方法基本一样,方法也有多种,这里举一个例子:本一样,方法也有多种,这里举一个例子:174 4个端口,地址个端口,地址300-303H300-303H地址地址总线总线端口地址端口地址(十六进制十六进制)片片选选用用端口端口选择选择用用A9A8A7A6A5A4A3A2A1A01100000000300H01301H10302H11303H18 这是一种局部译码方法,这是一种局部译码方法,按照系统分配给某按照系统分配给某接口的地址区域,对地址总线的某些位进行译接口的地址区域,对地址总线的某些位进行译码,产生对该接口包含的寄存器(端口)的组码,产生对该接口包含的寄存器(端口)的组选信号,再由低位地址线对组内寄存器(端口)选信号,再由低位地址线对组内寄存器(端口)译码寻址,从而确定与译码寻址,从而确定与CPU通信的外部设备通信的外部设备例如例如IBM PC系统板上的接口地址译码就是采用系统板上的接口地址译码就是采用此种译码寻址方式此种译码寻址方式19CPU与外设信息交换控制方式与外设信息交换控制方式本节主要内容本节主要内容无条件传送方式无条件传送方式查询方式(条件传送方式)查询方式(条件传送方式)中断控制方式中断控制方式直接存储器存取直接存储器存取(DMA)控制方式控制方式20 1.无条件传送控制方式无条件传送控制方式n 在在CPU与慢速变化的设备交换数据时,可以认与慢速变化的设备交换数据时,可以认为他们总是处于为他们总是处于“就绪就绪”状态,随时可以进行状态,随时可以进行数据传送;称为无条件传送,或称为立即传送、数据传送;称为无条件传送,或称为立即传送、同步传送同步传送n 适用于简单设备,如适用于简单设备,如LED数码管、按键或按钮数码管、按键或按钮等等n 无条件传送的接口和操作均十分简单无条件传送的接口和操作均十分简单 211.无条件传送控制方式无条件传送控制方式n 这种传送有一个前提,就是:这种传送有一个前提,就是:外设必须随时外设必须随时就绪就绪,外部控制过程的各种动作时间是固定的,外部控制过程的各种动作时间是固定的且是已知的情况且是已知的情况n其输入输出原理如下页图所示其输入输出原理如下页图所示22无条件传送控制无条件传送控制I/O原理示意原理示意232.条件传送控制方式条件传送控制方式条件传送又称为条件传送又称为查询传送查询传送,它是在传送数据前,它是在传送数据前,CPU需需要了解(要了解(查询查询)外设的工作状态,然后在外设可以交换信)外设的工作状态,然后在外设可以交换信息的情况下息的情况下(“就绪就绪”状态),实现数据的输入输出。若状态),实现数据的输入输出。若外设未准备好,外设未准备好,CPU就要等待就要等待对多个外设的情况下,对多个外设的情况下,CPU将按一定的顺序依次查询每将按一定的顺序依次查询每个设备(轮询)。先查询的外设将优先进行数据交换个设备(轮询)。先查询的外设将优先进行数据交换n 查询传送的特点是:工作可靠,适用面宽;缺点是传送查询传送的特点是:工作可靠,适用面宽;缺点是传送效率低效率低24 就绪(就绪(Ready)的意义)的意义n 在输入场合在输入场合n“就绪就绪”说明输入接口已准备好送往说明输入接口已准备好送往CPU的数据,等着的数据,等着CPU来读取来读取n 该状态也可以用接口中数据缓冲器已该状态也可以用接口中数据缓冲器已“满满”来描述来描述25 就绪(就绪(Ready)的意义)的意义n在输出场合在输出场合n“就绪就绪”说明输出接口已做好准备,等待接说明输出接口已做好准备,等待接收收CPU输出的数据输出的数据n该状态也可以用接口中数据缓冲器已该状态也可以用接口中数据缓冲器已“空空”,或者用外设,或者用外设“闲闲”或不或不“忙(忙(BUSY)”来来描述描述26查询传送的两个环节查询传送的两个环节n 查询环节查询环节n寻址状态口寻址状态口n读取状态寄存器的标志位读取状态寄存器的标志位n若不就绪就继续查询,直至就绪若不就绪就继续查询,直至就绪27查询传送的两个环节查询传送的两个环节n传送环节传送环节n寻址数据口寻址数据口n是输入,通过输入指令从数据端是输入,通过输入指令从数据端口读入数据口读入数据n是输出,通过输出指令从数据端是输出,通过输出指令从数据端口输出数据口输出数据28 查询输入查询输入29 输入时的数据和状态信息输入时的数据和状态信息30 程序流程图程序流程图31 查询输入的程序实现查询输入的程序实现LTEST:IN AL,STATUS_PORT ;从状态口读入信息从状态口读入信息 AND AL,80H ;检查检查ready=1?JZ LTEST ;ready不等于不等于1,循环,循环 IN AL,DATA_PORT ;ready=1,从数据口读从数据口读 入数据入数据 32 查询输入方式,输入数据必须经过三个步骤:查询输入方式,输入数据必须经过三个步骤:v CPU从状态口读取状态字从状态口读取状态字v CPU用用指令查询状态是否满足条件,不满足指令查询状态是否满足条件,不满足再读状态字,否则进入下一步再读状态字,否则进入下一步v CPU从从数据口读取数据数据口读取数据 查询输入方式小结查询输入方式小结33 查询输出(省略)查询输出(省略)343.中断控制方式中断控制方式n 无条件传送方式,需要已知定时时间,因此无条件传送方式,需要已知定时时间,因此可靠性差,但硬件、软件简单可靠性差,但硬件、软件简单n 查询传送方式,查询传送方式,CPU需要花大量的时间去读需要花大量的时间去读状态字,效率低;多个外设操作采用轮询机制,状态字,效率低;多个外设操作采用轮询机制,因此实时性差因此实时性差n中断控制方式适用于多个外设及实时系统中断控制方式适用于多个外设及实时系统35(1)中断控制方式过程)中断控制方式过程 CPU若采用中断控制方式与外设交换数据,若采用中断控制方式与外设交换数据,其过程是:其过程是:CUP启动外设工作后,就去作自己启动外设工作后,就去作自己的工作,这时外设和的工作,这时外设和CPU是并行工作的,即外是并行工作的,即外设准备数据,设准备数据,CPU执行程序。执行程序。当外设准备就绪,当外设准备就绪,向向CPU发出中断请求发出中断请求 一旦一旦CPU响应请求,就暂停原程序的执行,响应请求,就暂停原程序的执行,而转去执行一段预先安排好的中断服务程序而转去执行一段预先安排好的中断服务程序36(1)中断控制方式过程)中断控制方式过程 在中断服务程序中,进行数据传输;此时在中断服务程序中,进行数据传输;此时CPU和外设是串行工作的和外设是串行工作的 服务结束后,服务结束后,CPU又返回原来的断点,继又返回原来的断点,继续执行原来的程序续执行原来的程序37(2)中断传送方式进行数据输入时的基本)中断传送方式进行数据输入时的基本电路电路38n 中断传送是一种效率更高的程序传送方式中断传送是一种效率更高的程序传送方式n 进行传送的中断服务程序是预先设计好的进行传送的中断服务程序是预先设计好的n 中断请求是外设随机向中断请求是外设随机向CPU提出的提出的n CPU对请求的检测是有规律的:一般是在每一个指令的最后一个时钟周期采对请求的检测是有规律的:一般是在每一个指令的最后一个时钟周期采样中断请求输入引脚样中断请求输入引脚n但是但是n每传送一次数据,就要中断一次每传送一次数据,就要中断一次n不适用大数据量传送不适用大数据量传送n 有关有关8086/8088的中断系统的中断系统,详见第详见第7章章中断控制方式小结中断控制方式小结394.直接存储器存取(直接存储器存取(DMA)控制方式)控制方式用于高速的用于高速的I/O及成组交换数据及成组交换数据 希望克服程序控制传送的不足:希望克服程序控制传送的不足:外设外设-CPU-存储器存储器外设外设-CPU存储器存储器外设外设-存储器存储器 CPU释放总线,释放总线,I/O操作完全由操作完全由DMA控制器管理控制器管理40DMA控制的基本原理控制的基本原理 DMA控制的基本原理如下图所示。控制的基本原理如下图所示。41DMA控制控制的基本原理的基本原理DMA的工作过程如下:的工作过程如下:外围设备向外围设备向DMA控制器发出控制器发出DMA传送请求传送请求 DMA控制器向控制器向CPU发出的总线请求信号发出的总线请求信号(HOLD)CPU 执行完现行总线周期后,向执行完现行总线周期后,向DMA控制控制器发出响应信号(器发出响应信号(HLDA)42DMA控制原理控制原理的基本原理的基本原理 CUP将将CB、AB及及DB让出,由让出,由DMA控制器进控制器进行控制行控制 DMA控制器向外围设备发出控制器向外围设备发出DMA请求信号的请求信号的回答信号回答信号 进行进行DMA传送传送 DMA传送完毕,传送完毕,DMA控制器撤消对控制器撤消对CPU的的总线请求,总线控制权还给总线请求,总线控制权还给CPU,恢复正常运行,恢复正常运行43n无条件传送无条件传送:慢速外设需要与:慢速外设需要与CPU保持同步保持同步n查询传送查询传送:简单实用,效率极低:简单实用,效率极低n中断传送中断传送:外设主动,可以与:外设主动,可以与CPU并行工作,并行工作,但每次传送需要大量额外时间开销但每次传送需要大量额外时间开销nDMA传送传送:DMAC控制,外设直接和存储器控制,外设直接和存储器进行数据传送,适合大量、快速数据传送进行数据传送,适合大量、快速数据传送小结44 DMA控制器控制器8237A及其应用及其应用内容不要求。内容不要求。45作业作业nP164 6.3,6.4,看懂例,看懂例6.1n6.3题程序段如下:题程序段如下:LP1:IN AL,60H AND AL,80H JZ LP1 IN AL,61H466.4题程序段如下:题程序段如下:LEA SI,BUFFER MOV CX,400HLP1:IN AL,86H TEST AL,80H JNZ LP1 MOV AL,SI OUT 85H,AL INC SI LOOP LP1 HLT