《微型计算机和外部设备间的数据传输幻灯片.ppt》由会员分享,可在线阅读,更多相关《微型计算机和外部设备间的数据传输幻灯片.ppt(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微型计算机和外部设备间的数据传输第1页,共37页,编辑于2022年,星期六7.1 概述概述输入输入/输出输出:计算机通过外部设备同外部世界通信或:计算机通过外部设备同外部世界通信或交换数据。交换数据。I/O接口电路接口电路(简称简称 I/O接口接口):把外部设备同计算机):把外部设备同计算机连接起来实现数据传送的控制连接起来实现数据传送的控制电路电路。第2页,共37页,编辑于2022年,星期六第3页,共37页,编辑于2022年,星期六为什么要采用I/O接口电路?外设处理外设处理信息的类型信息的类型、速度速度、通信方式通信方式与与CPU不匹配,不匹配,不能直接挂在总线上,必须通过接口和系统相连。
2、不能直接挂在总线上,必须通过接口和系统相连。第4页,共37页,编辑于2022年,星期六说 明计算机和存储器之间也是要交换信息的,但计算机和存储器之间并没有专门的接口电路,原因就在于计算机和存储器的工作速度基本上是匹配的,信号的形式也是一致的。如果存储器的速度较慢,可以通过增加等待周期来解决。而外设和计算机的工作速度相差太大,不可能通过增加等待周期的方式来解决两者速度的不一致。使用接口电路则是必然的。第5页,共37页,编辑于2022年,星期六 7.2 CPU和和I/O设备间的信号设备间的信号 7.2.1 CPU与与I/O之间的接口信号之间的接口信号接口电路中的信息接口电路中的信息1.数据信息数据
3、信息2.状态信息状态信息3.控制信息控制信息第6页,共37页,编辑于2022年,星期六接口和端口接口和端口为了区分以上所述的三种信息,在接口部件中都包含一组寄存器,为了区分以上所述的三种信息,在接口部件中都包含一组寄存器,分别对应不同的外设地址,分别对应不同的外设地址,CPU和外设交换信息时,将三种不同的和外设交换信息时,将三种不同的信息,送入不同的寄存器:信息,送入不同的寄存器:数据送入数据寄存器,状态信息就送入状态寄存器,数据送入数据寄存器,状态信息就送入状态寄存器,等等。等等。这些寄存器就称为端口(这些寄存器就称为端口(PORT)。不同的端口有不同)。不同的端口有不同的地址,不同的端口存
4、放不同的信息。的地址,不同的端口存放不同的信息。第7页,共37页,编辑于2022年,星期六 8086/8088 CPU用地址总线的用地址总线的低低16位位作为对作为对8位位I/O端端口的寻址线,所以口的寻址线,所以8086 CPU可访问的可访问的8位位I/O端口有端口有65536个。两个编号相邻的个。两个编号相邻的8位端口可以组成一个位端口可以组成一个16位的端口。位的端口。一个一个8位的位的IO设备既可以连接在数据总线的高设备既可以连接在数据总线的高8位上,也位上,也可以连接在数据总线的低可以连接在数据总线的低8位上。位上。7.2.2 I/O端口及其寻址方式端口及其寻址方式 第8页,共37页
5、,编辑于2022年,星期六1.存储器映像的存储器映像的I/O寻址方式(寻址方式(I/OI/O端口和存储器端口和存储器端口和存储器端口和存储器统一编址统一编址)即存储器和外设共同分享即存储器和外设共同分享CPU的寻址空间。一般,存储器占的寻址空间。一般,存储器占用较多的寻址空间,而外设(用较多的寻址空间,而外设(I/O接口)占用较少的寻址空间。接口)占用较少的寻址空间。在这种情况下,在这种情况下,CPU可以用对存储器的操作指令来对外设进可以用对存储器的操作指令来对外设进行操作,两者对行操作,两者对CPU来说,实际上是相同的。即不需要专用来说,实际上是相同的。即不需要专用的对外设操作的指令。的对外
6、设操作的指令。外设和存储器的区别就在于地址。外设和存储器的区别就在于地址。MCS-51单片机就是这种编址方式。单片机就是这种编址方式。第9页,共37页,编辑于2022年,星期六2.I/O端口和存储器端口和存储器统一编址统一编址特点特点I/O端口相当于内存的一部分端口相当于内存的一部分,使内存容量减小。使内存容量减小。对对I/O端口的读端口的读/写与对存储器的读写与对存储器的读/写相同,所有写相同,所有可对内存操作的指令对可对内存操作的指令对I/O端口均可使用。端口均可使用。指令系统中不专设指令系统中不专设I/O指令。指令。第10页,共37页,编辑于2022年,星期六I/O端口单独编址端口单独编
7、址这时,存储器和这时,存储器和I/O接口,各自都有自己的接口,各自都有自己的地址范围,而且这些地址在数值上可以是重地址范围,而且这些地址在数值上可以是重叠的。也就是不能用地址来区别存储器和外叠的。也就是不能用地址来区别存储器和外设。设。端口与存储器分别独立编址,端口不占用内端口与存储器分别独立编址,端口不占用内存空间。存空间。设有专门的设有专门的I/O指令对端口进行读写,对内指令对端口进行读写,对内存操作的指令不能用于存操作的指令不能用于I/O端口。端口。第11页,共37页,编辑于2022年,星期六 输输入入输输出出指指令令共共有有两两条条。输输入入指指令令IN用用于于从从外外设设端端口口读读
8、入入数数据据,输输出出指指令令OUT则则向向端端口口发发送送数数据据。无无论论是是读读入入的的数数据据或或是是准准备备发发送送的的数数据据都都必必须须放放在在寄寄存存器器AL(字字节节)或或AX(字字)中中(不不用用AH寄寄存器存器)。输输入入输输出出指指令令可可以以分分为为两两大大类类:一一类类是是端端口口直直接接寻寻址址的的输输入入输输出出指指令令;另另一一类类是是端端口口通通过过DX寄寄存存器器间间接接寻寻址址的的输输入入输输出出指指令令。在在直直接接寻寻址址的的指指令令中中只只能能寻寻址址256个个端端口口(0255),而而间间接寻址的指令中可寻址接寻址的指令中可寻址64 K个端口个端
9、口(065535)。输入输出指令(第输入输出指令(第3章章 P58)第12页,共37页,编辑于2022年,星期六 输入指令输入指令IN(INput byte or word)IN AL,i8;字节输入,;字节输入,AL端口端口i8IN AX,i8;字输入,;字输入,AL端口端口i8,AH端口端口i8+1IN AL,DX;字节输入,;字节输入,AL端口端口DXIN AX,DX;字输入,;字输入,AL端口端口DX,AHDX+1注释注释:“i8”从形式上来说是立即数,实际上是端口地址,因而指令的从形式上来说是立即数,实际上是端口地址,因而指令的寻址方式为直接寻址。寻址方式为直接寻址。“MOV”指令中
10、,直接寻址要加中括号,输入输出指令不加。指令中,直接寻址要加中括号,输入输出指令不加。(MOV AL,2000H;IN AL,25H)第三、四两条指令为寄存器间接寻址,但对第三、四两条指令为寄存器间接寻址,但对DX不加中不加中括号。(括号。(mov al,bx;in al,dx)地址地址FFH地址地址FFH1)输入指令输入指令IN第13页,共37页,编辑于2022年,星期六 输出指令输出指令OUT(OUTput byte or word)OUT i8,AL;字节输出,端口;字节输出,端口i8ALOUT i8,AX;字输出,端口;字输出,端口i8AL,端口,端口i8+1AHOUT DX,AL;字
11、节输出,端口;字节输出,端口DXALOUT DX,AX;字输出,端口;字输出,端口DXAL,DX+1AH 注释:注释:输入输出指令从寻址方式来说分成两种:输入输出指令从寻址方式来说分成两种:直接寻址和寄存器直接寻址和寄存器DX间接寻址。如果要访问的端口地址在间接寻址。如果要访问的端口地址在0255之间,之间,既可以用直接寻址,也可以用既可以用直接寻址,也可以用DX间接寻址;如果要访问的端口地址间接寻址;如果要访问的端口地址256,则只能用,则只能用DX间接寻址。间接寻址。另外,输入输出指令中可用的数据寄存另外,输入输出指令中可用的数据寄存器只能是器只能是AL和和AX,其他寄存器不可使用。,其他
12、寄存器不可使用。不影响标志。不影响标志。2)输出指令输出指令OUT第14页,共37页,编辑于2022年,星期六 1.IN AL,205H 7.MOV AX,55AAH 2.IN AX,20H MOV DX,3FCH 3.IN AL,25H OUT DX,AX 4.IN AH,0FFH 8.MOV AH,86 5.MOV DX,2050H OUT 25H,AH OUT DX,AL 9.IN AL,25H 6.MOV DX,2050H MOV BL,AL IN BX,DX IN AL,36H (OUT DX,BX)MOV BH,AL()()()()()例题例题:(对错混合):(对错混合)第15页,
13、共37页,编辑于2022年,星期六7.3 CPU和外设之间的数据传送方式和外设之间的数据传送方式 7.3.1 无条件传送方式无条件传送方式无条件是指无条件是指CPU不管外设的状态,在需要和外不管外设的状态,在需要和外设交换信息的时候,就用输入或输出指令和外设交换信息的时候,就用输入或输出指令和外设交换信息。设交换信息。在这种方式下,在这种方式下,CPU和外设之间只有数据信息和外设之间只有数据信息的传送,没有状态信息的传送。的传送,没有状态信息的传送。但无条件传送,不等于不需要接口电路,只是但无条件传送,不等于不需要接口电路,只是接口电路可以比较简单,因为只有数据的通道,接口电路可以比较简单,因
14、为只有数据的通道,一般就只有输出锁存器和输入缓冲器。一般就只有输出锁存器和输入缓冲器。第16页,共37页,编辑于2022年,星期六例例7-1 如下图所示为采如下图所示为采用无条件传送方式控制用无条件传送方式控制的电路,输入接口中自的电路,输入接口中自带有数据缓冲器,输出带有数据缓冲器,输出接口中自带有锁存器,接口中自带有锁存器,控制开关控制开关K0K2打开打开则则对应发光二极管对应发光二极管Q0Q2亮亮,开关闭合则对应发光,开关闭合则对应发光二极管不亮。编写这段控二极管不亮。编写这段控制程序。制程序。第17页,共37页,编辑于2022年,星期六解:解:DON:IN AL,IN_PORT;读入;
15、读入B口开关状态口开关状态 XOR AL,0FFH ;求反;求反 OUT OUT_PORT,AL;点亮对应发光二;点亮对应发光二极管极管 JMP DON HLT 第18页,共37页,编辑于2022年,星期六7.3.2 查询传送方式(异步传送方式)查询传送方式(异步传送方式)这种方式,这种方式,CPU要遵循要遵循“先查询,后传先查询,后传送送”的原则,保证只有在外设已经是在的原则,保证只有在外设已经是在“准备好准备好”状态,才开始传送数据。状态,才开始传送数据。查询式传送的一般流程:查询式传送的一般流程:先从状态口读入状态字;先从状态口读入状态字;如果状态是如果状态是“准备好准备好”,开始传送;
16、,开始传送;如果状态是如果状态是“没有准备好没有准备好”,则继续查询,直到,则继续查询,直到“准备好准备好”,开始传送。,开始传送。第19页,共37页,编辑于2022年,星期六1.查询式输入查询式输入查询式输入的程序流程图:查询式输入的程序流程图:第20页,共37页,编辑于2022年,星期六例例7-2 查询传送输入接口电路如下图所示:查询传送输入接口电路如下图所示:8位锁存器与位锁存器与8位三态位三态缓冲器构成数据寄存器缓冲器构成数据寄存器,该接口的输入端连接输入设备,输出端直接,该接口的输入端连接输入设备,输出端直接与系统的数据总线相连。与系统的数据总线相连。状态寄存器由状态寄存器由D触发器
17、和触发器和1位三态缓冲器位三态缓冲器构成构成。输入设备可通过控制信号对该状态口进行控制,。输入设备可通过控制信号对该状态口进行控制,CPU可通可通过数据线过数据线D7访问该状态口。编写查询输入控制程序。访问该状态口。编写查询输入控制程序。第21页,共37页,编辑于2022年,星期六查询输入的部分程序:查询输入的部分程序:MOV DX,STATUS_PORT ;DX指向状态端口指向状态端口START:INAL,DX ;读状态端口信息;读状态端口信息 TESTAL,80H ;测试状态标志位;测试状态标志位D7 JZSTART ;D7=0,外设未准备好,继续查询,外设未准备好,继续查询 MOVDX,
18、DATA_PORT;DX指向数据端口指向数据端口 IN AL,DX ;从数据端口输入数据;从数据端口输入数据 RET第22页,共37页,编辑于2022年,星期六输入输出传送方式输入输出传送方式2.查询式输出查询式输出查询式输出流程图:查询式输出流程图:第23页,共37页,编辑于2022年,星期六例例7-3 下图所示接口电路中:下图所示接口电路中:8位锁存器作为数据寄存器位锁存器作为数据寄存器,其输入端,其输入端与数据线相连,输出端连接输出设备。与数据线相连,输出端连接输出设备。状态寄存器由状态寄存器由D触发器和触发器和1位三态位三态缓冲器构成缓冲器构成,CPU则可利用数据线则可利用数据线D0输
19、入该状态口的信息。编写查询输输入该状态口的信息。编写查询输出控制程序。出控制程序。第24页,共37页,编辑于2022年,星期六查询式输出的相应程序段为:查询式输出的相应程序段为:MOVDX,STATUS_POR ;DX指向状态端口指向状态端口START:INAL,DX ;读状态端口信息;读状态端口信息TESTAL,01H ;测试状态标志位;测试状态标志位D7,JZSTART ;D7=0,继续查询,继续查询 MOVDX,DATA_PORT ;DX指向数据端口指向数据端口MOVAL,BUF ;取数据;取数据OUTDX,AL ;向外设输出数据;向外设输出数据RET解:当输出设备将数据输出后,会发出一
20、个解:当输出设备将数据输出后,会发出一个ACK信号,使信号,使D触发器触发器翻转为翻转为0(BUSY信号由信号由1变变0会触发会触发ACK翻转)。翻转)。CPU查询到这个状态查询到这个状态信息后,知道外设空闲,于是就执行输出指令,将新的输出数据送至信息后,知道外设空闲,于是就执行输出指令,将新的输出数据送至8位锁存器。同时,将位锁存器。同时,将D触发器置为触发器置为1,通知外设进行数据输出操作,通知外设进行数据输出操作,同时,在输出设备尚未完成输出之前,一直维持同时,在输出设备尚未完成输出之前,一直维持D触发器输出为触发器输出为1,阻止,阻止CPU输出新的数据。输出新的数据。第25页,共37页
21、,编辑于2022年,星期六查询方式的优点:查询方式的优点:CPU和外设之间可以很和外设之间可以很好地配合工作好地配合工作。缺点:缺点:CPU要长期地查询外设的状态,查要长期地查询外设的状态,查询实际上就是一种等待。询实际上就是一种等待。CPU长期的等待长期的等待会影响会影响CPU的工作效率。的工作效率。第26页,共37页,编辑于2022年,星期六例例7-4如下图所示,试编程实现将如下图所示,试编程实现将48000H为首地址的为首地址的顺序顺序100个单元的数据,利用查询方式输出到外个单元的数据,利用查询方式输出到外设。设。第27页,共37页,编辑于2022年,星期六解解:程序如下:程序如下:S
22、TART:MOV AX,4000H MOV DS,AX MOV SI,8000H MOV CX,100GOON:MOV DX,00F1HWAIT:IN AL,DX AND AL,01H JZ WAIT MOV AL,SI MOV DX,00F0H OUT DX,AL INC SI LOOP GOON RET第28页,共37页,编辑于2022年,星期六7.3.3中断传送方式中断传送方式中断方式是由中断方式是由外设向外设向CPU发出要求交换数据的请求,发出要求交换数据的请求,即即中断请求中断请求。CPU收到中断请求后,中断当前的工作,收到中断请求后,中断当前的工作,为外设服务。服务结束(输入或输出
23、)后,继续原来的工为外设服务。服务结束(输入或输出)后,继续原来的工作。作。中断方式不要求中断方式不要求CPU等待或查询,可以大大地提高等待或查询,可以大大地提高CPU工作效率。但接口电路比较复杂。工作效率。但接口电路比较复杂。第29页,共37页,编辑于2022年,星期六7.3.4 DMA方式方式DMA方式,是由方式,是由DMA控制器来控制数据从外设到存储控制器来控制数据从外设到存储器的直接传送。器的直接传送。CPU不参与不参与DMA传送的控制。传送的控制。中断方式仍然是指令控制下的传送,为了进一步提中断方式仍然是指令控制下的传送,为了进一步提高传送速度,希望传送直接是在硬件控制下完成。高传送
24、速度,希望传送直接是在硬件控制下完成。DMA方式是方式是速度最快速度最快的外设和存储器交换信息的方式。的外设和存储器交换信息的方式。第30页,共37页,编辑于2022年,星期六1.DMA传送的工作原理传送的工作原理 第31页,共37页,编辑于2022年,星期六2.DMA控制器的基本功能控制器的基本功能(1)能接受外设的)能接受外设的DMA请求信号请求信号DMARQ,并能向外设发出,并能向外设发出DMA响应信号响应信号DMAAK;(2)能向)能向CPU发出总线请求信号(发出总线请求信号(HRQ),当),当CPU发出总线发出总线响应信号(响应信号(HLDA)后能接管对总线的控制权,进入)后能接管对
25、总线的控制权,进入DMA方方式;式;(3)能发出地址信息,对存储器寻址并修改地址指针;)能发出地址信息,对存储器寻址并修改地址指针;(4)能向存储器和外设发出读)能向存储器和外设发出读/写控制信号;写控制信号;(5)能决定传送的字节数,并能判断)能决定传送的字节数,并能判断DMA传送是否结束;传送是否结束;(6)能发出)能发出DMA结束信号,释放总线,让结束信号,释放总线,让CPU重新获得总线控制权。重新获得总线控制权。第32页,共37页,编辑于2022年,星期六3.DMA操作方式操作方式(1)单字节方式)单字节方式在单字节操作方式下,在单字节操作方式下,DMA控制器操作每次只传送一个字节。即
26、获得总线控制权控制器操作每次只传送一个字节。即获得总线控制权后,每传送完一个字节的数据,便将总线控制权还给后,每传送完一个字节的数据,便将总线控制权还给CPU,按这种工作方式,按这种工作方式,即使有一个数据块要传送,也只能传送完一个字节后,由即使有一个数据块要传送,也只能传送完一个字节后,由DMA控制器重新向控制器重新向CPU申请总线。申请总线。(2)字组方式)字组方式字组操作方式也叫请求方式或查询方式。这种方式下一个字组操作方式也叫请求方式或查询方式。这种方式下一个DMA请求能够连续传送一批数请求能够连续传送一批数据。在此期间,据。在此期间,DMA控制器一直保持总线控制权。当控制器一直保持总
27、线控制权。当DMA请求无效请求无效,数据传送数据传送结束结束,或,或检索到匹配字节检索到匹配字节,以及,以及外加一个过程结束信号外加一个过程结束信号时,时,DMA控制器便释放总线控制器便释放总线控制权。控制权。(3)连续方式)连续方式连续操作方式是指在数据块传送的整个过程中,不管连续操作方式是指在数据块传送的整个过程中,不管DMA请求是否撤消,请求是否撤消,DMA控制控制器始终控制着总线。器始终控制着总线。除非传送结束或检索到除非传送结束或检索到“匹配字节匹配字节”,才把总线控制权交才把总线控制权交回回CPU。在传送过程中,当。在传送过程中,当DMA请求失效时,请求失效时,DMA控制器将等待它
28、变为有效,控制器将等待它变为有效,却并不释放总线。却并不释放总线。第33页,共37页,编辑于2022年,星期六简单I/O接口扩展实验原理框图CPU74LS24474LS273K1K2K8LED1LED2LED8三大总线三大总线I/O接口接口外设外设内存内存第34页,共37页,编辑于2022年,星期六简单I/O接口扩展实验1、题目要求题目要求:当只有:当只有K1向上时,向上时,LED1亮;当只有亮;当只有K2向上时,向上时,LED2亮;当亮;当K1、K2均向上时,均向上时,LED1、LED2均不亮;当均不亮;当K1、K2均向下时,均向下时,LED1、LED2均亮。均亮。2、接线接线:CS244接
29、接CS0(地址(地址04A004AF 偶地址有效),偶地址有效),CS273接接CS1(地址(地址04B004BF 偶地址有效);偶地址有效);K1接接IN0,K2接接IN1;LED1接接D0,LED2接接D1。注:注:1)、对)、对LED灯来说,输入灯来说,输入0时灯亮,输入时灯亮,输入1时灯灭。时灯灭。2)、对开关来说,开关向上拨时输出)、对开关来说,开关向上拨时输出0,开关向下拨时输出,开关向下拨时输出1。第35页,共37页,编辑于2022年,星期六简单I/O接口扩展实验3、分析 K1K2LED1LED20011010110101100第36页,共37页,编辑于2022年,星期六简单I/
30、O接口扩展实验编程code segment public assume cs:code org 100hstart:mov dx,04a0h;74LS244地址地址 in al,dx ;读输入开关量读输入开关量 AND al,03h cmp al,00h JZ Q1 CMP AL,01H JZ Q2 CMP AL,02H JZ Q3 MOV AL,00H JMP ABCQ1:MOV AL,03H JMP ABC Q2:MOV AL,01H JMP ABC Q3:MOV AL,02H JMP ABC ABC:mov dx,04b0h;74LS273地址地址 out dx,al ;输出至输出至LED jmp START code ends end start第37页,共37页,编辑于2022年,星期六