·I/O接口概述
I/O端口与其寻址方式
CPU与外设之间的数据传送方式本章内容
掌握微型计算机接口技术的基本概念
了解主机与外设之间的各种数据传送方式
了解 I/O端口的寻址方式学习目的
8.1 I/O接口概述微型计算机系统可通过系统总线与外设相连,进行系统的扩展与开发,而外设必须通过 接口 才能与 CPU交换信息 。
CPU或系统总线
I/O
接口电路外设一,I/O接口的功能作为接口电路,通常必须为外部设备提供几个不同地址的寄存器,每个寄存器称为一个 I/O
端口 。 通常的 I/O接口示意图如下图所示:
I/O接口示意图
I/O接口内部一般由 数据,状态,控制 三类寄存器组成 。
数据寄存器在输入时,保存外设发往 CPU
的数据 (输入寄存器 )
在输出时,保存 CPU发往外设的数据 (输出寄存器 )
状态寄存器 —— 保存状态信息,CPU可从状态口读取当前状态;
控制寄存器 —— 用来保存 CPU写入的控制字 。
任何接口电路均包括如下基本功能:
1,作为微型机与外设间传递数据的中间缓冲站;
2.正确寻址与微机交换数据的外设 ;
3.提供微型机与外设间交换数据所需的控制逻辑与状态信号 。
二,CPU 与 I/O之间的接口信号
1,数据信息 (DATA)
(1) 数字量由键盘,光电输入机等输入的信息 。
(通常以二进制表示的数或以 ASCII 码表示的数或字符 )
CPU与外设交换的基本信息是数据,有三种类型:
(2) 模拟量非电量信息 传感器 电量 信号处理 A/D CPU?
(3) 开关量两个状态的量 (可以用 0,1表示 )
例如电机的启与停,开关的合与开等。
2,状态信息 (STATUS)
输入时,输入设备是否准备好? (READY)
输出时,输出设备是否空闲? (BUSY)
反映当前外设工作状态的信息,例如:
3,控制信息 (CONTROL)
例如控制 I/O 设备启动或停止等。
CPU I/O设备I/O接口
1
2
3
AB
DB
CB
DATA
STATUS
CONTROL
CPU 与外设之间的接口信息
CPU通过接口输出用以控制外设工作的信息。
外部设备与微处理器进行信息交换必须通过访问该外设相对应的端口来实现 。
具体访问这些外设端口的过程叫做 寻址 。
通常有两种寻址方式,存储器映像的
I/O寻址方式 和 I/O端口单独寻址方式 。
8.2 I/O 端口及其寻址方式一、存储器映像的 I/O寻址方式端口地址与存储器地址统一编址存储器映像的 I/O端口寻址连接方式
A15 WR
RD
CPURD WR
优点:
1.端口寻址手段丰富,且不需要专门的 I/O指令 。
2.I/O寄存器数目与外设数目不受限制,而只受总存储容量的限制 。
3.读写控制逻辑比较简单 。
缺点:
I/O端口要占用存储器的一部分地址空 间,
使可用的内存空间减少。
二,I/O端口单独寻址方式
I/O端口和存储器分开寻址
I/O端口单独寻址方式示意图
CPU访问 I/O端口必须采用专用 I/O指令,故也叫专用 I/O指令方式( Special I/O Instruction
Mode)。 这些专用的 I/O指令通常有两类,即输入指令 IN,输出指令 OUT及其相关指令组。对于不同的微处理器,具有各不相同的指令格式。
8086/8088等就采用了 I/O端口单独寻址方式。
这些指令包含 直接寻址 和 寄存器间接寻址 两种类型。
对以 8086为 CPU的 PC系列机而言,如采用直接寻址,则其指令格式为:
输入指令,IN AL,PORT
输出指令,OUT PORT,AL
这种直接寻址方式的端口地址为一个字节长,
可寻址 256个端口采用间接寻址,则其指令格式为:
输入指令,IN AL,DX
输出指令,OUT DX,AL
这种间接寻址方式的端口地址为两个字节 长,
由 DX寄存器间接给出,可寻址 64K个端口地址。
优点:
1,I/O口的地址空间独立,且不占用存储器地址空间 。
2.地址线较少,且寻址速度相对较快 。
3.专门 I/O指令的使用,使编制的程序清晰,便于理解和检查 。
1,I/O指令较少,导致程序设计的灵活性较差;
2.需要存储器和 I/O端口两套控制逻辑,
增加了控制逻辑的复杂性。
缺点:
8.3 CPU与外设之间的数据传送方式微机与外设间的数据传送,实际上是 CPU
与 I/O接口间的数据传送 。 CPU与外设间的数据传送 通常包括 无条件传送,查询传送,
中断传送,以及 DMA方式 。
一、无条件传送方式无条件传送一般适合于数据传送不太频繁的情况,如对开关,数码显示器等一些简单外设的操作 。 所谓无条件,就是假设外设已处于就绪状态,数据传送时,程序就不必再去查询外设的状态,而直接执行 I/O指令进行数据传输 。
无条件传送接口示意图输出操作,OUT PORT,AL
输入操作,IN AL,PORT
M/IO=0,RD=0,地址译码有效,输入缓冲器被选中。
M/IO=0,WR=0,地址译码有效,输出锁存器被选中。
无条件传送的接口电路举例二、查询传送方式程序控制下的查询传送方式,又称异步传送方式 。
它在执行输入输出操作之前,
需通过测试程序对外部设备的状态进行检查 。 当所选定的外设已准备,就绪,后,
才开始进行输入输出操作 。
查询传送方式流程图查询传送方式工作流程包括两个基本工作环节
( 1)查询环节主要通过读取状态寄存器的标志位来检查外设是否,就绪,。
( 2)传送环节当上一环节完成后,将对数据口实现寻址,
并通过输入指令从数据端口输入数据,或利用输出指令从数据端口输出数据。
1.查询式输入查询输入接口电路工作过程:当输入设备的数据已经准备好后,一方面 将数据送入 8位锁存器,另一方面对 D触发器触发,使状态信息标志位
D0为 1。 当 CPU要求外设输入信息时,先检查状态信息 。 若数据已经准备好,则输入相应数据,并使状态信息清,0” 。 否则,
等待数据准备,就绪,。
查询式输入时的数据和状态信息 查询式输入程序流程图
NEXT,IN A,STATUS-PORT; 从状态口输入状态信息
TEST AL,01H ; 测试标志位是否为 1
JZ NEXTIN ; 未就绪,继续查询
IN AL,DATA-PORT ; 从数据端口输入数据
2.查询式输出查询输出接口电路工作过程:当输出设备将数据输出后,会 发出一个 ACK信号,使 D触发器翻转为 0。 CPU查询到这个状态信息后,执行输出指令,将新的输出数据发送到数据总线上,同时把数据口地址发送到地址总线上 。 由地址译码器产生的译码信号和相
,与,后,发出选通信号,将 输出数据送至 8位锁存器 。 同时,将 D触发器置为 1,并通知外设进行数据输出操作 。
查询式输出的端口信息 查询式输出程序流程图
NEXTOUT,IN AL,STATUS_PORT ; 从状态口输入状态信息
TEST AL,80H ; 测试标志位 D7
JNZ NEXTOUT ; 未就绪,继续查询
MOV AL,BUF ; 从缓冲区 BUF取数据
OUT DATA_PORT,AL ; 从数据端口输出三,中断传送方式为了进一步提高 CPU的效率和使系统有实时性能,可以采用中断传送方式 。 在中断传送方式下,当外设准备好时,主动向 CPU发出中断请求,请求 CPU进行数据的输入输出 。
中断传送方式的输入接口电路中断方式的数据输入采用中断传送方式时,外设处于主动地位,无需 CPU花费大量时间去查询外设的工作状态 。 与程序方式相比,大大提高了
CPU的效率 。
外设请求中断
INTR有效主程序中断服务程序输入数据外设准备数据四,DMA方式
DMA (Direct Memory Access),是存储器与外设或存储器之间进行大量数据传送的方法,是在 DMA控制器 (DMAC)
的控制下进行的 。
CPU
总线存储器外设程序控制的数据输入 /输出
DMA
DMA与程序控制数据传送路径比较
DMA与程序控制数据传送路径的比较
1.DMA传送的工作原理
DMA传送原理图
DMA工作流程
( 2) CPU 响应后,接管对总线的控制,进入
DMA方式 。
( 1) 能向 CPU 发出 BUSRQ 请求信号 。
( 3) 能发出地址信息,并对 I/O端口或存储器寻址 。
2.DMA 控制器的基本功能
( 5) 决定数据传送的地址和数据传送的长度 。
( 4) 发出读,写控制信号 。
( 6) 判断 DMA 操作的结束,撤消总线请求信号,
使 CPU 恢复正常工作 。
3,DMA操作方式
( 1)单字节方式
DMA控制器操作每次均只传送一个字 节。
( 2)字组方式也叫请求方式或查询方式。这种方式以有
DMA请求为前提,能够连续传送一批数 据。
( 3) 连续 方式连续操作方式是指在数据块传送的整个过程中,
不管 DMA请求是否撤消,DMA控制器始终控制着总线。除非传送结束或检索到,匹配字节,,
才把总线控制权交回 CPU。
特点从 DMA操作角度来看,以连续方式最快,字组方式次之,单字节方式最慢。
从 CPU的使用效率来看,则正好相反,
以单字节方式最好,连续方式最差,
字组方式居中。