文章目录
-
- [1. 为什么要引入通道?(DMA 的局限性)](#1. 为什么要引入通道?(DMA 的局限性))
- [2. 通道的概念](#2. 通道的概念)
- [3. 通道的三种类型](#3. 通道的三种类型)
- [4. 通道系统的结构示例 (IBM-370)](#4. 通道系统的结构示例 (IBM-370))
- [5. 通道程序](#5. 通道程序)
- [6. 总结:通道 I/O 的启动与结束](#6. 总结:通道 I/O 的启动与结束)
-
- [核心考点:通道与DMA 的区别](#核心考点:通道与DMA 的区别)
1. 为什么要引入通道?(DMA 的局限性)
DMA 方式虽然解放了 CPU 的数据搬运工作,但仍存在不足:
- CPU 干预仍较多:数据的传送方向、内存地址、数据长度等参数都需要 CPU 来设置。
- 独占性:一旦开始传送,DMA 控制器就占用了总线。
- 缺乏灵活性:DMA 仅仅解决了"数据传送",但对外设的管理和某些控制操作(如寻道)仍需 CPU 操心。
通道技术的出现 ,真正实现了 CPU 与 I/O 设备(及 I/O 与 I/O 之间)的并行工作。
核心特征 :在需要进行 I/O 数据交换时,CPU 只需干预两次:
- 启动通道(下达命令)。
- 处理中断(通道完成任务后汇报)。
2. 通道的概念
- 定义 :通道相当于一台小型处理机(I/O Processor)。
- 职责 :它接受 CPU 的委托,独立执行通道程序,对外部设备的 I/O 操作进行控制。
- 目标 :实现内存和外设之间的成批数据传输。

3. 通道的三种类型
根据信息交换方式和连接设备的速度,通道分为三种类型:
a) 字节多路通道
Byte Multiplexor Channel
- 特点 :
- "多路":包含若干个子通道,每个子通道连接一台设备。
- "字节" :以字节为单位进行数据传输。
- 分时共享:利用不同设备在传送两个字节之间的空闲时间(因为低速设备很慢),轮流为多个设备服务。
- 适用设备 :主要用于连接低速设备(如键盘、打印机、卡片输入机)。
- 原理:例如传送一个字节需要 1ms,而通道处理只需几百纳秒,通道就利用这 1ms 的空闲去处理其他设备的请求。
b) 数组选择通道
Selector Channel
- 特点 :
- 独占 :虽然可以连接多台设备,但同一时刻只能为一个设备服务。
- 成组 :一旦选中某台设备,就一直为它服务,直到该设备的数据传输工作全部结束。
- 适用设备 :主要用于连接高速外设(如磁带、磁盘)。
- 缺点:利用率相对较低(因为高速设备也有寻道等慢速操作,此时通道空闲但也无法服务其他设备)。
c) 数组多路通道
Block Multiplexor Channel
这是前两种方式的结合,综合了优点。
- 特点 :
- 数据传送时 :类似选择通道,独占,以数据块为单位高速传输。
- 控制操作时 :当设备在做寻址、寻道等控制性慢速操作时,通道暂时断开连接,转去为其他设备服务。
- 适用设备 :多用于中高速设备。
- 效率:效率最高,结合了字节多路通道的"分时并行"和选择通道的"高速传输"特点。
4. 通道系统的结构示例 (IBM-370)
为理解通道如何连接设备,以下为经典的 IBM-370 结构:

- 此结构展示了多通路、多控制器的复杂拓扑结构,保证了系统的高可靠性和高吞吐量。
5. 通道程序
Channel Program
通道作为"小处理机",其运行依赖于通道程序。
- 硬件组成:通道拥有自己的运算逻辑、寄存器。
- 指令系统 :通道具有专门的指令集,称为通道指令。
- 工作方式 :
- CPU 把通道程序预先存储在内存中。
- CPU 发出"启动 I/O"指令,告知通道程序在内存中的位置。
- 通道取出指令并执行,控制设备进行操作。
6. 总结:通道 I/O 的启动与结束
核心考点:通道与DMA 的区别
| 特性 | DMA 方式 | 通道方式 |
|---|---|---|
| 控制程度 | CPU 控制数据的地址、长度、方向 | 通道程序控制这些细节,CPU 仅发启动指令 |
| 并行度 | 较低(每台设备通常需一个 DMA 控制器) | 极高(一个通道控制器可控制多台设备) |
| 中断频率 | 块传输结束时中断 | 一组复杂的 I/O 操作全部结束才中断 |
| 本质 | 硬件控制器 | 具有指令系统的特殊处理器 |