程序查询方式

概述

程序查询方式的核心问题在于 每时每刻不断查询IO设备是否准备就绪,查询流程图如下所示

程序查询方式

当IO设备比较多的时候,CPU会按照各个IO设备的优先级逐个查询,流程图如下所示

多IO设备的查询方式

程序查询流程

程序查询流程图

  1. CPU先保存自己的寄存器情况
  2. 设置计数器,即要读取多少次
  3. 设置要存放的位置的起始位置
  4. 启动IO设备
  5. 获取IO设备状态标志到CPU,检查IO设备是否准备就绪:如果准备就绪,开始读取数据,反之原地踏步
  6. CPU执行IO指令,或从IO接口中的数据缓冲寄存器中读取一个数据,或者写入数据到IO接口的数据缓冲寄存器内
  7. 修改主存地址
  8. 修改计数器(比如从正数递减到0,或从负数递增到0)
  9. 结束IO传输