工作原理
程序查询方式是最基础的 I/O 控制方式, 完全由 CPU 执行一段程序来完成数据交换。
- 核心逻辑: CPU 不断读取外设的状态字, 判定数据是否可以传输。如果外设“忙”, CPU 则进入循环等待 (踏步等待)。
工作流程 重点
- 预置参数: CPU 设置内存缓冲区的首地址和需要传输的数据数量。
- 发出命令: CPU 向接口发出启动命令。
- 读取状态: CPU 从接口取出状态字。
- 判定状态:
- 若外设“忙”, 则返回第 3 步循环等待。
- 若外设“就绪”, 则进入数据传输。
- 数据交换: CPU 执行 I/O 指令, 在内存与接口间交换数据。
- 修改参数: 更新内存地址 (加 1) 和数据计数器 (减 1)。
- 判定结束: 若计数器不为零, 返回第 3 步继续传输; 若为零, 则传输结束。
特点
- 优点: 控制简单, 硬件开销小。
- 缺点:
- 效率极低: 高速 CPU 必须等待慢速外设, 浪费大量计算资源。
- 缺乏并行性: 主机与外设不能同时工作, 多个外设之间也不能同时工作。
- 实时性差: 无法处理预估之外的错误或异常情况, 容易进入死循环。