通道

(上课好像没怎么讲)

DMA 方式比中断驱动方式已显著地减少了 CPU 的干预,即由以字(节)为单位的干预减少到以数据块为单位的干预。但是 CPU 每发出一条 I/O 指令,只能读(或写)一个连续的数据块。当需要一次性读多个离散的数据块并将它们分别传送到不同的内存区域,或者相反时,则需要 CPU 分别发出多条 I/O 指令,通过多次中断处理才能完成。这种机制不能满足复杂的 I/O 操作要求。

为获得 CPU 和外围设备间更高的并行工作能力,让种类繁多、物理特性各异的外围设备能以标准的接口连接到系统中。在大、中型计算机系统中,普遍采用由专用的 I/O 处理机来接受 CPU 的委托,独立执行自己的通道程序来实现 I/O 设备与内存之间的信息交换,这就是「通道」技术。

img-2024-05-20 20-19-15.png

工作过程

  1. 用户执行 I/O 请求时,通过访管指令进入管理程序,由 CPU 通过管理程序组织一个通道程序,并启动通道。
  2. 通道执行 CPU 为它组织的通道程序,完成指定的数据输入输出工作。此时,CPU 可执行其他任务并与通道并行工作。
  3. 通道程序结束后向 CPU 发中断请求。CPU 响应这个中断请求后,调用管理程序对中断请求进行处理。

通道程序

通道程序由一系列通道指令(或称为通道命令)构成。通道指令与一般的机器指令不同,每条指令中包含的信息较多,包括操作码、内存地址、计数(读或写数据的字节数)、通道程序结束位 P 和记录结束标志 R。通道通过执行通道程序,与设备控制器共同实现对 IO 设备的控制。

通道类型

由于外围设备的种类较多,且其传输速率相差很大,所以通道也具有多种类型。根据信息交换方式,可以把通道分成以下三种类型:字节多路通道数组选择通道数组多路通道