外部设备一般通过总线与处理机连接,例如,在PC机中,使用最多的是PCI总线。图6.15(a)是一种典型的连接方式。
  在大型计算机中,由于与处理机连接的外部设备比较多,为了使主处理机能够专心运行用户程序,采用通道处理机或输入输出处理机来管理外部设备,其连接方式如6.15(b)所示。
  目前,IBM公司研制的大型计算机一般都采用通道处理机方式。通道处理机能够负担外部设备的大部分输入输出工作,包括管理所有按字节传输方式工作的低速和中速外围设备,按数据块传输方式工作的高速外围设备,对DMA接口的初始化,设备故障的检测等。通道处理机能够与主处理机并行工作,完成主处理机交给它的输入输出任务。
  输入输出处理机与通道处理机的主要差别是:输入输出处理机除了能够完成通道处理机的全部功能之外,还具有码制转换、数据校验和校正、故障处理、文件管理、诊断和显示系统状态、处理人机对话等功能。
  输入输出处理机之所以能够完成上述这些通道处理机不能完成的工作,其中的关键是输入输出处理机除了具有数据的输入输出功能之外,还具有运算功能和程序控制等功能。实际上,输入输出处理机就是一台完整的计算机系统。
图 6.15 处理机与外部设备的连接方式

  外部设备与处理机之间的连接,无论采用总线方式,或通道处理机方式,或输入输出处理机方式,在物理上都必须通过标准接口才能把外部设备连接到处理机上,接口的主要功能有:
  1.处理机与外部设备之间的通信联络
  外部设备与处理机之间一般采用异步方式工作,因此,他们之间传送数据必须采用应答方式或需要同步控制电路配合。另外,必须通过设备选择电路才能识别地址总线上的外部设备编号。
  2.数据缓冲
  在接口中要设置一个或几个数据缓冲寄存器,用于数据的缓存。
  对于输入设备,由设备控制器负责把输入数据送到接口的数据缓冲寄存器中,再由处理机(对于程序控制方式或中断方式)或直接由接口(对于DMA方式)负责从缓冲寄存器中把输入数据送到主存储器。对于输出设备,首先由处理机或接口把输出数据送入接口的缓冲寄存器中,再由设备控制器负责把数据缓冲寄存器中输出数据送到输出设备中。因此,接口中的数据缓冲寄存器实际上是输入数据或输出数据的一个中转站。
  3.接受处理机的命令,提供外部设备的状态
  在接口中通常要设置一个控制/状态寄存器。当设备要向处理机报告它所处的状态时(如忙/闲、是否有故障等),就把这些状态信息放在控制/状态寄存器中,处理机可以通过程序读取这个寄存器中的内容,从而能够随时查询到设备的工作情况。当处理机要向设备发出命令时(如启动/停止设备、开/关中断等),要置位或清除控制/状态寄存器的某些位,设备控制器根据这些信息控制设备工作。因此,接口中的控制/状态寄存器是设备与处理机之间传送命令和状态信息的桥梁。
  4.数据格式的变换
  为了满足处理机与各种外部设备对数据格式的需要,接口必须完成数据格式的变换,主要包括串/并行转换、字/字节的拆装及码制转换等。