I/O操作是计算机处理中非常重要的操作如何实现对I/O设备的有效控制以更好地满足用户的输入/输出要求是设备管理中非常重要的问题之一在计算机技术的发展过程中I/O控制方式也在不断地发展对I/O控制的要求主要是基于尽量减少主机对I/O控制的干预把主机从繁杂的I/O控制事务中解脱出来以更多地完成其数据处理任务 按照I/O控制功能的强弱以及和CPU之间联系方式的不同可把I/O设备的控制方式分为种这种控制方式代表了I/O控制发展的个阶段从程序直接控制方式发展到中断驱动方式再到DMA控制方式通道I/O控制方式每种控制方式都对前一种方式存在的问题进行了解决提高了CPU 和外围设备并行工作的程度大幅度地提高了计算机执行效率和系统资源的利用率 I/O程序直接控制方式如下 程序直接控制方式也称询问方式它是早期计算机系统中的一种I/O操作控制方式在这种方式下利用输入/输出指令或询问指令测试一台设备的忙 /闲标志位根据设备当前的忙或闲的状态决定是继续询问设备状态还是由主存储器和外围设备交换一个宇符或一个字下图所示是一个数据的输入过程当在 CPU上运行的现行程序需要从I/O设备读入一批数据时CPU程序首先设置交换的字节数和数据读入主存的起始地址然后向I/O设备发送读指令或查询标志指令I/O设备将当前的状态返回给CPU如果I/O设备返回的当前状态为忙或未就绪则测试过程不断重复直到I/O设备就绪开始进行数据传送CPU从I/O接口读一个字或一个字符再写入主存如果传送还未结朿再次向设备发出读指令重复上述测试过程直到全部数据传输完成再返回现行程序执行 为了正确完成这种传送通常要使用条指令:查询指令用来查询设备的状态;传送指令当设备就绪时执行数据交换;转移指令当设备未就绪时执行转移指令转向查询指令继续查询 在程序直接控制方式中一旦CPU启动I/O设备便不断查询I/O设备的准备情况终止原程序的执行;另外当I/O准备就绪后CPU还要参与数据的传送工作此时CPU也不能执行原程序由于CPU的髙速性和I/O设备的低速性致使CRJ的绝大部分时间都处在等待I/O设备完成数据的输入/输出循环测试和低速的传送中造成对CPU资源的极大浪费由此可见在这种设备控制方式下CPU和I/O设备完全处在串行工作状态使主机不能充分发挥效率整个系统的效率很低 |