Skip to content

I/O系统概述

考情分析

I/O 系统概述通常不单独出大题,但其中的 I/O 控制方式演进是后续程序查询、中断、DMA 的总纲。选择题常考外设与主机之间的速度矛盾、各控制方式的适用场景对比。

I/O 系统的组成

I/O 系统包含两大部分:

I/O 系统=I/O 硬件+I/O 软件

I/O 硬件

  • 外部设备(输入/输出/存储设备)
  • I/O 接口(设备控制器)
  • I/O 总线

I/O 软件

  • 驱动程序
  • 中断处理程序
  • 设备无关性软件(操作系统 I/O 子系统)

外部设备分类

按功能分类

类别设备举例方向
输入设备键盘、鼠标、扫描仪、麦克风外部 → 主机
输出设备显示器、打印机、扬声器主机 → 外部
外存储设备磁盘、SSD、光盘、磁带双向

按数据传输速率分类

速度类别设备举例特点
低速设备键盘、鼠标数据量小,对实时性要求不高
中速设备打印机、扫描仪数据量中等
高速设备磁盘、SSD数据量大,要求高带宽

设备速度差异巨大:键盘每秒只产生几十字节数据,而 NVMe SSD 可以达到数 GB/s。如何让 CPU 高效管理速度差异如此大的设备,是 I/O 系统设计的核心问题。

I/O 控制方式演进

计算机发展过程中,I/O 控制方式不断改进,目标始终是减少 CPU 对 I/O 过程的直接参与

程序查询方式

CPU 通过循环检测设备状态寄存器来判断 I/O 是否完成。

CPU读状态设备状态=忙?继续轮询
  • CPU 全程等待,无法做其他工作
  • 适合低速设备、简单嵌入式系统
  • CPU 利用率最低

中断驱动方式

设备就绪时主动发出中断请求,CPU 响应中断后再进行数据传输。

  • CPU 在 I/O 期间可以执行其他程序
  • 数据传输仍然经过 CPU(每传一个字/字节触发一次中断)
  • 适合中低速设备

DMA 方式

由 DMA 控制器接管数据传输,直接在设备和主存之间搬运数据,传输完成后向 CPU 发一次中断。

  • CPU 只在传输开始和结束时参与
  • 数据块为单位传输,效率高
  • 适合高速设备(磁盘、网卡)

通道方式

通道是一个专用的 I/O 处理器,有自己的指令系统(通道指令),可以独立执行 I/O 程序。

  • CPU 向通道发出一条启动指令,后续由通道自主完成
  • 进一步解放 CPU
  • 大型机中常见,微机中较少

演进脉络

方式CPU 参与程度传输单位数据通路
程序查询全程占用字/字节经过 CPU
中断驱动部分占用字/字节经过 CPU
DMA开始+结束数据块不经过 CPU
通道启动指令一组数据块不经过 CPU

核心趋势:CPU 的参与越来越少,I/O 操作越来越独立。

I/O 系统的主要性能指标

  • 吞吐量(Throughput):单位时间完成的 I/O 操作数
  • 响应时间(Response Time):从发出 I/O 请求到完成的时间
  • CPU 利用率:CPU 用于执行用户程序(而非等待 I/O)的时间比例

这三者相互关联:I/O 控制方式越先进,CPU 利用率越高,系统吞吐量也越大。

例题

例 1:程序查询方式和中断方式都是以字/字节为单位传输数据的,它们的本质区别是什么?

:区别在于 CPU 是否需要主动等待。程序查询方式中 CPU 不断轮询设备状态,全程被 I/O 占用;中断方式中 CPU 可以先去执行其他程序,设备就绪后通过中断通知 CPU,CPU 再来处理,I/O 等待期间 CPU 不被浪费。

例 2:为什么 DMA 适合磁盘而不适合键盘?

:磁盘每次传输大量连续数据(一个扇区 512 B 或更多),DMA 批量搬运效率高。键盘每次只产生 1 个字节,数据量极小且不连续,使用 DMA 的启动开销反而不划算,中断方式足够。

例 3:下列 I/O 控制方式中,数据传输不经过 CPU 的是哪些?

:DMA 方式和通道方式。这两种方式中,数据直接在设备与主存之间传输,CPU 不参与逐字节的搬运。

考点清单

  • I/O 系统 = I/O 硬件(设备 + 接口 + 总线) + I/O 软件
  • 四种控制方式:程序查询 → 中断 → DMA → 通道,CPU 参与递减
  • 程序查询和中断以字/字节为单位经 CPU 传输,DMA 以块为单位不经 CPU
  • 程序查询 CPU 利用率最低,通道方式 CPU 利用率最高
  • 设备速度差异是 I/O 系统设计的核心矛盾

真题练习

相关真题(7题)

2026Q21选择题2分

I/O相关指令中特权指令与非特权指令的区分

2019Q20选择题2分

磁盘存储器的基本特性与最小读写单位

2019Q44综合题7分

磁盘存储与文件系统综合题

I/O概述I/O(综合)
2017Q21选择题2分

I/O指令数据传送的路径

2015Q20选择题2分

磁盘平均存取时间计算

2013Q20选择题2分

RAID可靠性提升措施

2013Q21选择题2分

磁盘扇区平均访问时间计算