微处理器和外部设备进行数据传送时,有三种不同的方式。我们把它们分别称为程序查询方式、中断方式与直接存储器访问方式。这三种方式控制下的数据传输,可以有效的协调微处理器和外部设备。让二者正确的交互以及传送数据。下面就具体描述这三种方式的含义。 所谓程序查询就是在程序控制方式下进行数据传送。在写程序时,把查询指令写在程序中,微处理器执行该条指令,去读I/O接口中一个反映接口状态的寄存器,当满足数据传送条件的情况下,状态寄存器会呈现一定的状态。如果该状态寄存器为允许传送,就可以进行数据传输了。在程序中可以设立循环指令,微处理器通过执行程序,只要条件不满足,微处理器就不断查询接口的状态,直到外设(I/O接口)做好数据传送的准备。 由此可见,程序查询方式简单易行,只要利用现有的微处理器不需要加入其他硬件电路作为辅助。只要编程实现下述功能:对I/O接口的状态寄存器不断测试,一旦满足条件(准备好传送数据),紧接着执行数据传送指令。显而易见,程序查询方式的不足之处在于对状态寄存器的测试占用了CPU过多的时间。采用程序查询方式的时候,微处理器的绝大部分时间都用于测试和等待了。这种方式的实质就是降低微处理器的工作速度来适应低速的外部设备。我们可以看出不增加硬件从而不提高成本的同时,会造成微处理器的效率降低,这是一个鱼与熊掌不可兼得的问题。那么如何提高微处理器的效率呢?就是采用下面介绍的中断方式和DMA方式。 |