第 05 章 输入输出与接口技术

30
第 05 第 第第第第第第第第第 5.1 I/O 接接接接 5.1.1 接接 接接接接接接接接接 1.接接接接接 CPU 接接接接接接接接接 接接接接接接接接接接接 2.接接接接接接接 / 接接接接接接 接接接接接接接接接接接接 接接接接接接接接接接接接接接接接接接接接接 接接 ,。 A/D D/A 接接接接接接接接接接接3.接接接 I/O 接接接接接接接接接接接 接接接接接接接接接 CPU 接接接接接接接接

description

第 05 章 输入输出与接口技术. 5.1 I/O 接口概述 5.1.1 接口 使用接口电路的原因 接口可起到 CPU 与不同外设进行串行、并行信息的之间转换作用 接口可起到模数 / 数模转换作用 非数字式信号必须经过转换,使其成为对应的数字信号才能送到计算机总线。这种 A/D , D/A 转换是通过接口来完成的。 接口对 I/O 过程起到缓冲和联络作用 解决外设存取速度和 CPU 速度不匹配的现象. 接口是计算机与输入输出设备或其他系统之间进行数据通讯的逻辑控制部件,也称输入输出控制器。输入输出设备有时简称为“外设”或“ I/O 设备”。 - PowerPoint PPT Presentation

Transcript of 第 05 章 输入输出与接口技术

Page 1: 第 05 章 输入输出与接口技术

第 05 章 输入输出与接口技术5.1 I/O接口概述

• 5.1.1 接口 使用接口电路的原因1.接口可起到 CPU 与不同外设进行串行、

并行信息的之间转换作用2.接口可起到模数 / 数模转换作用

非数字式信号必须经过转换,使其成为对应的数字信号才能送到计算机总线。这种 A/D , D/A转换是通过接口来完成的。

3.接口对 I/O过程起到缓冲和联络作用 解决外设存取速度和 CPU速度不匹配的现象

Page 2: 第 05 章 输入输出与接口技术

接口是计算机与输入输出设备或其他系统之间进行数据通讯的逻辑控制部件,也称输入输出控制器。输入输出设备有时简称为“外设”或“ I/O 设备”。

P137图 5.1

Page 3: 第 05 章 输入输出与接口技术

5.1.2 I/O 设备和 I/O 接口

P138 学生自学

Page 4: 第 05 章 输入输出与接口技术

5.2 I/O接口的基本功能5.2.1 I/O接口的基本功能

1. 数据格式转换2. 数据缓冲3. 信号转换4. 译码选址5. 提供联络信号6. 具备时序控制7. 可编程功能8. 错误检测功能

Page 5: 第 05 章 输入输出与接口技术

5.2 I/O接口的组成一、接口硬件1. 数据缓冲寄存器2. 控制寄存器3. 状态寄存器4. 数据总线和地址总线缓冲器5. 端口地址译码器6. 内部控制逻辑7. 对外联络控制逻辑

Page 6: 第 05 章 输入输出与接口技术

5.2 I/O接口的组成• 二、接口软件1. 初始化程序段2. 传送方式处理程序段3. 主控程序段4. 程序终止与退出程序段5. 辅助程序段

Page 7: 第 05 章 输入输出与接口技术

5.3 CPU 和外设之间的数据传送方式

接口电路控制数据信号的传送,这种传送操作是在 CPU 的监控下实现的。对于 CPU 而言,数据传送就是输入输出操作,控制接口的传送操作有三种方式:

• 程序方式– 无条件传送方式– 条件传送方式(查询方式传送)

• 中断方式(程序中断控制 I/O 方式)• DMA 方式( DMA 控制 I/O 方式)• 专用 I/O 方式

Page 8: 第 05 章 输入输出与接口技术

一 . 程序方式 程序方式传送是指在程序控制下进行信息

传送,又可分为无条件传送和条件传送方式。1. 无条件传送方式• 若程序员能够确信一个外设已经准备就绪,

那就不必查询外设的状态而进行信息传输,这称为无条件传送方式。

• 在无条件传送方式下,程序设计较简单。这种方式用得较少,只用在对一些简单外设的操作,如开关、七段显示管等。

Page 9: 第 05 章 输入输出与接口技术

① 无条件传送输入的例子:

MOV DX, 160HIN AL, DX

IOR

三态缓冲器OE

I/O

装置地址译码器

CS

D7 D0~

A15 A1~

A00160H

Page 10: 第 05 章 输入输出与接口技术

② 无条件传送输出的例子

MOV DX, 160H

MOV AL, [BX]

OUT DX, AL

地址译码器

数据锁存器A15

~A1

IOW

A0 CS0160H

输出设备

D7~D0

Page 11: 第 05 章 输入输出与接口技术

2. 条件传送方式(查询方式传送) CPU 通过执行程序不断读取并测试外设

的状态,根据外设的工作状态控制外设的输入 / 输出,即查询方式。

对于条件传送方式来说,一个数据传送到哪接口其过程由 3 个环节组成:

• CPU 从接口中读取状态字• CPU 检测状态字的对应位是否满足“就

绪”条件,如果不满足,则回到前一步读取状态字。

• 如状态字表明外设已处于“就绪”状态,则传送数据。

Page 12: 第 05 章 输入输出与接口技术

① 查询式传送输入的例子:

三态缓冲器OE

0160H

D7~D0 D0

IOW

地址译码器

A15~A1

CSA0

IOR

0162H

0164H

C

EOCADC

DB锁存器

RQ C

D+5V

查询输入接口电路原理图

Page 13: 第 05 章 输入输出与接口技术

电路原理分析:

启动 ADC 以后,转换结束时产生 EOC 信号,把转换结果锁存至锁存器,把状态触发器置为 1 ,表示数据已经准备好。

1. 控制端口——写 164H 端口,译码器输出和 IOW信号同时有效,启动 ADC 转换。

2. 状态端口——读 162H 端口,译码器输出和 IOR 信号同时有效,打开通过 D0 读取状态信息。

3. 数据端口——读 160H 端口,译码器输出和 IOR 信号同时有效,打开三态缓冲器,从 D7~D0 读入数据,同时清除状态信息。

负脉冲

Page 14: 第 05 章 输入输出与接口技术

程序示例:从 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

Page 15: 第 05 章 输入输出与接口技术

② 查询式传送输出的例子:

D7~D0 D0

0160H

IOW

地址译码器

A15~A1

CSA0

0162H

0164H

RDY

DB锁存器

QCD

+5V R

CACKIOR

外设

Page 16: 第 05 章 输入输出与接口技术

电路原理说明:

1 、写到 164H 端口,产生一个负脉冲来启动外设开始工作。

2 、写数据到 160H 端口, CPU 输出数据到锁存器,同时置“ 1” 状态触发器,为外设提供状态信息:“数据已准备好”。

3 、读取 162H 端口, CPU 查询状态,看外设是否取走数据。(外设取走数据,则将发出ACK 信号,清除状态触发器)

Page 17: 第 05 章 输入输出与接口技术

程序示例:将 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

Page 18: 第 05 章 输入输出与接口技术

查询方式流程图

主程序

启动外设

I/O 准备就绪否?

执行 I/O 操作

数据传送完否 ?

数据传送完否 ?

忙 N

Y 空闲

Y

N

Page 19: 第 05 章 输入输出与接口技术

多个外设的查询方式流程图主程序

启动外设A、 B、 C

查询 A

操作结束否 ?

查询 B

查询 C

继续主程序

设备 A 服务Y

N

设备 B 服务Y

设备 C 服务Y

N

N

N

Y

Page 20: 第 05 章 输入输出与接口技术

查询方式特点

• 通过查询实现 CPU 与外设间的同步联络• CPU 和外设串行工作• 接口电路简单• CPU 使用率不高,用 CPU 的等待实现与

外设的同步

Page 21: 第 05 章 输入输出与接口技术

二 . 中断方式(程序中断控制 I/O 方式)

中断方式:当外设作好传送准备后,主动向 CPU 请求中断, CPU 响应中断后在中断处理程序中与外设交换数据。若外设未准备好, CPU 可以执行其他程序,提高了 CPU 的利用率。每条指令完成后, CPU 均可响应中断,因此当设备准备好时,可及时与 CPU 交换数据,提高了实时性。

被外界中断时,程序中下一条指令所在处称为断点。

中断传送方式就是外部设备中断 CPU 的工作,使 CPU停止执行当前程序,而去执行一个数据输入 / 输出的程序(该程序称为中断处理子程序或中断服务子程序)。中断子程序执行完毕后, CPU 又转回来执行原来的程序。

Page 22: 第 05 章 输入输出与接口技术

中断 I/O 的一般过程a. 数据传送

b. 中断响应

c. 中断请求

CPU 接口外

Page 23: 第 05 章 输入输出与接口技术

DMA=Direct Memory Access—— 直接存储器访问

什么是 DMA 方式?

DMA 方式是一种由专门的硬件电路执行I/O 的数据传送方式,它可以让外设与外设之间、外设与内存之间直接进行高速的数据传送,而不必经过 CPU 。这种专门的硬件电路称为 DMA 控制器,简称 DMAC 。

三 . DMA 方式( DMA 控制 I/O 方式)

Page 24: 第 05 章 输入输出与接口技术

三种传送方式比较• 在查询方式下,通过程序来检测接口中状态寄存器

中的 READY 位,以确定当前是否可以进行数据传输。

• 在中断方式下,当接口中已经有数据要往 CPU 输入或者准备好接收数据时,接口会向 CPU 发一个中断请求, CPU 在接到中断请求后,如果响应中断,便通过运行中断处理程序来实现输入 / 输出。

• 在 DMA 方式下,外设要求传输数据时,接口会向DMA 控制器发 DMA 请求信号, DMA 控制器转而往 CPU 发送一个总线请求信号,以请求得到总线控制权,如果得到 DMA允许,那么,就可以在没有 CPU参与的情况下实现 DMA 传输。

Page 25: 第 05 章 输入输出与接口技术

5.4 I/O 端口地址译码技术一、 I/O 端口和 I/O 操作1.I/O 端口:接口电路中能被 CPU 直接访问

的寄存器的地址。 有的接口有多个端口,可对其进行发送命

令、读取状态、传送数据 访问端口就是访问电路中的寄存器2. I/O 操作:对 I/O 端口的操作,而不是 I/O

设备的操作

Page 26: 第 05 章 输入输出与接口技术

5.4 I/O 端口地址译码技术二、端口地址编址方式 1. 统一编址 优缺点见 P146 2. 独立编址 优缺点见 P146

Page 27: 第 05 章 输入输出与接口技术

三、独立编址方式的端口访问1.I/O 指令中端口地址的宽度 就是我们说的长格式和短格式2.I/O 端口访问 就是对端口的读写

Page 28: 第 05 章 输入输出与接口技术

1. 接口电路的作用是什么 ?按功能可分为几类 ?

2. 接口电路的基本结构是什么?3. 试述 CPU 与外设交换数据的方式及其

特点?4. 什么叫端口 ? 通常有哪几类端口 ?

5. 在 8086/ 8088系统中,用哪种方法对 I/O 端口进行编址 ?

6. 为什么有时候可以使两个端口对应一个地址 ?

第五章作业

Page 29: 第 05 章 输入输出与接口技术

7. 无条件传送方式用在哪些场合 ?画出无条件传送方式的工作原理因并说明。

8. 条件传送方式的工作原理是怎样的 ? 主要用在什么场合 ?画出条件传送 ( 查询 ) 方式输出过程的流程图。

9. 设一个接口的输入端口地址为 0100H ,而它的状态端口地址为 0104H ,状态端口中第5 位为 1 表示输入缓冲区中有一个字节准备好,可输入。设计具体程序实现查询式输入。

10. 查询式传送方式有什么优缺点 ? 中断方式为什么能弥补查询方式的缺点 ?

Page 30: 第 05 章 输入输出与接口技术

11. 和 DMA 方式比较,中断传输方式有什么不足之处 ?

12. 叙述用 DMA 方式传输单个数据的全过程。