程序查询I/O,也称为程序查询方式或轮询法,是一种 由CPU通过程序不断查询I/O设备是否已做好准备,从而控制I/O设备与主机交换信息的基本I/O操作方式。以下是其详细解释:
工作原理
CPU周期性地执行一条指令,检查I/O设备的状态寄存器。
状态寄存器中包含一个标志位,指示I/O操作是否完成。
CPU通过检测这个标记,了解I/O设备的准备情况。
当I/O设备准备就绪后,CPU可以进行数据传送;否则,CPU继续查询等待。
主要特点
CPU有“踏步”等待现象:CPU在信息传送过程中需要不断查询和等待,导致CPU利用率较低。
CPU与I/O串行工作:CPU与I/O设备交替工作,传送与主程序串行进行。
接口设计简单:由于设备量少,接口设计相对简单。
优点
接口设计简单,设备量少。
缺点
CPU在信息传送过程中花费很多时间用于查询和等待,效率大大降低。
在一段时间内,CPU只能和一台外设交换信息,无法充分利用CPU资源。
建议
程序查询I/O方式适用于设备较少且对实时性要求不高的场合。对于设备较多或对实时性要求较高的系统,通常会采用更高效的I/O方式,如程序中断方式或直接内存访问(DMA)方式。