《微机和外设的数据传输.ppt》由会员分享,可在线阅读,更多相关《微机和外设的数据传输.ppt(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微机接口 北京工业大学计算机学院1第三讲第三讲 微型计算机和外设的数据传输微型计算机和外设的数据传输微机接口 北京工业大学计算机学院2教学建议,本章重点为:为什么要用接口;CPU和输入/输出设备之间的信号;接口的功能以及在系统中的连接;CPU与外设之间的数据传送方式;中断传输的原理;DMA方式的原理;输入/输出过程中接口部件和地址总线错位连接的原理。微机接口 北京工业大学计算机学院35.1 5.1 为什么要用接口为什么要用接口 要构成实际的微型计算机系统,除了微处理器要构成实际的微型计算机系统,除了微处理器外,还需要各种接口。外,还需要各种接口。定义定义:I/OI/O接口是设置在接口是设置在C
2、PUCPU与外设之间的一组与外设之间的一组控制电路。其基本功能是对数据传送的控制。控制电路。其基本功能是对数据传送的控制。接口按功能分为两类:接口按功能分为两类:使使CPUCPU正常工作所需要的辅助电路,使正常工作所需要的辅助电路,使CPUCPU得到时钟信号或接收外部的多个中断请求得到时钟信号或接收外部的多个中断请求 输入输入/输出接口,接收外部设备送来的信息或输出接口,接收外部设备送来的信息或发送到外部的信息。发送到外部的信息。各种各种I/OI/O卡都是卡都是I/OI/O接口接口,如显卡、声卡等。如显卡、声卡等。微机接口 北京工业大学计算机学院45.1 5.1 为什么要用接口为什么要用接口外
3、部设备为什么一定要通过接口和主机相连外部设备为什么一定要通过接口和主机相连?CPUCPU与外部设备交换信息的过程和与外部设备交换信息的过程和CPUCPU与存储器与存储器交换数据一样都要通过总线来完成,但交换数据一样都要通过总线来完成,但CPUCPU和和外设之间直接进行信息交换会带来的一些问题,外设之间直接进行信息交换会带来的一些问题,只有用接口电路解决只有用接口电路解决,保证CPU和外设之间能在速度、电平、格式和时序上进行匹配。采用接采用接口的原因:口的原因:外部设备功能多种多样。外部设备功能多种多样。信息转换和缓冲,外部设备的信息既有数字式,又有信息转换和缓冲,外部设备的信息既有数字式,又有
4、模拟式,即可串行,有可并行模拟式,即可串行,有可并行时序上的原因时序上的原因多个外设共享总线的原因多个外设共享总线的原因速度的原因速度的原因微机接口 北京工业大学计算机学院55.25.2CPUCPU和输入和输入/输出设备之间的信号输出设备之间的信号CPU和外设之间传输信号的分类数据信息数字量模拟量开关量状态信息控制信息 注意:CPUCPU与外设通信时,传送与外设通信时,传送数据信息数据信息、状状态信息态信息和和控制信息控制信息各不相同,应该分别传送。但也可都看成数据信息,状态信息和控制信息也可通过数据总线来传送。微机接口 北京工业大学计算机学院65.35.3接口部件的接口部件的I/OI/O端口
5、端口I/O端口是指外设接口中存放和传送数据信息、控制信息和状态信息的寄存器,各类信息在接口中进入不同的寄存器,这些寄存器称为I/O端口,每个端口有一个端口地址。CPU用IN或OUT指令对其进行读或写。微机接口 北京工业大学计算机学院7 I/O I/O端口的类型端口的类型 数据端口数据端口:用来存放外设和:用来存放外设和CPUCPU之间交换的数据,之间交换的数据,主要起数据缓冲的作用。主要起数据缓冲的作用。状态端口状态端口:主要用来指示外设的当前状态,每个外:主要用来指示外设的当前状态,每个外设可以有几个状态位,可由设可以有几个状态位,可由CPUCPU读取。常见的状态位读取。常见的状态位有:准备
6、就绪;忙碌、错误位有:准备就绪;忙碌、错误位 命令端口命令端口也称为也称为控制端口控制端口,用来存放,用来存放CPUCPU向接口发向接口发出的各种命令和控制字,以便控制接口或设备的动作出的各种命令和控制字,以便控制接口或设备的动作 常见的命令信息有启动位、停止位、允许中断位等。常见的命令信息有启动位、停止位、允许中断位等。常见的控制位有方式选择控制字、操作命令字常见的控制位有方式选择控制字、操作命令字微机接口 北京工业大学计算机学院8 二二.I/O.I/O端口的寻址方法端口的寻址方法 CPUCPU对对I/OI/O接口电路相应的端口进行访问,和存接口电路相应的端口进行访问,和存储器一样,也需要由
7、译码电路来形成储器一样,也需要由译码电路来形成I/OI/O端口地址,端口地址,端口地址不能重复端口地址不能重复I/OI/O端口的编址方式有两种:端口的编址方式有两种:与与存储器统一编址方方式式和和I/O I/O 独立编址方式址方式。1 1、与、与存储器统一编址方式方式 把I/O端口和存储单元一样对待,统一编址,访问存储器的所有指令均可用来访问I/O端口。实际上是把I/O地址映射到存储空间作为存储空间的一小部分。微机接口 北京工业大学计算机学院9 优点:1、省去单独的I/O指令和控制线。2、用于存储器的所有指令均可用于I/O接口操作,因此使I/O接口功能较强,使用灵活。缺点:1、占用了存储器的一
8、部分地址空间,缩小了存储器的地址范围。2、对I/O接口访问需要全字长地址译码,指令执行速度较慢。微机接口 北京工业大学计算机学院102 2、I/OI/O独立编址方式独立编址方式 CPUCPU设立单独的输入输出指令和控制线,从而设立单独的输入输出指令和控制线,从而与存储器指令区分开,将与存储器指令区分开,将I/OI/O接口地址区与存储器接口地址区与存储器地址区分别各自单独编码,用专门的地址区分别各自单独编码,用专门的ININ和和OUTOUT指指令。令。80868086允许允许64K64K个个8 8位的位的I/OI/O端口。即使用端口。即使用A15-A0A15-A0这这1616根地址线访问根地址线
9、访问64K64K个个I/OI/O端口。端口。8086CPU8086CPU在执行访问在执行访问I/OI/O端口的指令端口的指令(IN(IN或或OUT)OUT)时时,从硬件上会产生有效的从硬件上会产生有效的RDRD或或WRWR信号信号,同时使同时使M/IOM/IO处于低电平处于低电平,通过外部逻辑电路的组合产生对通过外部逻辑电路的组合产生对I/OI/O端口的读信号或端口的读信号或I/OI/O端口的写信号端口的写信号.IN IN :数据输入数据输入,完成读数据完成读数据,读状态读状态.OUT OUT :数据输出数据输出,完成写命令完成写命令,输出数据输出数据微机接口 北京工业大学计算机学院11 优点
10、:1、不占用存储器的地址。2、地址线少,译码电路简单。3、执行时间快。缺点:1、指令少,编程不灵活。2、要设置专门的控制线和操作码进行I/O访问。3、I/O端口数量受限制。微机接口 北京工业大学计算机学院12(1)(1)直接直接I/OI/O寻址寻址(取值范围取值范围:00:00FFH)FFH)IN AL,IN AL,PORTPORTOUT OUT PORT PORT,AL,AL(2)(2)间接间接I/OI/O寻址寻址(取值范围取值范围:0000:0000FFFFH)FFFFH)MOV DX,MOV DX,XXXXHXXXXHIN AL,DXIN AL,DXOUT DX,ALOUT DX,ALC
11、PUCPU对对I/OI/O接口的寻址方式接口的寻址方式微机接口 北京工业大学计算机学院13例例:控制口地址为控制口地址为FFF8H,FFF8H,命令为命令为80H80HMOV DX,0FFF8HMOV DX,0FFF8HMOV AL,80HMOV AL,80HOUT DX,ALOUT DX,AL注注:1.:1.CPUCPUCPUCPU对外设寻址最大对外设寻址最大对外设寻址最大对外设寻址最大64K64K64K64K个端口地址个端口地址个端口地址个端口地址 2.2.直接直接直接直接I/OI/OI/OI/O寻址范围寻址范围寻址范围寻址范围 00H-FFH00H-FFH00H-FFH00H-FFH 3
12、.3.间接间接间接间接I/OI/OI/OI/O寻址范围寻址范围寻址范围寻址范围 0000H-FFFFH0000H-FFFFH0000H-FFFFH0000H-FFFFH微机接口 北京工业大学计算机学院145.45.4接口的功能以及在系统中的连接接口的功能以及在系统中的连接5.4.1 5.4.1 接口的功能接口的功能寻址功能:寻址功能:提供地址译码电路,对提供地址译码电路,对I/OI/O端口进行寻址端口进行寻址输入输入/输出功能:设置数据缓冲以解决速度不匹配;输出功能:设置数据缓冲以解决速度不匹配;读读/写信号写信号数据转换功能:设置信号电平转换电路解决信号电平数据转换功能:设置信号电平转换电路
13、解决信号电平不匹配不匹配;设置信息转换逻辑满足对各自格式的要求设置信息转换逻辑满足对各自格式的要求;设置信息转换逻辑设置信息转换逻辑 如如:A/D,D/A;:A/D,D/A;并串转换并串转换.设置时序控制电路来同步设置时序控制电路来同步CPUCPU和外设的工作和外设的工作可编程功能可编程功能错误检测功能错误检测功能 微机接口 北京工业大学计算机学院155.4.2 5.4.2 接口与系统的连接接口与系统的连接典型的典型的I/OI/O部件和外部部件和外部电路连接图电路连接图微机接口 北京工业大学计算机学院165.4.2 5.4.2 接口与系统的连接接口与系统的连接用读信号、写信号和地址用读信号、写
14、信号和地址A0A0区分区分4 4个寄存器个寄存器(若若A A、B B可写可写,C,C、D D可读可读)表表5.15.1微机接口 北京工业大学计算机学院17I/OI/O端口译码端口译码1.1.门电路门电路2.2.译码芯片译码芯片(138,139,154)(138,139,154)微机接口 北京工业大学计算机学院18例例例例1.CPU1.CPU1.CPU1.CPU无条件地读取开关状态无条件地读取开关状态无条件地读取开关状态无条件地读取开关状态11&D D D D0 0 0 0A A A A0 0 0 0A A A A1 1 1 1A A A A2 2 2 2A A A A3 3 3 3A A A
15、A4 4 4 4A A A A5 5 5 5A A A A6 6 6 6A A A A7 7 7 7A A A A8 8 8 8A A A A9 9 9 9A A A A10101010A A A A11 1111 11A A A A12121212A A A A13131313A A A A14141414A A A A15151515IORIORIORIOR+5V+5V+5V+5VD D D D0 0 0 0=0 K=0 K=0 K=0 K闭合闭合闭合闭合D D D D0 0 0 0=1 K=1 K=1 K=1 K打开打开打开打开K K端口地址端口地址端口地址端口地址:(1111 1111
16、 0000 0000)(1111 1111 0000 0000)(1111 1111 0000 0000)(1111 1111 0000 0000)FF00HFF00HFF00HFF00H11微机接口 北京工业大学计算机学院195.5 CPU5.5 CPU与外设之间的数据传输方式与外设之间的数据传输方式 I/O I/O设备种类繁多,速度差异悬殊,设备种类繁多,速度差异悬殊,CPUCPU何时从外设读取何时从外设读取/写入写入数据,成为复杂的定时问题,所以数据,成为复杂的定时问题,所以CPUCPU与与I/OI/O设备之间的数据设备之间的数据传输可采用多种控制方式,主要有三种:传输可采用多种控制方式
17、,主要有三种:程序控制方式程序控制方式程序控制方式程序控制方式 、中中断方式断方式、DMADMA方式方式。程序控制方式程序控制方式 指指CPUCPU与外设之间的数据传送时在预先编写好的程序控制下完与外设之间的数据传送时在预先编写好的程序控制下完成的,可分为无条件传送和有条件传送两种方式。成的,可分为无条件传送和有条件传送两种方式。1 1、无条件传送:主要针对简单外设,若外设随时处于就绪状态,、无条件传送:主要针对简单外设,若外设随时处于就绪状态,准备接收或发出数据,可在任意时刻用准备接收或发出数据,可在任意时刻用 IN/OUT IN/OUT 指令实现数指令实现数据输入或输出;若外设的定时是固定
18、的且已知的情况,可采据输入或输出;若外设的定时是固定的且已知的情况,可采用软件延时或硬件等待等实现用软件延时或硬件等待等实现CPUCPU与外设的同步。与外设的同步。输入设备输入设备:按键、开关按键、开关;输出设备输出设备:LED:LED发光二极管发光二极管微机接口 北京工业大学计算机学院20地址地址地址地址译码器译码器译码器译码器输输输输出出出出锁锁锁锁存存存存器器器器D7D0D7D0WRWR地址地址地址地址总线总线总线总线至输出设备至输出设备至输出设备至输出设备来自输入设备来自输入设备来自输入设备来自输入设备M/IOM/IORDRD输输输输入入入入缓缓缓缓冲冲冲冲器器器器5.5 CPU5.5
19、 CPU与外设之间的数据传输方式与外设之间的数据传输方式微机接口 北京工业大学计算机学院215.5 CPU5.5 CPU与外设之间的数据传输方式与外设之间的数据传输方式2 2、条件传送:、条件传送:CPUCPU与外设交换数据时与外设交换数据时,很难保证输入很难保证输入设备总是准备好了设备总是准备好了,或者输出设备已处在可以接收或者输出设备已处在可以接收数据的状态数据的状态,所以传送前所以传送前CPUCPU需查询状态标志需查询状态标志,以确以确定是否传送或接收。定是否传送或接收。传送过程:传送过程:CPUCPUCPUCPU从接口中读状态字;输入从接口中读状态字;输入从接口中读状态字;输入从接口中
20、读状态字;输入:CPUCPU在输入数在输入数据前查询外设数据是否准备好,据前查询外设数据是否准备好,输出输出输出输出:CPUCPU在在输出数据前先用指令查询外设缓冲器是否为空输出数据前先用指令查询外设缓冲器是否为空?CPUCPUCPUCPU检测状态字对应位是否满足条件,如不满检测状态字对应位是否满足条件,如不满检测状态字对应位是否满足条件,如不满检测状态字对应位是否满足条件,如不满足,则回前一步读取状态字足,则回前一步读取状态字足,则回前一步读取状态字足,则回前一步读取状态字若已就绪,则传送数据若已就绪,则传送数据若已就绪,则传送数据若已就绪,则传送数据微机接口 北京工业大学计算机学院22输入
21、设备数据锁存器数据缓冲器三态缓冲器DQR+5V数据数据数据数据地址译码器READYREADY状态信号状态信号状态信号状态信号M/IOM/IORDRDM/IOM/IORDRD选选选选通通通通信信信信号号号号CCS1CS1CS2CS2A0A15A0A15D0D7D0D7查询式输入的接口电路:由数据口和状态口组成。状态口由一个D触发器和一个三态门构成。输入设备准备好数据,发一个选通信号,把外设数据打入接口的锁存器和使接口的Q端为1。5.5 CPU5.5 CPU与外设之间的数据传输方式与外设之间的数据传输方式微机接口 北京工业大学计算机学院23ACKM/IO输输出出设设备备 R DQ C锁存器三态缓冲
22、器+5VWR数据总线数据总线地址地址总线总线M/IORD状态信息状态信息“BUSY”“BUSY”地址译码器D1CPUCS1CS2查询式输出的接口电路查询式输出的接口电路查询式输出的接口电路:ACK有效时,CPU读入状态检查到BUSY=0时,才执行数据输出指令。输出数据时,选通信号的下沿,使D触发器的Q端置为1。选选通通信信号号微机接口 北京工业大学计算机学院24N N 查询式输入的流程图初始化初始化读状态读状态处理缓冲区中的数据处理缓冲区中的数据数据传送到内存缓冲区数据传送到内存缓冲区处理数据处理数据读入一个字或一个字节到读入一个字或一个字节到CPU数据准备就绪?数据准备就绪?传送完?传送完?
23、后续处理后续处理Y YN NY Y查询式输入数据的程序段见书P185微机接口 北京工业大学计算机学院25初始化读入状态结束数据传送到外设缓冲区输出一个字或一个字节到外设忙否?操作完成否?Y YN NN NY Y 查询式查询式 输出过程的流程图微机接口 北京工业大学计算机学院261、中断传送方式的原理 用查询方式使CPU与外设交换数据时,CPU不断检查外部设备的状态,当外设的速度很低时,会占用很多的CPU时间,而真正用于CPU的时间又很少,使CPU的利用率变得很低,外设缺少主动性。见书上的例子,当有多个设备工作,还需要轮询,实时性很难保证 为了提高CPU的利用率和具有实时性,可以采用中断方式:C
24、PU平时可以执行主程序,当外设准备好数据才向CPU发中断请求。CPU响应中断,转去执行中断服务程序,完成一次CPU与外设的数据交换,CPU又返回执行原来的程序继续。5.5.2 5.5.2 中断方式中断方式微机接口 北京工业大学计算机学院27中断方式的接口电路5.5.2 5.5.2 中断方式中断方式微机接口 北京工业大学计算机学院28可屏蔽中断的响应和执行5.5.2 5.5.2 中断方式中断方式微机接口 北京工业大学计算机学院29 当系统中有多个设备用中断方式和CPU进行数据传输时,需要解决优先级的问题,当前微机系统主要采用可编程的中断控制器的方法 2 2、中断优先级问题的解决、中断优先级问题的
25、解决微机接口 北京工业大学计算机学院301、DMA传送方式的提出 中断方式比程序控制方式大大提高了CPU的利用率,由于每完成一次数据交换,就要产生一次中断。一次中断需要CPU处理许多额外操作,造成效率下降。当CPU与高速外设交换信息时,中断方式仍显得太慢。例如:和磁盘之间的数据交换。为了解决问题可采用DMA的传送方式,直接存储器存取,由硬件直接实现数据块的传送。数据不经过CPU控制传送,而由外部单独的专门控制器-DMA控制器来控制,使数据直接在I/O接口和存储器之间传送,这就是对存储器的直接存取方式。简称DMA方式。5.5.3 DMA5.5.3 DMA方式方式微机接口 北京工业大学计算机学院3
26、12、DMA控制器的功能和DMA传送原理5.5.3 DMA5.5.3 DMA方式方式DMA控制器的应具备的功能:见书p192 用DMA方式传输单个数据(输出过程)微机接口 北京工业大学计算机学院325.5.3 DMA5.5.3 DMA方式方式DMA控制器的内部最小配置和接口要求微机接口 北京工业大学计算机学院335.5.3 DMA5.5.3 DMA方式方式DMA方式从接口往内存传输一个数据块,将按下面的过程动作:发一个DMA请求。发总线请求 地址寄存器的内容送到地址总线上。发确认DMA传输的信号。数据送到地址总线所指出的内存单元。地址寄存器的值加1。字节计数器的值减1。如字节计数器的值不为0,
27、则回到;否则结束 微机接口 北京工业大学计算机学院34对I/O接口的要求控制寄存器中须有一位用来指出数据传输方向,供DMA判断输入/输出控制寄存器中须有一位用来启动I/O操作,通过设置此为启动外设的动作状态寄存器中须有一位用来指出设备当前是否处于忙状态对DMA控制器的要求控制寄存器中专有一位作为DMA允许位,控制响应接口的DMA请求控制寄存器中须有一位用来确定DMA方向,DMA发送读信号/写信号控制寄存器中须有一位用来进行一次传输后,是否放弃总线控制权状态寄存器中须有一位用来表示数据块传输是否结束5.5.3 DMA5.5.3 DMA方式方式微机接口 北京工业大学计算机学院35系统对DMA控制器
28、和接口部件预置信息往DMA控制器的字节计数器置初值,以决定数据传输长度往DMA控制器的地址寄存器置初值,以确定数据传输所用的存储区的首址对DMA控制器置控制字,指出传输方向、是否进行块传输,并启动DMA操作对接口部件设置控制字,指出传输方向,并启动I/O操作5.5.3 DMA5.5.3 DMA方式方式微机接口 北京工业大学计算机学院363、DMA控制器的工作特点 一方面是一个接口 另一方面能够控制系统总线 DMA控制器在传送数据时不需指令,而是通过硬件逻辑电路用固定的顺序发送地址和读/写信号5.5.3 DMA5.5.3 DMA方式方式微机接口 北京工业大学计算机学院375.5.4 5.5.4
29、输入输入/输出过程中提出的几个问题输出过程中提出的几个问题1、系统和接口的联系方式查询方式检测状态寄存器的就绪位中断方式,就绪后,发中断请求DMA方式,接口向DMA控制器发DMA请求2、优先级当几个设备处于同一种传输方式之下,同时发传输请求时如何响应3、缓冲区系统和外设之间传输一系列数据,传输完后,这些数据才能被使用,用内存中的若干存储单元存放微机接口 北京工业大学计算机学院385.5.5 5.5.5 接口和多字节数据总线的连接接口和多字节数据总线的连接随着CPU的不断升级,数据总线的位数不断增加,8086的数据总线是16位,而I/O接口部件8位接口芯片,如何和数据总线连接I/O接口部件常常连
30、在低8位数据总线上微机接口 北京工业大学计算机学院39接口部件和地址总线的错位连接接口部件和地址总线的错位连接大多数接口用两个连续的端口地址对应内部寄存器的读/写,如何在接口和数据总线的8位数据线相连时,又满足接口对端口地址的设置要求16位系统中,CPU用数据总线传输16位数据时,总是把数据送到/读取到以偶地址开头的两个相邻单元或者两个相邻端口。低8位数据放到偶地址的单元,高8位数据放到相邻的高奇地址单元。由此可见偶地址的端口及内存单元总是和低8位数据总线相连,奇地址的端口及内存单元总是和高8位数据总线相连。在16位系统中为了使所有的数据传输都利用数据总线的低8位,必须把地址总线的A1线和接口的A0端相连。