概述
程序查询方式的核心问题在于 每时每刻不断查询IO设备是否准备就绪,查询流程图如下所示
当IO设备比较多的时候,CPU会按照各个IO设备的优先级逐个查询,流程图如下所示
程序查询流程
- CPU先保存自己的寄存器情况
- 设置计数器,即要读取多少次
- 设置要存放的位置的起始位置
- 启动IO设备
- 获取IO设备状态标志到CPU,检查IO设备是否准备就绪:如果准备就绪,开始读取数据,反之原地踏步
- CPU执行IO指令,或从IO接口中的数据缓冲寄存器中读取一个数据,或者写入数据到IO接口的数据缓冲寄存器内
- 修改主存地址
- 修改计数器(比如从正数递减到0,或从负数递增到0)
- 结束IO传输