什么是 IBM 370 I/O 通道?
IBM 370 计算机中的 I/O 处理器被称为通道。一般的计算机系统配置包含多个通道,每个通道连接到一个或多个 I/O 设备。
通道有三种类型,包括多路复用器、选择器和块多路复用器。多路复用器通道可以连接到多个速度慢和中速的设备,并且适合于同时操作多个 I/O 设备。
选择器通道被创建用来一次管理一个 I/O 操作,通常用于控制一个高速设备。块多路复用器通道融合了多路复用器和选择器通道的功能。它支持连接到多个高速设备,但所有 I/O 传输都由一个完整的数据块控制,这与多路复用器通道不同,后者一次只能共享一个字节。
CPU 通过专用的控制线直接与通道交互,并通过内存中保留的存储区域间接交互。该图显示了与通道操作相关的字格式。
I/O 指令格式具有三个字段:操作码、通道地址和设备地址。计算机系统可以有多个通道,每个通道都有一个地址。类似地,每个通道可以连接到多个设备,并且每个设备都有一个地址。操作码确定八个 I/O 指令之一:启动 I/O、快速释放启动 I/O、测试 I/O、清除 I/O、停止 I/O、停止设备、测试通道和保存通道标识。
被寻址的通道确认每个 I/O 指令并执行它们。它还在称为 PSW(处理器状态字)的处理器寄存器中设置四个条件码之一。CPU 可以测试 PSW 中的条件码以确定 I/O 操作的结果。
通道状态字的格式显示在图 (b) 中。它持续保存在内存位置 64 中。关键字段是一种保护机制,可以防止一个用户未经授权访问属于另一个客户端或操作系统框架的数据。状态字中的地址字段提供了通道使用的最后一个命令字的地址。
启动 I/O 和快速释放启动 I/O 指令之间的区别在于,后者需要更少的 CPU 时间来执行。当通道接受这两个指令之一时,它会为第一个通道命令字 (CCW) 的地址定义内存位置 72。
通道命令字的格式显示在图 (c) 中。数据地址字段确定内存缓冲区的第一个地址,计数字段提供传输中包含的多个字节。命令字段确定 I/O 操作,标志位为通道提供其他数据。