图6.16给出处理机、接口和外部设备之间的连接关系,从图中可以看出,接口实际上是连接处理机与外部设备之间连接的桥梁。
图 6.16 处理机、接口与外部设备之间的连接

  处理机与输入输出接口之间需要交换的信息比较多,为了规范这些信息,通常设置三种类型的总线:
  1. 数据总线
  对于输入设备,通过数据总线把输入数据从设备取到接口的数据缓冲寄存器中;对于输出设备,通过数据总线把输出数据从接口的数据缓冲寄存器中送到输出设备。对于串行工作的设备,数据总线的宽度只有1位(单方向传送数据)或2位(双向同时传送数据);对于并行工作的设备,数据总线的宽度通常有8位或者更多。
  2.地址总线
  当有多台外部设备连接到同一条总线上时需要有地址总线。地址总线是用来设别外部设备的。接口要定时检查地址总线上的内容,把地址总线与自己的设备编号进行比较,如果发现相符,则说明在这一周期内,包括数据总线和控制总线在内的整个输入输出总线都属于这台外部设备。
  另外,在采用DMA方式传送数据时,除了设备地址总线之外,还有主存储器的地址总线。
  3.控制总线
  除了数据总线和地址总线之外,接口与设备之间的其他连接线一般都属于控制总线,主要包括两类:
  CPU对外部设备的控制命令,通常包括:启动、停止、输入输出方式、中断、屏蔽等。
  外部设备的工作状态,以供CPU查询,通常包括:设备是否已经启动,设备忙闲,输入设备数据是否已经准备好,输出设备是否允许接收数据等。
  上述三类总线统称为输入输出总线。

  下面,通过常用的几种标准接口来具体介绍输入输出接口的工作原理。