7.1.3 输入/输出的控制方式


  计算机与外设之间进行数据传送有三种基本控制方式:查询方式、中断方式和DMA方式。

1.查询方式

  查询方式是通过执行输入/输出查询程序来完成数据传送的,其流程如图7.2所示。

  工作原理是:当CPU启动外设工作后,不断地读取外设的状态信息进行测试,查询外设是否准备就绪,如外设准备好,则可以进行数据传送;否则,CPU继续读取外设的状态信息进行查询等待,直到外设准备好。

图7.2 查询方式流程图

采用程序查询方式进行数据传送时,实际上在外设准备就绪之前,CPU一直处于等待状态,致使CPU的利用率较低。倘若CPU按这种方式与多个外设传送数据时,就需要周期性的依次查询每个外设的状态,浪费的时间就更多,CPU的利用率就更低。因此,这种方式适合于工作不太繁忙的系统。

2.中断方式

  在第6章已经介绍过中断的基本工作原理和实现技术。实际上,中断方式是一种硬件和软件相结合的技术,中断请求和处理依赖于中断控制逻辑,而数据传送则是通过执行中断服务程序来实现的。

  这种方式的特点是:在外设工作期间,CPU无须等待,可以处理其他任务,CPU与外设可以并行工作,提高了系统效率,同时又能满足实时信息处理的需要。但在进行数据传送时,仍需要通过执行程序来完成。

3.DMA方式

  采用中断方式可以提高CPU的利用率,但有些I/O设备(如磁盘、光盘等)需要高速而又频繁地与存储器进行批量的数据交换,此时中断方式已不能满足速度上的要求。而直接存储器处理DMA(direct memory access)方式,可以在存储器与外设之间开辟一条高速数据通道,使外设与存储器之间可以直接进行批量数据传送。

  实现DMA传送,要求CPU让出系统总线的控制权,然后由专用硬件设备(DMA控制器)来控制外设与存储器之间的数据传送。

  DMA方式的工作原理如图7.3所示。    

  DMA控制器一端与外设连接,另一端与CPU连接,由它控制存储器与高速I/O设备之间直接进行数据传送。

  其工作过程是:当I/O设备与存储器需要传送数据时,先由I/O设备向DMA控制器发送请求信号DREQ,再由DMA控制器向CPU发送请求占用总线的信号HRQ,CPU响应HRQ后向DMA控制器回送一个总线响应信号HLDA,随后CPU让出总线控制权并交给DMA控制器,再由DMA控制器回送请求设备应答信号DACK。此时,DMA控制器接管总线控制权,由它控制存储器与I/O设备之间直接传送数据,当一批数据传送完毕,DMA控制器再把总线控制权交还给CPU。

  由此可见,这种传送方式的特点是:在数据传送过程中,由DMA控制器参与工作,不需要CPU的干预,批量数据传送时效率很高,通常用于高速I/O设备与内存之间的数据传送,详细工作原理在7.4节讲述。

posted on 2009-06-21 16:44  yangjie  阅读(432)  评论(0编辑  收藏  举报