资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,微机系统原理及接口技术,安徽工程科技学院,第五章 输入/输出接口,5.1,输入/输出接口概述,5.2 I/O,端口的编址方式,5.3 I/O,接口的访问控制,5.3 I/O,接口的数据传输控制方式,5.1,输入/输出接口概述,接口解决微处理器与外设之间的差异,外设种类多,信号类型有机械的、物理的、电信号等,信号形式有脉冲、模拟量或数字量,数据传输率,不同,数据格式,不同,数据传输方式,不同,有并行、串行之分,CPU,与外设都是面向接口而非直接联络,接口电路中的信息,数据信息、状态信息,及,控制信息,主,机,外,设,接口电路,DB,AB,CB,数据信息,控制信息,状态信息,数据信息,数据信息,:,要交换的数据本身。,数字量,:,通常以8位或16位的二进制数以及,ASCII,码的形式传输,主要指由键盘、磁带机、磁盘等输入的信息或主机送给打印机、显示器、绘图仪等的信息,开关量,:,用“0”和“1”来表示两种状态,如开关的通/断,模拟量,:,模拟的电压、电流或者非电量。对模拟量输入而言,需先经过传感器转换成电信号,再经,A/D,转换器变成数字量;如果需要输出模拟控制量的话,就要进行上述过程的逆转换,数据传输方向,:,CPU,I/O,接口外设,控制信息,控制信息,:,控制外设工作的命令,,CPU,通过接口发出,如,A/D,转换器的启/停信号,数据传输方向:,CPUI/O,接口处设,状态信息,状态信息,:,表征外设工作状态的信息,对,输入接口,CPU,是否准备好接收数据,,READY”,准备好吗?,对,输出接口,外设是否准备好接收数据,“,BUSY”,外设忙吗?,数据传输方向:,CPUI/O,接口外设,I/O,端口,传送这三种信息的接口电路中的,寄存器,称为,数据、状态和控制端口,不同的寄存器有不同的端口地址,即用,地址访问,端口,由一个或多个,寄存器,组成,接口,由若干个端口加上相应的控制逻辑组成,5.1.2,接口的基本功能,数据缓冲功能,数据格式转换,设备选择功能,信号转换功能,接收、解释并执行,CPU,命令的功能,可编程功能,5.2 I/O,端口的编址方式,为了区分接口电路的各个寄存器,系统为它们各自分配了一个地址,称为,I/O,端口地址,,以便对它们进行寻址并与存储器地址相区别,接口电路的结构,数据,缓冲器,状态,寄存器,控制,寄存器,接外设一侧,主,机,外,设,总线驱动,地址译码,控制逻辑,接,CPU,一侧,DB,AB,CB,数据信息,控制信息,状态信息,端口,接口,实现对,CPU,数据总线速度和驱动能力的匹配,实现各寄存器端口寻址操作,实现接口电路中的各寄存器端口的读/写操作和时序控制,5.2.2 I/O,端口,编址方式,:,I/O,端口有,两种编址方式,:,I/O,独立编址方式,存储器映像方式,1,、,I/O,独立编址(一),指主存地址空间和,I/O,端口地址空间,相互独立,分别编址。,CPU,通过,指令,来区分是访问,I/O,口还是存储单元,优点,:主存和,I/O,端口的地址可用范围都比较大;,缺点,:,I/O,指令的功能一般比较弱,在,I/O,操作中必须借助,CPU,的寄存器进行中转,1,、,I/O,独立编址(二),80,X86,系列微处理器采用独立的,I/O,编址方式,CPU,使用地址总线中的,A0A15,来寻址,I/O,口,故最大,I/O,空间是,64,K,个字节端口(或32,K,个字端口,),2,、存储器统一编址(映像编址),指,I/O,端口与存储器,共享,一个寻址空间,又称为,统一编址,。,在这种系统中,,CPU,可以用,同样的指令,对,I/O,端口和存储器单元的进行访问。,优点,:,对,I/O,口的访问灵活方便,有利于提高端口数据的处理能力。,缺点,:,I/O,端口占用了主存地址,相对减少了主存的可用范围。,两种编址方式比较,I/O,空,间,内,存,空,间,I/O,空,间,内,存,空,间,分别是分离编址?还统一编址?,5.2.3 I/O,端口的地址译码,I/O,接口的访问控制,微机系统的每个端口都有惟一的端口地址,端口地址:经译码电路译码后产生,端口选通信号,,控制端口的,读/写操作,I/O,端口的地址分配,80,X86,系列微处理器提供,16条地址线,访问,I/O,端口,编址可达,64,K,个字节端口或者32,K,个字端口,。,IBM,系列采用非完全译码方式,即只考虑了,低10位地址线,A0-A9,,,I/O,端口地址范围是0000,H-03FFH,,总共只有,1024个字节,端口,80386微处理器或此后的微处理器构成的微机系统,采用全译码的方法,端口为,64,K,个字节端口或32,K,个字端口,I/O,端口的地址译码,将来自地址总线上的地址代码翻译成为所需要访问端口的选通信号,I/O,端口地址译码电路结构,译码电路的输入信号,地址信号,:,由地址范围决定,控制信号,:,数据流向(读/写)、数据宽度(8位/16位)、是否采用奇/偶地址和,DMA,传送方式,译码电路的输出信号:接口芯片的,片选信号,端口的读写控制:输入需要缓冲,,输出需要锁存,输入缓冲电路,当读有效时,才将缓冲器中的三态门打开,使外设的数据进入系统的数据总线,其它时间,三态门处于高阻状态,不影响总线上的其它操作,微处理,器系统,外部输,入设备,A,0,B,0,A,1,B,1,A,2,B,2,A,3,B,3,A,4,B,4,A,5,B,5,A,6,B,6,A,7,B,7,E,DIR,2,3,4,5,6,7,8,9,18,17,16,15,14,13,12,11,1,19,译码,片选,IOR,DIR=1,,,A,B,DIR=0,,,B,A,74,LS245,输出锁存,选中锁存器时,总线上的数据才能进入锁存器,此后不管总线上的数据(锁存器输入端)如何变化,只要没有再次使锁存器的信号有效,锁存器的输出端就一直保持原来锁存的信息不变。,微处理,器系统,外部输,出设备,D,0,Q,0,D,1,Q,1,D,2,Q,2,D,3,Q,3,D,4,Q,4,D,5,Q,5,D,6,Q,6,D,7,Q,7,CLK,CL,R,3,4,7,8,13,14,17,18,2,5,6,9,12,15,16,19,74,LS273,11,译码片选,IOW,74,LS32,+5,V,1,I/O,地址译码方法,地址译码的方法灵活多样,高位地址线,与,CPU,的控制信号进行组合,经译码电路产生,I/O,接口芯片的片选信号,CS,,实现,系统中的接口芯片寻址,低位地址线,直接接到,I/O,接口芯片的地址引脚,进行,I/O,接口芯片的,片内端口寻址,I/O,端口地址译码电路设计,译码电路采用的元器件来分,门电路译码,译码器译码,可编程逻辑器件译码,1,门电路地址译码电路,如图,5-2,所示是由门电路组成的地址为,2F0H,端口译码电路。,端口读:,IOR,AEN,IOW,执行,MOV DX,2F0H,INAL,,,DX,2,译码器译码,例题:,有一片,8255A,并行接口芯片,已知该芯片有,4,个端口地址,且定为,060H,063H,,试设计译码电路。,分析,:,060H,063H,即,0001100000B,0001100011B,8255A,片内,4,个端口,可以由地址线,A1,和,A0,直接进行寻址,而该芯片的片选信号则应由高位地址线,A9,A2,产生。为了使,8255A,芯片,4,个端口的地址为,060H,063H,,高位地址线要满足,A9,A2=00101000,的要求。,5.3 I/O,接口的数据传输控制方式,外设的速度与,CPU,相比要慢好几个数量级,且不同外设之间的速度也相差很大,为了保证数据传输的可靠性,,CPU,一定要等外设准备就绪之后才能执行输入/输出操作,,而外设就绪的时刻对,CPU,而言是随机的,因此,需要同步,。,三种,I/O,同步控制方式:,程序控制方式,:,无条件程序控制和程序查询,中断控制方式,直接存储器存取方式,,,DMA,方式,无条件程序控制方式(一),最简单的,I/O,控制方式,,CPU,可以随时根据需要无条件地读写,I/O,端口,外设要求:简单,数据变化缓慢,操作时间固定,如一组开关或,LED,显示管。,外设被认为始终处于就绪状态,接口特点,CPU,的,DBI/O,接口(输出锁存器)外设,CPU,的,DBI/O,接口(输入缓冲器)外设,无条件程序控制方式(二),数据输入,缓冲器端口,数据输出,锁存器端口,输入数据,输出数据,端口,译码器,RD,AB,DB,WR,M/IO,无条件程序控制方式(三),例,5.5,START:,MOV DX,INPORT,IN AL,DX,;,读入按键状态,TEST AL,01H;,判断最低位按,键,JNZ K1;,最低位按键没闭合,转,MOVAL,01H;,最低位发光,JMPDISP,K1:TEST AL,02H;,JNZ K2;,次低位按键没闭合,转,MOVAL,03H;,最低2位发光,JMPDISP,.,DISP:,MOV DX,OUTPORT,OUT DX,AL,;,JMP START,程序查询输入方式(,条件传送方式,),接口特点:避免了对端口的“盲读”、“盲写”,数据传送的可靠性高,并且硬件接口相对简单。缺点是,CPU,工作效率低,,I/O,响应速度慢,;,外设要求:状态口和数据口,在有多个外设的系统中,,CPU,的查询顺序由,外设的优先级,确定,一种,CPU,主动、外设被动,的,I/O,操作方式,很好地解决了,CPU,与外设之间的,同步,问题,查询控制的程序流程,READY?,读取状态端口,读/写数据端口,Y,N,状态端口复位,程序查询方式的输入接口电路,数据缓冲器,(输入端口),状态缓冲器,(输入端口),输,入,设,备,数据端口读选通,状态端口读选通,DB(,数据、状态),锁,存,器,输入数据,输入选通,R,Q,D,5,V,READY,D0,数据端口(8位),状态端口(1位),READY,READY?,输入状态信息,输入数据信息,Y,N,状态信息占用数据线的,D,0,位,查询程序如下:,QUERY,:,IN AL,,S_PORT;,状态口地址,SAR AL,1JNCQUERY,INAL,,D_PORT,;D_PORT,是数据口地址,查询,输入,程序,程序查询,输出,方式,输出选通,数据锁存器,(输出端口),状态缓冲器,(输入端口),输,出,设,备,R,Q,D,5,V,DB(,数据、状态),BUSY(1bit),ACK,状态端口读选通,数据端口写选通,数据端口(8位),状态端口(1位),BUSY,输入状态信息,BUSY?,输出数据信息,N,Y,QUERY:,INAL,S_PORT,;,状态口地址,SARAL,1 JCQUERY,OUT D_PORT,,,AL,;D_PORT,数据口地址,查询,输出,程序,查询方式的打印机接口,WAIT:,IN AL,7AH,;,读状态端口,TEST AL,04H;,判断,D,2,是否为0?,JNZ WAIT;,不是0,等待,MOV AL,BUF;,取数据,OUT 78H,,,AL,;,将数据送到打印机接口,数据,端口,状态,端口,数据缓,冲器,状态,检测,打印机,译码,电路,触发信号,状态信号,D,2,数据总线,地址总线,控制总线,信号,78,H,7,AH,接口电路,中断控制方式,接口特点,:避免了,CPU,反复低效率的查询,适用于,CPU,任务繁忙、而数据传送不太频繁的系统中。缺点是硬件电路和处理过程都比较复杂;(中断控制芯片),CPU,被动而外设主动,的,I/O,操作方式,较大地提高了,CPU,的工作效率,并使系统具有了实时处理功能,中断控制方式,中断请求触发器,Q,R,D,数据缓冲,端口译码,端口译码,控制端口,中断屏蔽触发器,Q,D,+5,V,WR,外,设,READY,DB,AB,DB,INTR,INTA,中断可被响应的条件:,中断请求,触发器置位;,中断屏蔽,触发器清零;,CPU,内部开放中断,;,CPU,现行指令执行完,中断工作过程,外设需要,CPU,服务时,外设,I/O,接口向,CPU,发中断请求,,INTR=H,(,中断请求有效),CPU,执行完当前指令后,(注:若,IF=1),CPU I/O,接口 外设发中断响应,,/,INTA=L,CPU,执行中断服务程序,CPUI/O,接口外设读写数据,DMA,控制方式(存储器直接存取),内存与外设间有,大量数据,交换时,采用中断方式,每传送一次数据,就必须经历中断处理的全部步骤,而且一般需要,借助,CPU,内部的寄存器作为中介,DMA,方式:,不用,CPU,的寄存器作传数中介,完成存储器和外设间的直接传数,,CPU,必须将系统总线的控制权让给,DMAC,DMA,方式原理方框图,DB,HOLD,CPU,HLDA,AB,DMAC,MEM,I/O,请求,响应,DMA,的传送过程,DMAC,发存储器地址,在总线上传送数据,传送结束?,修改地址指针,DMA,结束,交还总线权,CPU,允许释放总线,向,DMAC,发出总线应答信号,HLDA,DMAC,向,CPU,发总线申请,HOLD,Y,N,外设/内存,CPU,DMA,控制器,内存/外设,外设/内存,MOV,XX,AL,OUT DX,AL,IN AL,DX,MOV,AL,XX,无需,CPU,指令,内存/外设,
展开阅读全文