IO 系统基本概念(考纲已移除)
IO 控制方式简介

程序查询方式
基本原理:CPU 主动、连续地检查 I/O 设备的状态,直到设备准备就绪后才进行数据传输。
工作流程:
- CPU 启动 I/O 操作
- CPU 不断查询设备状态寄存器
- 设备准备就绪后,CPU 执行数据传输
- 传输完成后继续执行程序
特点:
- CPU 利用率低,大量时间用于等待和查询
- 实现简单,适用于简单系统
- I/O 设备与 CPU 同步工作
- 数据传输可靠性高
程序中断方式
基本原理:I/O 设备完成操作后主动向 CPU 发送中断请求,CPU 响应中断并处理 I/O 事务。
工作流程:
- CPU 启动 I/O 操作后继续执行其他程序
- I/O 设备完成准备后发送中断请求
- CPU 响应中断,保存现场
- 执行中断服务程序完成数据传输
- 恢复现场,继续执行被中断的程序
特点:
- 提高 CPU 利用率,CPU 可执行其他任务
- 需要中断控制器和中断服务程序
- 适用于中等速度的 I/O 设备
- 存在中断响应和现场保护开销
中断处理过程:
- 中断请求 → 中断响应 → 保存现场 → 中断服务 → 恢复现场
DMA 方式
基本原理:通过 DMA 控制器实现 I/O 设备与内存间的直接数据传输,无需 CPU 直接参与数据传输过程。
工作流程:
- CPU 设置 DMA 控制器参数(源地址、目标地址、传输长度等)
- CPU 启动 DMA 传输后继续执行其他程序
- DMA 控制器控制数据在 I/O 设备与内存间直接传输
- 传输完成后 DMA 控制器向 CPU 发送中断信号
DMA 控制器组成:
- 命令/状态寄存器
- 内存地址寄存器
- 数据计数器
- 数据缓冲寄存器
DMA 传输方式:
- 停止 CPU 方式:DMA 占用总线期间 CPU 停止工作
- 周期窃取方式:DMA 在 CPU 不使用总线时进行传输
- 交替访问方式:CPU 与 DMA 交替使用总线
特点:
- CPU 利用率最高,CPU 几乎不参与数据传输
- 适用于高速 I/O 设备和大批量数据传输
- 需要专门的 DMA 控制器硬件支持
- 传输速度快,系统效率高
通道方式
基本原理:通过 I/O 指令启动通道,通道执行存放在主存中的通道程序序列,实现对多个 I/O 设备的统一管理和控制。
通道的本质:
- 通道是一个专用处理器,具有自己的指令系统
- 通道程序存放在主存中,由通道处理器执行
- 通道可以并行控制多个 I/O 设备操作
工作流程:
- CPU 执行 I/O 指令启动通道
- 通道从主存中读取并执行通道程序
- 通道控制一个或多个 I/O 设备进行数据传输
- 传输完成后通道向 CPU 发送中断信号
- CPU 处理中断,获取 I/O 操作结果
通道程序特点:
- 存储在主存中的指令序列
- 包含数据传输指令、控制指令、分支指令等
- 可实现复杂的 I/O 操作逻辑
通道类型:
- 字节多路通道:适用于连接多个低速设备(如终端、打印机)
- 数组选择通道:适用于连接少数高速设备(如磁盘)
- 数组多路通道:兼具字节多路和数组选择通道特点
优势:
- 进一步减少 CPU 干预,CPU 只需启动通道
- 支持多设备并行操作,提高 I/O 系统吞吐量
- I/O 操作更加灵活,可执行复杂的控制逻辑
- 提高系统整体性能,CPU 可专注于计算任务
四种方式比较:
| 控制方式 | CPU 参与程度 | 传输效率 | 硬件复杂度 | 并发能力 | 适用场景 |
|---|---|---|---|---|---|
| 程序查询 | 完全参与 | 低 | 简单 | 单设备 | 低速设备、简单系统 |
| 程序中断 | 部分参与 | 中等 | 中等 | 单设备 | 中速设备、通用系统 |
| DMA 方式 | 基本不参与 | 高 | 复杂 | 单设备 | 高速设备、大数据传输 |
| 通道方式 | 最少参与 | 最高 | 最复杂 | 多设备 | 大型机、复杂 I/O 系统 |