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