300 likes | 475 Views
第 05 章 输入输出与接口技术. 5.1 I/O 接口概述 5.1.1 接口 使用接口电路的原因 接口可起到 CPU 与不同外设进行串行、并行信息的之间转换作用 接口可起到模数 / 数模转换作用 非数字式信号必须经过转换,使其成为对应的数字信号才能送到计算机总线。这种 A/D , D/A 转换是通过接口来完成的。 接口对 I/O 过程起到缓冲和联络作用 解决外设存取速度和 CPU 速度不匹配的现象. 接口是计算机与输入输出设备或其他系统之间进行数据通讯的逻辑控制部件,也称输入输出控制器。输入输出设备有时简称为“外设”或“ I/O 设备”。
E N D
第05章 输入输出与接口技术 5.1 I/O接口概述 • 5.1.1 接口 使用接口电路的原因 • 接口可起到CPU与不同外设进行串行、并行信息的之间转换作用 • 接口可起到模数/数模转换作用 非数字式信号必须经过转换,使其成为对应的数字信号才能送到计算机总线。这种A/D,D/A转换是通过接口来完成的。 • 接口对I/O过程起到缓冲和联络作用 解决外设存取速度和CPU速度不匹配的现象
接口是计算机与输入输出设备或其他系统之间进行数据通讯的逻辑控制部件,也称输入输出控制器。输入输出设备有时简称为“外设”或“I/O设备”。接口是计算机与输入输出设备或其他系统之间进行数据通讯的逻辑控制部件,也称输入输出控制器。输入输出设备有时简称为“外设”或“I/O设备”。 P137图5.1
5.1.2 I/O设备和I/O接口 P138 学生自学
5.2 I/O接口的基本功能 5.2.1 I/O接口的基本功能 • 数据格式转换 • 数据缓冲 • 信号转换 • 译码选址 • 提供联络信号 • 具备时序控制 • 可编程功能 • 错误检测功能
5.2 I/O接口的组成 一、接口硬件 • 数据缓冲寄存器 • 控制寄存器 • 状态寄存器 • 数据总线和地址总线缓冲器 • 端口地址译码器 • 内部控制逻辑 • 对外联络控制逻辑
5.2 I/O接口的组成 • 二、接口软件 • 初始化程序段 • 传送方式处理程序段 • 主控程序段 • 程序终止与退出程序段 • 辅助程序段
5.3 CPU和外设之间的数据传送方式 接口电路控制数据信号的传送,这种传送操作是在CPU的监控下实现的。对于CPU而言,数据传送就是输入输出操作,控制接口的传送操作有三种方式: • 程序方式 • 无条件传送方式 • 条件传送方式(查询方式传送) • 中断方式(程序中断控制I/O方式) • DMA方式(DMA控制I/O方式) • 专用I/O方式
一. 程序方式 程序方式传送是指在程序控制下进行信息传送,又可分为无条件传送和条件传送方式。 1. 无条件传送方式 • 若程序员能够确信一个外设已经准备就绪,那就不必查询外设的状态而进行信息传输,这称为无条件传送方式。 • 在无条件传送方式下,程序设计较简单。这种方式用得较少,只用在对一些简单外设的操作,如开关、七段显示管等。
①无条件传送输入的例子: MOV DX, 160H IN AL, DX
②无条件传送输出的例子 MOV DX, 160H MOV AL, [BX] OUT DX, AL
2. 条件传送方式(查询方式传送) CPU通过执行程序不断读取并测试外设的状态,根据外设的工作状态控制外设的输入/输出,即查询方式。 对于条件传送方式来说,一个数据传送到哪接口其过程由3个环节组成: • CPU从接口中读取状态字 • CPU检测状态字的对应位是否满足“就绪”条件,如果不满足,则回到前一步读取状态字。 • 如状态字表明外设已处于“就绪”状态,则传送数据。
负脉冲 控制端口——写164H端口,译码器输出和IOW信号同时有效,启动ADC转换。 状态端口——读162H端口,译码器输出和IOR信号同时有效,打开通过D0读取状态信息。 数据端口——读160H端口,译码器输出和IOR信号同时有效,打开三态缓冲器,从D7~D0读入数据,同时清除状态信息。 电路原理分析: 启动ADC以后,转换结束时产生EOC信号,把转换结果锁存至锁存器,把状态触发器置为1,表示数据已经准备好。
程序示例:从ADC读取一个数据到AL。 READ : MOV DX, 160H IN AL, DX ;清状态 MOV DX, 164H OUT DX, AL ;启动ADC READ1: MOV DX, 162H IN AL, DX ;查询状态 TEST AL, 1 JZ READ1 MOV DX, 160H IN AL, DX ;读取数据 RET
电路原理说明: 1、写到164H端口,产生一个负脉冲来启动外设开始工作。 2、写数据到160H端口,CPU输出数据到锁存器,同时置“1”状态触发器,为外设提供状态信息:“数据已准备好”。 3、读取162H端口,CPU查询状态,看外设是否取走数据。(外设取走数据,则将发出ACK信号,清除状态触发器)
程序示例:将AL中的数据输出。 WRITE : MOV DX, 164H OUT DX, AL ;启动外设 MOV DX, 160H OUT DX, AL ;输出数据 MOV DX, 162H WRITE1: IN AL, DX ;查询状态 TEST AL, 1 JNZ WRITE1 RET
主程序 启动外设 忙 N I/O准备就绪否? Y 空闲 执行I/O操作 N 数据传送完否? Y 数据传送完否? 查询方式流程图
主程序 启动外设A、B、C Y Y Y 设备A服务 设备B服务 设备C服务 查询A N 查询B N 查询C N 操作结束否? N Y 继续主程序 多个外设的查询方式流程图
查询方式特点 • 通过查询实现CPU与外设间的同步联络 • CPU和外设串行工作 • 接口电路简单 • CPU使用率不高,用CPU的等待实现与外设的同步
二. 中断方式(程序中断控制I/O方式) 中断方式:当外设作好传送准备后,主动向CPU请求中断,CPU响应中断后在中断处理程序中与外设交换数据。若外设未准备好,CPU可以执行其他程序,提高了CPU的利用率。每条指令完成后,CPU均可响应中断,因此当设备准备好时,可及时与CPU交换数据,提高了实时性。 被外界中断时,程序中下一条指令所在处称为断点。 中断传送方式就是外部设备中断CPU的工作,使CPU停止执行当前程序,而去执行一个数据输入/输出的程序(该程序称为中断处理子程序或中断服务子程序)。中断子程序执行完毕后,CPU又转回来执行原来的程序。
a.数据传送 外 设 接口 CPU b.中断响应 c.中断请求 中断I/O的一般过程
三. DMA方式(DMA控制I/O方式) DMA=Direct Memory Access——直接存储器访问 什么是DMA方式? DMA方式是一种由专门的硬件电路执行I/O的数据传送方式,它可以让外设与外设之间、外设与内存之间直接进行高速的数据传送,而不必经过CPU。这种专门的硬件电路称为DMA控制器,简称DMAC。
三种传送方式比较 • 在查询方式下,通过程序来检测接口中状态寄存器中的READY位,以确定当前是否可以进行数据传输。 • 在中断方式下,当接口中已经有数据要往CPU输入或者准备好接收数据时,接口会向CPU发一个中断请求,CPU在接到中断请求后,如果响应中断,便通过运行中断处理程序来实现输入/输出。 • 在DMA方式下,外设要求传输数据时,接口会向DMA控制器发DMA请求信号,DMA控制器转而往CPU发送一个总线请求信号,以请求得到总线控制权,如果得到DMA允许,那么,就可以在没有CPU参与的情况下实现DMA传输。
5.4 I/O端口地址译码技术 一、I/O端口和I/O操作 • I/O端口:接口电路中能被CPU直接访问的寄存器的地址。 有的接口有多个端口,可对其进行发送命令、读取状态、传送数据 访问端口就是访问电路中的寄存器 2. I/O操作:对I/O端口的操作,而不是I/O设备的操作
5.4 I/O端口地址译码技术 二、端口地址编址方式 1.统一编址 优缺点见P146 2.独立编址 优缺点见P146
三、独立编址方式的端口访问 1.I/O指令中端口地址的宽度 就是我们说的长格式和短格式 2.I/O端口访问 就是对端口的读写
第五章作业 1. 接口电路的作用是什么?按功能可分为几类? 2. 接口电路的基本结构是什么? 3. 试述CPU与外设交换数据的方式及其特点? 4. 什么叫端口?通常有哪几类端口? 5. 在8086/8088系统中,用哪种方法对I/O端口进行编址? 6. 为什么有时候可以使两个端口对应一个地址?
7.无条件传送方式用在哪些场合?画出无条件传送方式的工作原理因并说明。 7.无条件传送方式用在哪些场合?画出无条件传送方式的工作原理因并说明。 8.条件传送方式的工作原理是怎样的?主要用在什么场合?画出条件传送(查询)方式输出过程的流程图。 9. 设一个接口的输入端口地址为0100H,而它的状态端口地址为0104H,状态端口中第5位为1表示输入缓冲区中有一个字节准备好,可输入。设计具体程序实现查询式输入。 10.查询式传送方式有什么优缺点?中断方式为什么能弥补查询方式的缺点?
11. 和DMA方式比较,中断传输方式有什么不足之处? 12. 叙述用DMA方式传输单个数据的全过程。