工作原理

程序查询方式是最基础的 I/O 控制方式, 完全由 CPU 执行一段程序来完成数据交换。

  • 核心逻辑: CPU 不断读取外设的状态字, 判定数据是否可以传输。如果外设“忙”, CPU 则进入循环等待 (踏步等待)。

工作流程 重点

  1. 预置参数: CPU 设置内存缓冲区的首地址和需要传输的数据数量。
  2. 发出命令: CPU 向接口发出启动命令。
  3. 读取状态: CPU 从接口取出状态字。
  4. 判定状态:
    • 若外设“忙”, 则返回第 3 步循环等待。
    • 若外设“就绪”, 则进入数据传输。
  5. 数据交换: CPU 执行 I/O 指令, 在内存与接口间交换数据。
  6. 修改参数: 更新内存地址 (加 1) 和数据计数器 (减 1)。
  7. 判定结束: 若计数器不为零, 返回第 3 步继续传输; 若为零, 则传输结束。

特点

  • 优点: 控制简单, 硬件开销小。
  • 缺点:
    • 效率极低: 高速 CPU 必须等待慢速外设, 浪费大量计算资源。
    • 缺乏并行性: 主机与外设不能同时工作, 多个外设之间也不能同时工作。
    • 实时性差: 无法处理预估之外的错误或异常情况, 容易进入死循环。