设备管理的目标和功能

  • 提高 CPU 与 I/O 设备之间的并行操作程度
  • 为用户提供方便统一的界面

重点 四种 I/O 控制方式

方式特点CPU 参与程度适用场景
程序控制方式(轮询)CPU 不断检查设备状态,忙等全程参与,效率低简单/低速设备
中断驱动方式设备完成 I/O 后发中断通知 CPU仅启动和完成时参与,但逐字节传输仍占用 CPU中速设备
DMA 方式(直接存储器访问)DMA 控制器直接完成内存与设备间的数据传输仅初始化参与,传输由 DMA 控制器完成高速块设备(磁盘)
通道控制方式I/O 处理器独立执行通道程序几乎不参与,通道自主管理 I/O大型系统、多设备场景

程序控制方式(Programmed I/O)

  • CPU 循环检查设备状态寄存器,判断设备是否就绪
  • 若设备未就绪,CPU 忙等(busy-wait),浪费大量 CPU 时间
  • CPU 负责数据的逐字/逐字节传输(从设备到寄存器,再从寄存器到内存)
  • 优点:实现简单,无需额外硬件支持
  • 缺点:CPU 利用率极低,CPU 和 I/O 串行工作

中断驱动方式(Interrupt-driven I/O)

  • CPU 发起 I/O 操作后可以执行其他任务
  • I/O 设备完成操作后通过中断信号通知 CPU
  • CPU 响应 中断与异常,保存现场,执行中断处理程序
  • 数据仍由 CPU 逐字节传输(CPU 在中断处理中完成数据搬运)
  • 优点:提高了 CPU 与 I/O 的并行度,CPU 利用率明显提升
  • 缺点:频繁中断对于高速设备开销过大,数据仍需 CPU 中转

重点 DMA 方式(Direct Memory Access)

  • DMA 控制器接管总线,直接在外设和内存之间传输数据
  • 工作流程:CPU 设置 DMA 控制器(传输方向、内存地址、字节数)→ DMA 控制器控制总线传输 → 传输完成后发中断通知 CPU
  • 数据传输无需 CPU 干预,CPU 只需处理起始设置和结束中断
  • 适用于高速块设备(磁盘、显卡等)
  • 优点:CPU 和 I/O 高度并行,适合大批量数据传输
  • 缺点:DMA 控制器价格较高,DMA 传输占用总线(周期窃取)

通道控制方式(I/O Channel)

  • 通道是一个独立的、专门处理 I/O 操作的处理器(I/O 处理器)
  • 拥有自己的指令系统,可执行通道程序
  • CPU 只需向通道发送 I/O 指令,通道自主完成整个 I/O 过程
  • 进一步减少 CPU 负担,适合大型计算机系统
  • 通道分为:字节多路通道(连接多个低速设备)、数组选择通道(连接高速设备)、数组多路通道(同时服务多个高速设备)