您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 深圳大学微机原理与接口技术PPT第五章
本章重点为:•为什么要用接口;•CPU和输入/输出设备之间的信号;•接口的功能以及在系统中的连接;•中断传输的原理;•DMA方式的原理;•输入/输出过程中接口部件和地址总线错位连接的原理。第5章微型计算机和外设的数据传输5.1为什么要用接口•接口按功能分为两类–使CPU正常工作所需要的辅助电路–输入/输出接口•外部设备为什么一定要通过接口和主机相连?为什么存储器不需要接口?–时序上的原因–外部设备功能多种多样的原因–外部设备的信息既有数字式,又有模拟式的原因–多个外设共享总线的原因–速度的原因5.1.1.为什么要设置接口电路CPU与外设两者的信号线不兼容,在信号线功能定义、逻辑定义和时序关系上都不一致两者的工作速度不兼容,CPU速度高,外设速度低若不通过接口,而由CPU直接对外设的操作实施控制,就会使CPU处于穷于应付与外设打交道之中,大大降低CPU的效率若外部设备直接由CPU控制,也会使外设的硬件结构依赖于CPU,对外设本身的发展不利。数字化存储示波器、数字化万用表终端、调制解调器A/D转换器开关量输入D/A转换器开关量输出键盘、鼠标、数字化仪、光笔、图形输入仪麦克风、扫描仪打印机显示器磁盘磁带软盘光盘智能仪器接口通信接口过程控制接口输入接口输出接口外存接口CPU内存DBABCB图1-1微机系统各类接口框图返回5.2CPU和输入/输出设备之间的信号•数据信息–数字量–模拟量–开关量•状态信息•控制信息1.数据信息•(1)数字量:通常以8位或16位的二进制数以及ASCII码的形式传输,主要指由键盘、磁盘、光盘等输入的信息或主机送给打印机、显示器、绘图仪等的信息。•(2)模拟量:模拟的电压、电流或者非电量。对模拟量输入而言,需先经过传感器转换成电信号,再经A/D转换器变成数字量;如果需要输出模拟控制量的话,就要进行上述过程的逆转换。•(3)开关量:用“0”和“1”来表示两种状态,如开关的通/断、电机的转/停、阀门的开/关等。1.数据信息2.状态信息•CPU在传送数据信息之前,经常需要先了解外设当前的状态。如输入设备的数据是否准备好、输出设备是否忙等。•用于表征外设工作状态的信息就叫做状态信息,它总是由外设通过接口输入给CPU的。•状态信息的长度不定,可以是1个二进制位或多个,含义也随外设的具体情况不同而不同。3.控制信息•用来发布控制命令、控制外设工作的信息,例如A/D转换器的启停信号。•控制信息总是CPU通过接口发出的。返回5.3接口部件的I/O端口5.2.1I/0端口•端口(port)是接口电路中能被CPU直接访问的寄存器的地址。有了端口地址,CPU对外设的输入输出操作归结为对接口芯片各端口的读写操作。•计算机给接口电路中的每个寄存器分配一个端口,因此,CPU在访问这些寄存器时,只需指明它们的端口,不需指出是什么寄存器。•端口分为数据端口、状态端口和控制端口。•CPU对数据端口进行一次读或写操作,也就是与该接口连接的外设进行一次数据传输•CPU对状态端口进行一次读操作,就可以获得外设或接口自身的状态代码•CPU把若干位控制代码写入控制端口,则意味着对该接口或外设发出一个控制命令,要求该接口或外设按规定的要求工作I/O端口的编址方式•1端口地址和存储器地址统一编址,也称存储器映射方式•2I/O端口地址和存储器地址分开独立编址,也称I/O映射方式1统一编址方式•从存储器空间划出一部分地址空间给I/O设备,把I/O接口中的端口当作存储器单元一样进行访问,不设置专门的I/O指令•优点:•访问I/O端口可实现输入/输出操作,还可以对端口内容进行算术逻辑运算、移位等等;•能给端口有较大的编址空间,这对大型控制系统•和数据通信系统是很有意义的;•缺点:•端口占用了存储器的地址空间,使存储器容量减小;•指令长度比专门I/O指令要长,因而执行速度较慢;2独立编址方式•I/O端口地址空间和存储器地址空间是独立的、分开的,即I/O端口地址不占用存储器地址空间。•优点•I/O端口地址不占用存储器空间;•使用专门的I/O指令对端口进行操作,I/O指令短、执行速度快;•并且由于专门I/O指令与存储器访问指令有明显的区别,使程序中I/O操作和存储器操作层次清晰,程序的可读性强。•缺点•这种编址方式中,微处理器对存储器及I/O端口是采用不同的控制线进行选择的,因而接口电路比较复杂。5.4.1接口的功能•寻址功能•输入/输出功能•数据转换功能•联络功能•中断管理功能•复位功能•可编程功能•错误检测功能1.数据缓冲功能•接口电路中一般都设置有数据寄存器或锁存器数据口,以解决高速的主机与低速的外设之间的速度匹配问题,避免因主机与外设的速度不匹配而丢失数据。2.端口选择功能•微机系统中常有多个外设,而CPU在任一时刻只能与一个端口交换信息,因此需要通过接口的地址译码电路对端口进行寻址。3.信号转换功能•外设所提供的数据、状态和控制信号可能与微机的总线信号不兼容,所以接口电路应进行相应的信号转换。4.接收和执行CPU命令的功能•CPU对外设的控制命令一般以代码形式输出到接口电路的控制端口,接口电路对命令代码进行识别、分析,分解成若干控制信号,传送到I/O设备,并产生相应的具体操作。5.中断管理功能•当外设需要及时得到CPU的服务,特别是出现故障需要CPU立即处理时,就要求接口中设置中断控制器,以便于CPU处理有关中断事务(如中断请求、中断优先级排队、提供中断向量等)。6.可编程功能•由于I/O接口电路大多由可编程接口芯片组成,因此就有可能在不改变硬件电路的情况下,只要修改接口驱动程序就可以改变接口的工作方式,提高了接口的灵活性和可扩充性,使接口向智能化方向发展。7.返回外设状态的功能•接口电路在执行命令之前、执行命令过程中和执行命令之后,外部设备及接口电路都会有一些情况发生,包括正常工作状态和故障状态。•“忙”、“闲”、“准备就绪”、“未准备就绪”、“满”、“空”、“溢出错”、“格式错”等•接口中一般都设置状态寄存器,称“状态口”。状态信号以状态代码形式存放在接口电路的状态寄存器中。•CPU从状态口读取状态信息,供CPU作出判断与处理。8.数据宽度与数据格式转换的功能•CPU所处理的是并行数据,而有的外设只能处理串行数据,接口应具有数据“并串”、“串并”的转换能力。•CPU与有些外设交换数据时,要求按照一定的数据格式传送,所以在CPU与通信设备之间进行数据格式转换。返回5.4.2接口与系统的连接5.4.2接口与系统的连接•用读信号、写信号和地址A0区分4个寄存器5.5CPU和外设之间的数据传送方式•程序方式•中断方式•DMA方式5.5.1程序控制方式•程序控制方式是指CPU与外设间的数据传送是在程序的控制下完成的一种数据传送方式。•分为•1.无条件传送方式•2.查询传送方式1.无条件传送方式•所谓无条件,就是假设外设已处于就绪状态,数据传送时,程序就不必再去查询外设的状态,而直接执行I/O指令进行数据传输。•当简单外设作为输入设备时,其输入数据的保持时间相对于CPU的处理时间要长得多,所以可直接使用三态缓冲器与系统数据总线相连。•当简单外设作为输出设备时,由于外设的速度较慢,CPU送出的数据必须在接口中保持一段时间,以适应外设的动作,因此输出采用锁存器。5.5.1程序方式•无条件传送方式2、条件传送方式–CPU从接口中读取状态字。–CPU检测状态字–如“就绪”状态,则传送数据。2.查询传送方式•查询传送方式在传送数据前先查询外设的状态,当外设准备好时,CPU执行I/O指令传送数据;若未准备好时,则CPU等待。•要求CPU与外设间的接口电路需要两个端口:数据端口和状态端口。•优点:能较好地协调外设与CPU之间的定时关系,因而比无条件传送方式容易实现准确传送。•缺点:该方式需要不断查询外设的状态,大量时间花在等待循环中,当主机与中、低速外设交换信息时,大大降低了CPU利用率。5.5.1程序方式图5.4查询式输入的接口5.5.1程序方式图5.5查询式输出的接口5.5.1程序方式图5.6查询式输入过程的流程图DATA_SEGSEGMENTMESSAGEDB′BUFFEROVERFLOW′,0DH,0AHATA_SEGENDSCOM_SEGSEGMENTBUFFERDB82DUP(?)COUNTDB?COM_SEGENDSCODESEGMENTASSUMEDS:DATA_SEG,ES:COM_SEG,CS:CODESTAT:MOVAX,DATA_SEGMOVDS,AXMOVAX,COM_SEGMOVES,AXMOVDI,OFFSETBUFFERMOVCOUNT,DIMOVCX,81CLDNEXT_IN:INAL,56HTESTAL,02HJZNEXT_ININAL,52HORAL,0JPENO_ERRORJMPERRORNO_ERROR:ANDAL,7FHSTOSBMOVCX,17LOOPNENEXT_INJNEOVERFLOWMOVAL,0AHSTOSBSUBDI,COUNTMOVCOUNT,DIOVERFLOW: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•3个设备处于相同优先级的循环查询程序,•INTREE:MOVFLAG,0•INPUT:INAL,STAT1•TESTAL,20H•JZDEV2•CALLPROC1•DEV2:INAL,STAT2•TESTAL,20H•JZDEV3•CALLPROC2•DEV3:INAL,STAT3•TESTAL,20H•JZNO_INPUT•CALLPROC3•NO_INPUT:CMPFLAG,1•JNZINPUT5.5.2中断传送方式•含义:在中断方式下,外设掌握向CPU申请服务的主动权,当输入设备将数据准备好,或者输出设备已做好接收数据的准备时,向CPU发出中断请求信号,要求CPU为其服务。若此时中断允许触发器是开放的,则CPU暂停目前的工作,与外设进行一次数据传输,等I/O操作完成以后,CPU继续执行原来的程序。•优点:保证了CPU对外设的实时服务,又不会因对各I/O设备的随时关照而花费CPU太多的机时,使高速运行的CPU与速度参差不齐的各种外设之间形成了良好的匹配(并行工作)关系,确保了CPU的高效率。•缺点:为了实现中断传送,要求在CPU与外设之间设置中断控制器,增加了硬件开销。5.5.2中断方式•中断传送方式的原理图5.7中断方式输入的接口5.5.2中断方式•中断传送方式的原理图5.8可屏蔽中断的响应和执行5.5.2中断方式•中断优先级问题的解决图5.9典型的可编程中断控制器5.5.3DMA传输•前面三种I/O方式都需要CPU作为中介:外设CPU内存两个含义:1)软件:外设与内存之间的数据传送是通过CPU执行程序来完成的(PIO方式);2)硬件:I/O接口和存储器的读写控制信号、地址信号都是由CPU发出的(总线由CPU控制)。•缺点:程序的执行速度限定了传送的最大速度(约为几十KB/秒)—解决:DMA传输•DMA传输:外设内存–外设直接与存储器进行数据交换,CPU不再担当数据传输的中介者;–总线由DMA控制器(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供。•优点:数据传输由DMA硬件来控制,数据直接在内存和外设之间交换,可以达到很高的传输速率(可达几MB/秒)DMA传送原理示意图①系统总线CPU
本文标题:深圳大学微机原理与接口技术PPT第五章
链接地址:https://www.777doc.com/doc-3748338 .html