资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,6,章 输入,/,输出及中断,计算机的输入输出系统也称,I/O,系统,其功能是完成计算机与外部设备之间的信息交换。,6.1,输入,/,输出接口,1,I/O,接口一般结构及工作过程,接口电路通过系统总线,AB,、,CB,和,DB,与,CPU,连接;通过数据线,D,、控制线,C,和状态线,S,与外部设备连接。,外部设备控制器通过接口电路状态线,S,,把设备当前的工作状态信息传送给,CPU,。,外部设备控制器通过接口电路控制线,C,接受,CPU,发给的控制命令。,在控制命令的作用下,外部设备控制器通过数据线与,CPU,实现数据信息交换,。,第6章 输入/输,I/O,接口电路信息传送示意图,I/O接口电路信息传送示意图,实际上,接口电路与外部设备控制器连接的数据线、控制线和状态线分别对应三个不同的端口地址,即数据端口,D,、控制端口,C,、状态端口,S,。,数据端口是,CPU,对外设进行数据处理的目标端口;,控制口、状态口的根据需要各设,1,根(或,1,根以上)线即可满足控制信息的要求,这一根线连接在数据总线,DB,的某一位;,CPU,是通过地址总线发出目标地址信息选中某一端口的,然后通过数据总线读取状态信息或发出控制命令,。,实际上,接口电路与外部设备控制器连接的数据线、控,2.,输入,/,输出编址及寻址,(,1,)独立编址及寻址,所有外设的信息所在的位置称为端口。将所有端口进行独立编址,即每一端口规定一确定的地址编码。,在,80 x86,系统中,独立编址的,I/O,端口的地址范围为:,0000H,0FFFFH,。,访问独立编址的,I/O,端口,必须使用输入,IN,指令或输出,OUT,指令。,2.输入/输出编址及寻址,【,例,】,已知某字节,I/O,端口地址为,20H,,要求将该端口数据的,D1,位置,1,,其它位不变。,指令段如下:,IN AL,20H ;,读取端口内容,.,OR AL,02H ;,在,AL,中设置,D1=1,其它位保持不变,.,OUT 20H,AL ;,将,AL,内容输出给,20H,端口,.,【例】已知某字节I/O端口地址为20H,要求将该,(2),与存储器统一编址,I/O,端口与储器统一编址是指:在存储器的地址空间中分出一个区域,作为,I/O,系统中各端口的地址,,I/O,端口被,CPU,视为的内存存储单元。一般访问内存的指令都可以访问,I/O,设备。,(2)与存储器统一编址,6.2,微处理器与外设之间数据控制方式,1.,无条件传送方式,指在输入或输出信息时,外部设备始终处于准备好的状态,不需要查询外部设备的状态,只要给出,IN,或,OUT,指令,即可实现,CPU,与外部设备进行信息交换。,仅适用于一些,简单的系统。,2.,查询传送方式,查询传送方式是指,CPU,与,I/O,设备之间交换信息必须满足某种条件,否则,CPU,处于等待状态,其工作过程完全由执行程序来完成。,6.2 微处理器与外设之间数据控制方式,查询传送方式工作过程如下:,(,1,)由,CPU,执行输出指令,向控制端口发出控制命令,C,,将所指定的外设启动;,(,2,)外设处于准备工作状态,,CPU,不断执行查询程序,从状态端口读取状态字,S,,检测外设是否已准备就绪。如果没有准备好,就返回上一步,继续读取状态字;,(,3,)外设准备好后,,CPU,则执行数据传送操作,通过数据端口完成整个输入,/,输出过程。,查询传送方式工作过程如下:,【,例,】,某外设数据端口地址为,2000H,,状态端口地址为,2002H,,控制端口地址为,2004H;8,位数据线接,CPU,的,D0D7,,一位控制线(为“,0”,表示启动外设工作)接,CPU,的,D0,,一位状态线(为“,1”,表示数据端口准备好)接,CPU,的,D7,。,查询方式下读取数据端口数据的程序段。,程序段如下:,MOV AL,00H;,设启动外部设备工作代码,D0=0.,MOV DX,2004H;,控制端口地址送入,DX.,OUTDX,AL ;,启动外设工作,.,MOV DX,2002H;,状态端口地址送入,DX.,LOP:INAL,DX;,读取状态信号,.,TESTAL,80H;,测试状态位,D7.,JZLOP;,未准备好转,LOP,继续读取,准 备好顺序执行,.,MOVDX,2000H;,数据端口地址送入,DX.,INAL,DX;,读取数据端口数据,.,【例】某外设数据端口地址为2000H,状态端口地,3.,中断传送方式,查询传送方式工作过程中,,CPU,处理工作与,I/O,传送是串行的。该方式主要解决了快速的,CPU,与速度较慢的外部设备之间进行信息交换的配合问题。但在查询等待期间,,CPU,不能进行其它操作,使,CPU,资源不能充分利用,不适合实时系统的要求。,为了解决快速的,CPU,与慢速的外设之间的矛盾、以充分利用,CPU,资源,产生了中断传送方式。,中断传送方式是指:,外设可以主动申请,CPU,为其服务,当输入设备已将数据准备好或输出设备可以接收数据时,即可向,CPU,发中断请求。,CPU,响应中断请求后,暂时停止执行当前程序,转去执行为外设进行,I/O,操作的服务程序,即中断处理子程序。在执行完中断处理程序后,再返回被中断的程序继续执行原来的程序。,3.中断传送方式,4.DMA,控制方式,在高速成批数据输入输出时,中断请求方式就显得太慢了。为进一步提高数据传输效率,产生了,DMA,方式,即直接存储器存取。,DMA,方式是完全由硬件执行,在存储器与外设之间直接建立数据传送通道的,I/O,传送方式。,DMA,方式主要特点是:在传送数据时不经过,CPU,,不使用,CPU,内部的寄存器,,CPU,只是暂停控制一个或两个总线工作周期,在这期间把控制权交给由硬件实现的,DMA,控制器,由,DMA,控制器来控制总线,在存储器和,I/O,设备之间直接进行数据传送。,4.DMA控制方式,6.3.,可编程,DMA,控制器,芯片,8237,是一种高性能的可编程,DMA,控制器。,所谓可编程芯片,是指可以通过,CPU,写入芯片内部规定好的控制字或命令字或方式字等,设置芯片实现不同的操作、工作方式及命令形式等功能。,1.8237,功能,8237,具有,4,个用于连接,I/O,设备进行数据传输的通道,即一片,8237,可以连接,4,台外部设备。,每个通道,DMA,请求可以设置为允许或禁止、不同的优先权。,4,种传送方式:单字节、数据块、请求和级联传送方式。,每个通道一次传送数据最大长度为,64KB,。,8237,与外设和,CPU,之间联络信号友好。,6.3.可编程DMA控制器,2.8237,工作方式,(,1,)单字节传输方式,单字节传输方式在每次,DMA,操作传送一个字节数据后,当前字节计数器减,1,、地址计数器加,1,或减,1,,然后,8237,自动把总线控制权交给,CPU,,让,CPU,占用至少一个总线周期,而后立即对,DMA,请求信号,DREQ,测试,若又有请求信号,,8237,重新向,CPU,发出总线请求,获得总线控制后,再传送下一个字节数据,如此反复循环,直至字节计数器为,0,,,DMA,操作结束。,2.8237工作方式,(,2,)数据块传送方式,数据块传送方式是指进入,DMA,操作后,连续传送数据直到整块数据全部传输完毕。,(,3,)请求传输方式,请求传输方式与数据块传输方式类似,只是在每传输一个字节后,,8237,都对,DMA,请求信号,DREQ,进行测试,如检测到,DREQ,端变为无效电平,则马上暂停传输,但测试过程仍然进行,当,DREQ,又变为有效电平时,就在原来的基础上继续进行传输,直到传输结束。,(2)数据块传送方式,3.8237,芯片引脚功能(见教材,6.3.3,),4.,内部计数器及寄存器组,(,部分),(,1,)命令寄存器(,8,位、片内地址,1000B,),命令寄存器用于存放命令控制字,它可以设置,8237,的工作状态。,8237,的,4,个,DMA,通道共用一个命令寄存器。,(,2,)状态寄存器(,8,位),状态寄存器高,4,位,D7,D4,的状态,分别表示当前通道,3,通道,0,是否有,DMA,请求。低,4,位,D3,D0,指出通道,3,通道,0,的,DMA,操作是否结束,(,3,)方式寄存器(,6+2,位、片内地址,1011B,),方式寄存器用于存放工作方式控制字,可通过编程写入,指定,8237,各通道自身的工作方式。,(,4,)基地址和当前地址寄存器(,16,位、片内地址见表,6-1,),(,5,)基字节和当前字节计数器(,16,位、片内地址见表,6-1,),3.8237芯片引脚功能(见教材6,5.DMA,应用编程,在使用,8237,进行,DMA,之前,必须首先通过,CPU,对其进行初始化编程。,其步骤如下:,发出复位命令(片内地址,1101B,,执行写入命令即可实现复位,使屏蔽寄存器各位置,1,、命令、状态、请求等寄存器清,0,)。,写工作方式控制字到方式寄存器。,写命令字到命令寄存器。,根据所选通道,写基地址和基字节数寄存器。,设置屏蔽,DMA,通道并写入屏蔽寄存器。,由软件请求,DMA,操作,则写入请求寄存器,否则由,DREQ,控制信号启动。,5.DMA应用编程,6.4,总线技术简介,6.4.1 标准总线及分类,总线是连接计算机各部件的一组公共信号线,是能够在计算机或各部件之间进行有效、高速地传输各种信息的通道。,总线可以分为,内总线、系统总线和外部总线,。,总线标准,:,为了使用的方便,对总线必须有详细和明确的规范要求,称为标准总线。,6.4总线技术简介,6.4.4,串行通信总线标准,1,通用串行总线(,USB,),用串行总线(,Universal Serial Bus,,,USB,),USB,是一种万能插口,可以取代,PC,机上所有的串、并行连接器插口,用户可以将几乎所有的外设装置包括显示器、键盘、鼠标、调制解调器、可编程控制器、单片机开发装置及数码相机等的插头插入标准的,USB,插口。,6.4.4串行通信总线标准,2,RS-232C,总线标准,RS-232C,适用于短距离或带调制解调器的通信场合。若设备之间的通信距离不大于,15m,时,可以用,RS-232C,电缆直接连接。对于距离大于,15m,以上的长距离通信,需要采用调制解调器才能实现。,RS-232C,传输速率最大为,20Kbit/s,。,RS-232C,采用负逻辑,即逻辑,1,用,-5V,-15V,表示,逻辑,0,用,+5V,+15V,表示。因此,,RS-232C,不能和,TTL,电平直接相连。对于采用正逻辑的串行接口电路,使用,RS-232C,接口必须进行电平转换。目前,,RS-232C,与,TTL,之间电平转换的集成电路很多,最常用的是,MAX232,。,2RS-232C总线标准,3,RS-422/485,总线标准,RS-232C,虽然应用广泛,但由于推出较早,数据传输速率慢,通信距离短。为了满足现代通信传输数据速率越来越快和距离越来越远的要求,,EIA,随后推出了,RS-422,和,RS-485,总线标准。,RS-422/485,最大的传输距离为,1200m,,最大传输速率为,10Mbit/s,。在实际应用中,为减少误码率,当通信距离增加时,应适当降低通信速率。例如,当通信距离为,120m,时,最大通信速率为,1Mbit/s,;若通信距离为,1200m,,则最大通信速率为,100Kbit/s,。,3RS-422/485总线标准,
展开阅读全文