第五章微型计算机和外设的数据传输5.1为什么用接口电路?5.2CPU和I/O设备之间的信号;5.3接口部件的I/O端口;5.4CPU和外设之间的数据传输方式;1.无条件传送方式2.条件传送方式3.中断方式4.DMA方式示意图:示意图:CPUMEMISA总线控制器硬盘适配器CRT适配器……ISA总线局部总线控制器ISA总线控制器CPUMEM网络适配器CRT适配器FAX适配器打印机适配器……ISA总线PCI总线8086的I/O编址:•8086系统和外部设备之间都是通过I/O芯片来联系的。每个I/O芯片都有一个端口或者几个端口,一个端口往往对应了芯片内部的一个或一组寄存器。微型机系统为每个端口分配一个地址,此地址叫端口地址。•8086允许有64K个8位的I/O端口,两个编号相邻的8位端口可以组成一个16位端口。指令系统中既有访问8位端口也有访问16位端口的I/O指令。(举例)•系统设计时,也可以通过硬件将I/O端口和存储器统一编址。(优点,WR,RD,M/IO)5.1为什么要用接口电路•I/O接口电路是为了解决计算机和外部设备之间的信息交换问题而提出的。I/O接口是计算机和外设之间传送信息的部件,每个外设都要通过接口和主机系统相连。接口技术就是专门研究CPU和外设之间数据传送方式、接口电路的工作原理和使用方法的。•辅助电路:如时钟信号,中断请求;•I/O接口电路:处理器可以接受外部设备送来的信息或将信息发给外部设备。使用接口电路的原因:•外设的功能多种多样、原理各不相同:–输入设备、输出设备–模拟信号、数字信号–串行信号、并行信号•外设的速度较慢、速度差别很大•接口电路通常起到信息变换(模数变换、串并变换、电平变换)和缓冲功能5.2CPU和I/O设备之间的信号•数据信息–数字量:二进制数据或ASCII码数据;–模拟量:传感器电压或电流放大;–开关量:•状态信息:反映当前外设所处的工作状态;•控制信息:CPU通过发送控制信息控制外设工作。5.3接口部件的I/O端口•每个接口部件都包含一组寄存器,CPU和外设进行数据传送时,各类信息在接口中进入不同的寄存器,一般称这些寄存器为I/O端口,每个端口都有一个端口地址。•数据端口:数据缓冲;•状态端口:外设状态;•控制端口或命令端口:控制接口的动作。外设通过接口和系统的连接5.4CPU和外设的数据传送方式•程序方式–无条件传送方式–条件传送方式•中断方式•DMA方式5.4.1程序方式•无条件传送方式:计算机能够确信外设已准备就绪,不必查询外设状态;如开关、数码管等。•条件传送方式(查询方式):CPU通过执行程序不断读取并测试外设状态。查询式输入接口电路图查询式输入过程的流程图查询式输出的接口电路•DATA_SEGSEGMENTMESSAGEDB‘BUFFEROVERFLOW’,0DH,0AH•DATA_SEGENDS•COM_SEGDB82DUP(?)COUNTDB?•COM_SEGENDS•CODESEGMENTASSUMDS:DATA_SEG,ES:COM_SEG,CS:CODESTART:MOVAX,DATA_SEGMOVDS,AXMOVAX,COM_SEGMOVES,AXMOVDI,OFFSETBUFFERMOVCOUNT,DIMOVCX,81CLDNEXT_IN:INAL,56HTESTAL,02HJZNEXT_ININAL,52HORAL,0JPENO_ERRORJMPERRORNO_ERROR:ANDAL,7FHSTOSBCMPAL,0DHLOOPNENEXT_INJNEOVERFLOWMOVAL,0AHSTOSBSUBDI,COUNTMOVCOUNT,DI.OVERFLOW:MOVSI,OFFSETMESSAGEMOVCX,17NEXT_OUT:INAL,56HTESTAL,01HJZNEXT_OUTLODSBOUT54H,ALLOOPNEXT_OUT.轮流查询:TREE_IN:MOVFLAG,0INPUT:INAL,STAT1TESTAL,20HJZDEV2CALLPROC1CMPFLAG,1JNZINPUTDEV2:INAL,STAT2TESTAL,20HJZDEV3CALLPROC2CMPFLAG,1JNZINPUTDEV3:INAL,STAT3TESTAL,20HJZNO_INPUTCALLPROC3NO_INPUT:CMPFLAG,1JNZINPUT。5.4.2中断方式1.中断传送方式的原理:查询方式:效率低;实时性差;中断方式:外设具有申请CPU服务的主动权;CPU不必进行测试和等待;中断方式输入的接口电路2.中断优先级问题的解决•软件查询方式:用硬件电路将外设的中断请求信号相或后,作为INTR信号;将它们的状态位相或后作为一个状态字。–省硬件、需要查询时间•简单硬件方式—菊花链法:在每个外设对应的接口上连接一个逻辑电路,这些逻辑电路构成一个链,称为菊花链。专用硬件电路:5.4.3DMA方式