精简版 · 小杯2026-08 冻结,已停止更新(发布前修订了 4 处已知错误)。后续勘误与新增内容只在正式版。看正式版(中杯)→
Skip to content

通道方式

大纲定位

本条已不在现行大纲内

现行 408 大纲「六(三)I/O 方式」只列了三种:程序查询方式、程序中断方式、DMA 方式,没有通道方式

那为什么还留着这篇:通道是 DMA 之上的一层。理解「DMA 只搬一段数据,通道能执行一串通道指令」这个层级关系,反过来能把仍在纲内的 DMA 边界看得更清——DMA 控制器做什么、不做什么。

怎么分配时间:把 程序查询与中断方式DMA 方式 两篇吃透是正事。本篇已按纲外定位压缩到只保留与 DMA 的边界对比,读一遍即可,不需要记忆。

考情分析

408 的题型只有单项选择题综合应用题两类。统考对 I/O 方式的考查集中在程序查询、中断、DMA 三种;通道不作为独立考点。本篇的价值在于把 I/O 控制方式的演进链条补完整。

通道的基本思想

DMA 解决了"数据传输不经过 CPU"的问题,但 DMAC 仍然只能处理一种简单的传输任务,且每次传输的参数都要 CPU 设置。当系统中有大量 I/O 设备时,CPU 仍然要频繁参与 DMA 的初始化工作。

通道(Channel) 的核心思想是:让一个独立的"小处理器"去管理一组 I/O 设备,CPU 只需要发出一条 I/O 指令,剩下的所有事情(设备选择、数据传输、缓冲管理、错误处理)都由通道完成。

CPU通道指令通道DMA/设备控制器I/O 设备

可以把通道理解为"专门做 I/O 的弱 CPU"——它有自己的指令系统(通道指令),能从内存中读取通道程序并执行。

通道与 DMA、CPU 的关系

层级谁控制工作内容
CPU操作系统发出 I/O 指令,启动通道
通道通道程序选择设备、组织数据传输、处理 I/O 中断
设备控制器(含 DMAC)通道命令直接驱动具体设备完成数据传送
I/O 设备控制器物理读写

CPU 把"做什么"告诉通道,通道再把"怎么做"分解成具体的设备操作。CPU 在通道工作期间可以执行其他程序,只在通道完成后通过中断通知 CPU。

与 DMA 的区别

特性DMA 方式通道方式
控制器复杂度简单(硬件控制器)复杂(有独立的指令系统)
一次能管理的设备一个多个
数据传输的灵活性固定格式可以处理多种格式
CPU 介入程度每次传输都要 CPU 设置参数一次启动可完成多个数据块的传输
适用场景高速字符/块设备(磁盘)大型机的复杂 I/O 环境

简单说:DMA 是定制硬件,通道是可编程的小 CPU。通道的灵活性来自它能执行通道程序。

I/O 控制方式的演进

把五种方式排成一条线,能看清每一步把哪部分工作从 CPU 手里拿走了——其中前三种在统考大纲内

程序查询中断驱动DMA通道I/O 处理机

每一步演进的核心都是减少 CPU 在 I/O 中的参与程度

方式CPU 参与程度说明
程序查询完全参与(轮询)CPU 一直检查设备状态
中断驱动中度参与(每字节中断一次)CPU 被设备打断处理
DMA少量参与(每数据块一次)CPU 只需启动和接收完成中断
通道极少参与(多个数据块一次)CPU 启动后通道独立工作
I/O 处理机几乎不参与专用 I/O 处理机管理整个 I/O 子系统

通道是 DMA 的进一步发展,也是 I/O 处理机的雏形。

只需带走的三句话

  1. 通道是 DMA 的"上司":它有自己的指令系统,能自主执行一段 I/O 程序;DMA 控制器只能做一次参数固定的搬运,参数还得 CPU 来设。
  2. 通道不是真正的 CPU:它是能力受限的专用处理器,只能执行有限的通道指令,且必须由主 CPU 启动,不能独立工作。
  3. 现代 PC 没有通道:用 DMA + 总线主控(bus mastering,即设备可以主动申请并接管总线)达到了类似效果。通道方式主要存在于大型机环境。

真题练习

通道方式已不在现行大纲内,统考真题库中没有对应题目。相关练习请转到仍在纲内的 DMA 方式程序查询与中断方式