【摘要】:如果在CPU传送数据时,不能确保指定的数据端口在数据传输过程中能够和CPU的时序配合好,则可以采用查询传送方式。CPU需要先输入其端口状态信号,I/O设备在准备好传送数据时,会建立“准备好”信号,CPU查询状态信号确认后再传送数据,此即查询方式。查询传送方法和无条件传送的直接I/O方式一样,是典型的程序控制传送方式。
如果在CPU传送数据时,不能确保指定的数据端口在数据传输过程中能够和CPU的时序配合好,则可以采用查询传送方式。CPU需要先输入其端口状态信号,I/O设备在准备好传送数据时,会建立“准备好”信号,CPU查询状态信号确认后再传送数据,此即查询方式。所谓“准备好”,对于输入接口而言,即输入数据寄存器已满—新数据已准备好,可供CPU读取;对于输出接口来说,即输出数据寄存器已空—原来输出的数据已被I/O设备处理,允许CPU送下一个数据。这些“准备好”信号一般由I/O设备自己建立,由CPU完成传送后清除。
下面是一段查询传送方式输出数据的程序。程序中有4个符号:STATUS_PORT表示状态端口地址,READY_BIT表示状态端口中的“准备好”位,DATA_PORT表示数据端口地址,DATA表示输出数据在存储器中存放的地址。
程序的最后一句输出清除“准备好”信号,以便下一个数据准备好后重新建立该信号。
由于I/O设备的速度相对较慢,每准备好一次传送要较长时间,而CPU速度很快,要重复执行查询(执行以标号为WAITING开始的三条指令)多次才进行一次数据输出,效率很低。(www.xing528.com)
在多个I/O设备都用查询方式管理的系统中,CPU可以轮流查询各个设备的状态,谁先准备好,就先对谁传送,这种方法称为巡回检测。
查询传送方法是由CPU输入端口状态信号启动的,通过读/写端口数据完成。查询传送方法和无条件传送的直接I/O方式一样,是典型的程序控制传送方式。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。