资源描述:
《3微机和外设的数据传输.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、©北京工业大学计算机学院®1第三讲微型计算机和外设的数据传输©北京工业大学计算机学院®2教学建议,本章重点为:为什么要用接口;CPU和输入/输出设备之间的信号;接口的功能以及在系统中的连接;CPU与外设之间的数据传送方式;中断传输的原理;DMA方式的原理;输入/输出过程中接口部件和地址总线错位连接的原理。©北京工业大学计算机学院®35.1为什么要用接口要构成实际的微型计算机系统,除了微处理器外,还需要各种接口。定义:I/O接口是设置在CPU与外设之间的一组控制电路。其基本功能是对数据传送的控制。接口按功能分为两类:使CPU正常工作所需要的辅助电
2、路,使CPU得到时钟信号或接收外部的多个中断请求输入/输出接口,接收外部设备送来的信息或发送到外部的信息。各种I/O卡都是I/O接口,如显卡、声卡等。©北京工业大学计算机学院®45.1为什么要用接口外部设备为什么一定要通过接口和主机相连?CPU与外部设备交换信息的过程和CPU与存储器交换数据一样都要通过总线来完成,但CPU和外设之间直接进行信息交换会带来的一些问题,只有用接口电路解决,保证CPU和外设之间能在速度、电平、格式和时序上进行匹配。。采用接口的原因:外部设备功能多种多样。信息转换和缓冲,外部设备的信息既有数字式,又有模拟式,即可串行,
3、有可并行时序上的原因多个外设共享总线的原因速度的原因©北京工业大学计算机学院®55.2CPU和输入/输出设备之间的信号CPU和外设之间传输信号的分类数据信息数字量模拟量开关量状态信息控制信息注意:CPU与外设通信时,传送数据信息、状态信息和控制信息各不相同,应该分别传送。但也可都看成数据信息,状态信息和控制信息也可通过数据总线来传送。©北京工业大学计算机学院®65.3接口部件的I/O端口I/O端口是指外设接口中存放和传送数据信息、控制信息和状态信息的寄存器,各类信息在接口中进入不同的寄存器,这些寄存器称为I/O端口,每个端口有一个端口地址。CP
4、U用IN或OUT指令对其进行读或写。©北京工业大学计算机学院®7I/O端口的类型数据端口:用来存放外设和CPU之间交换的数据,主要起数据缓冲的作用。状态端口:主要用来指示外设的当前状态,每个外设可以有几个状态位,可由CPU读取。常见的状态位有:准备就绪;忙碌、错误位命令端口也称为控制端口,用来存放CPU向接口发出的各种命令和控制字,以便控制接口或设备的动作常见的命令信息有启动位、停止位、允许中断位等。常见的控制位有方式选择控制字、操作命令字©北京工业大学计算机学院®8二.I/O端口的寻址方法CPU对I/O接口电路相应的端口进行访问,和存储器一样
5、,也需要由译码电路来形成I/O端口地址,端口地址不能重复I/O端口的编址方式有两种:与存储器统一编址方式和I/O独立编址方式。1、与存储器统一编址方式把I/O端口和存储单元一样对待,统一编址,访问存储器的所有指令均可用来访问I/O端口。实际上是把I/O地址映射到存储空间作为存储空间的一小部分。©北京工业大学计算机学院®9优点:1、省去单独的I/O指令和控制线。2、用于存储器的所有指令均可用于I/O接口操作,因此使I/O接口功能较强,使用灵活。缺点:1、占用了存储器的一部分地址空间,缩小了存储器的地址范围。2、对I/O接口访问需要全字长地址译码,
6、指令执行速度较慢。©北京工业大学计算机学院®102、I/O独立编址方式CPU设立单独的输入输出指令和控制线,从而与存储器指令区分开,将I/O接口地址区与存储器地址区分别各自单独编码,用专门的IN和OUT指令。8086允许64K个8位的I/O端口。即使用A15-A0这16根地址线访问64K个I/O端口。8086CPU在执行访问I/O端口的指令(IN或OUT)时,从硬件上会产生有效的RD或WR信号,同时使M/IO处于低电平,通过外部逻辑电路的组合产生对I/O端口的读信号或I/O端口的写信号.IN:数据输入,完成读数据,读状态.OUT:数据输出,完成
7、写命令,输出数据©北京工业大学计算机学院®11优点:1、不占用存储器的地址。2、地址线少,译码电路简单。3、执行时间快。缺点:1、指令少,编程不灵活。2、要设置专门的控制线和操作码进行I/O访问。3、I/O端口数量受限制。©北京工业大学计算机学院®12(1)直接I/O寻址(取值范围:00—FFH)INAL,PORTOUTPORT,AL(2)间接I/O寻址(取值范围:0000—FFFFH)MOVDX,XXXXHINAL,DXOUTDX,ALCPU对I/O接口的寻址方式©北京工业大学计算机学院®13例:控制口地址为FFF8H,命令为80HMOVDX
8、,0FFF8HMOVAL,80HOUTDX,AL注:1.CPU对外设寻址最大64K个端口地址2.直接I/O寻址范围00H---FFH3.间接I/O寻址