第六章 微型计算机的输入 /输出
? CPU与外设通讯的特点
? 输入 /输出方式
? CPU与外设通信的接口
? 8086CPU的输入 /输出
一, CPU与外设通信特点
1,通信特点
? 需要有接口作为 CPU与外设通讯的桥梁;
? 需要有数据信息传送之前的“联络”;
? 要传递的信息有三方面内容:状态、数
据及控制信息。
2、接口的用途
? 进行地址译码或设备选择,以便使 CPU
能与某一指定的外部设备通讯;
? 状态信息的应答,以协调数据传送之前
的准备工作;
? 进行中断管理,提供中断信号;
? 进行数据格式转换,如正负逻辑的转换,
串行与并行数据转换等;
? 进行电平转换,如 TTL电平与 MOS电平
间的转换;
? 协调速度,如采用锁存、缓冲、驱动等;
? 时序控制,提供实时时钟信号。
3,I/O 端口的寻址方式
接口电路通常包含一组能够与处理器交换信
息的寄存器,称为 I/O端口寄存器,简称为 I/O
端口
1)数据端口 —— 存放数据信息
2)状态端口 —— 存放状态信息,即反映外设
当前工作状态的信息
3)控制端口 —— 存放控制信息
1,存储器映像的 I/O寻址
存储单元和 I/O端口的地址统一编址
2,I/O映像的 I/O寻址
I/O端口地址与存储单元地址分开编址
二,输入 /输出方式
1、程序控制传送方式
( 1)同步传送方式
( 2) 异步查询方式
( 3) 中断方式
2、直接存储器存取方式
? 程序控制传送方式
? 同步传送方式
CPU直接与外设传送数据并不需要了
解外设状态,认为外设已经准备就绪,
直接与外设传送数据
由于不查询外设状态,接口电路不需要
状态寄存器
? 异步查询方式
在执行输入输出前,要先查询接口中状态寄
存器的状态。
输入时,状态寄存器的状态指示要输入的数
据是否已经准备就绪;
输出时,状态寄存器的状态指示输出设备是
否空闲。
中断方式
当外设作好传送准备后,主动向 CPU请求中
断,CPU响应中断后在中断处理程序中与外设交
换数据。
在中断未发生时,CPU可以执行其他程序,这
样可以提高 CPU的利用率。
?直接存储器存取方式 ( DMA) (Direct
Memory Access) 。
在高速的外设或成块交换数据的情况,采用程
序控制方式进行数据的传输,是无法满足要求的。
在这种情况下,采用 DMA方式。
DMA方式是在外设与内存间建立起直
接的通道,CPU不再直接参加外设和内存
间的数据传输。但系统需要进行 DMA传输
时,将 CPU对地址和数据及控制线的管理
权交由 DMA控制器进行控制,当完成了一
次 DMA数据传输后,再将这个控制权还给
CPU,这些工作都是由硬件自动实现的,
并不需要程序进行控制。
三, CPU与外设通信的接口
1、同步传送方式与接口
不查询外设状态,认为外设已经准
备就绪,直接与外设传送数据。
输入:缓冲器(如,74LS244)
输出:锁存器(如,74LS273)
2、异步传送方式与接口
必须查询外设状态,然后再决定
是否与外设传送数据。
查询方式的输入接口电路
查询方式的输出接口电路
查询方式的输出接口电路举例
四, 8086CPU的输入 /输出
1,8086CPU的 I/ O指令
( 1) 直接寻址输入/输出指令 (八位端口地址 )
IN AL,n (字节输入 )
IN AX,n (字输入 )
OUT n,AL (字节输出 )
OUT n,AX (字输出 )
( 2) DX寄存器间接寻址输入(十六位端
口地址)
IN AL,DX (字节输入 )
IN AX,DX (字输入 )
OUT DX,AL (字节输出 )
OUT DX,AX (字输出 )
2,有关端口地址问题
8086CPU与外设交换数据可以字或字节进行,
当以字节进行时, 偶地址端口的字节数据由低 8位
数据线 D7~ D0位传送, 奇地址端口的字节数据由
高 8位数据线 D15~ D8传送, 当用户在安排外设的
端口地址时, 如果外设是以 8位的方式与 CPU连接,
就只能将其数据线或者与 CPU的低八位或者与高
八位连接, 这样同一台外设的所有寄存器端口地
址都只能是偶地址或是奇地址, 这时设备的端口
地址就会是不连续的 。