IO 系统基本概念(考纲已移除)

IO 控制方式简介

程序查询方式

基本原理:CPU 主动、连续地检查 I/O 设备的状态,直到设备准备就绪后才进行数据传输。

工作流程

  1. CPU 启动 I/O 操作
  2. CPU 不断查询设备状态寄存器
  3. 设备准备就绪后,CPU 执行数据传输
  4. 传输完成后继续执行程序

特点

  • CPU 利用率低,大量时间用于等待和查询
  • 实现简单,适用于简单系统
  • I/O 设备与 CPU 同步工作
  • 数据传输可靠性高

程序中断方式

基本原理:I/O 设备完成操作后主动向 CPU 发送中断请求,CPU 响应中断并处理 I/O 事务。

工作流程

  1. CPU 启动 I/O 操作后继续执行其他程序
  2. I/O 设备完成准备后发送中断请求
  3. CPU 响应中断,保存现场
  4. 执行中断服务程序完成数据传输
  5. 恢复现场,继续执行被中断的程序

特点

  • 提高 CPU 利用率,CPU 可执行其他任务
  • 需要中断控制器和中断服务程序
  • 适用于中等速度的 I/O 设备
  • 存在中断响应和现场保护开销

中断处理过程

  • 中断请求 → 中断响应 → 保存现场 → 中断服务 → 恢复现场

DMA 方式

基本原理:通过 DMA 控制器实现 I/O 设备与内存间的直接数据传输,无需 CPU 直接参与数据传输过程。

工作流程

  1. CPU 设置 DMA 控制器参数(源地址、目标地址、传输长度等)
  2. CPU 启动 DMA 传输后继续执行其他程序
  3. DMA 控制器控制数据在 I/O 设备与内存间直接传输
  4. 传输完成后 DMA 控制器向 CPU 发送中断信号

DMA 控制器组成

  • 命令/状态寄存器
  • 内存地址寄存器
  • 数据计数器
  • 数据缓冲寄存器

DMA 传输方式

  • 停止 CPU 方式:DMA 占用总线期间 CPU 停止工作
  • 周期窃取方式:DMA 在 CPU 不使用总线时进行传输
  • 交替访问方式:CPU 与 DMA 交替使用总线

特点

  • CPU 利用率最高,CPU 几乎不参与数据传输
  • 适用于高速 I/O 设备和大批量数据传输
  • 需要专门的 DMA 控制器硬件支持
  • 传输速度快,系统效率高

通道方式

基本原理:通过 I/O 指令启动通道,通道执行存放在主存中的通道程序序列,实现对多个 I/O 设备的统一管理和控制。

通道的本质

  • 通道是一个专用处理器,具有自己的指令系统
  • 通道程序存放在主存中,由通道处理器执行
  • 通道可以并行控制多个 I/O 设备操作

工作流程

  1. CPU 执行 I/O 指令启动通道
  2. 通道从主存中读取并执行通道程序
  3. 通道控制一个或多个 I/O 设备进行数据传输
  4. 传输完成后通道向 CPU 发送中断信号
  5. CPU 处理中断,获取 I/O 操作结果

通道程序特点

  • 存储在主存中的指令序列
  • 包含数据传输指令、控制指令、分支指令等
  • 可实现复杂的 I/O 操作逻辑

通道类型

  • 字节多路通道:适用于连接多个低速设备(如终端、打印机)
  • 数组选择通道:适用于连接少数高速设备(如磁盘)
  • 数组多路通道:兼具字节多路和数组选择通道特点

优势

  • 进一步减少 CPU 干预,CPU 只需启动通道
  • 支持多设备并行操作,提高 I/O 系统吞吐量
  • I/O 操作更加灵活,可执行复杂的控制逻辑
  • 提高系统整体性能,CPU 可专注于计算任务

四种方式比较

控制方式CPU 参与程度传输效率硬件复杂度并发能力适用场景
程序查询完全参与简单单设备低速设备、简单系统
程序中断部分参与中等中等单设备中速设备、通用系统
DMA 方式基本不参与复杂单设备高速设备、大数据传输
通道方式最少参与最高最复杂多设备大型机、复杂 I/O 系统