为了快速传送大量数据,微型计算机中采用存储器直接访问技术,简称DMA。用 DMA方式传送时,在存储器和(37)之间直接建立高速传输数据的通路,不需要(38)的干预。 利用DMA方式传送数据时,数据的传送过程完全由称为DMA控制器的硬件控制。 DMA控

admin2019-03-04  30

问题 为了快速传送大量数据,微型计算机中采用存储器直接访问技术,简称DMA。用 DMA方式传送时,在存储器和(37)之间直接建立高速传输数据的通路,不需要(38)的干预。
   利用DMA方式传送数据时,数据的传送过程完全由称为DMA控制器的硬件控制。 DMA控制器具有下列功能:
   (1)向CPU申请(39)传送。
   (2)在CPU允许DMA工作时,处理总线控制的转交。
   (3)在DMA期间管理(40),控制数据传送。
   (4)确定数据传送的起始地址和(41),并在传送过程中不断修正。
   (5)数据传送结束时,给出表示DMA操作完成的信号。

选项 A、控制台
B、硬件
C、外部设备
D、数据长度
E、CPU

答案D

解析 直接存储器存取(Direct Memory Access,DMA)方式可以使得数据从I/O模块到主存的传输过程中,无需CPU的中转,这个工作转移给了DMA控制器(DMAC)来完成,这种方式可以实现高速的数据传输。
   (1)DMA控制器
   DMAC既能访问系统总线,也能独立访问主存,因此,DMAC能完成主存和I/O设备之间的数据交换。DMAC的过程如图1-7所示。
   地址寄存器是内存地址,每传递一个数据,将这个寄存器加1,长度寄存器减1,当长度寄存器为0时,给中断机构完成信号,通知CPU进行后续处理。
      
   当CPU收到I/O请求时,向DMAC发出相应指令。DMAC首先判断外设是否可用,如果可用,则填充地址寄存器、长度寄存器等,向CPU发出总线请求信号,申请总线的处理权。CPU收到总线请求信号时,让出总线控制权,然后DMAC将数据在外设和内存指定区域之间进行传送,而长度寄存器保存的值随着数据的传送不断减小,当减小到0时,通过中断机构向CPU发出中断请求,CPU响应中断,对内存中的数据进行后续的处理。
   (2)DMA的传送过程
   DMA的传送过程如图1-8所示。
         
   在DMA传输过程中,CPU停止访问主存,只进行一些与总线无关的内部操作。这种方法常用于高速的I/O设备。优点是减少系统总线控制权的交换次数,实现简单;缺点是使CPU在DMA过程中基本上无所事事。为了克服这个缺点,一般采用时间片轮转法和借用周期法。
   时间片轮转法按照一定时间间隔,将总线控制权分别轮换着交给CPU和DMAC。这样CPU就不会停止工作,但往往外设的速度低,可能使得DMAC的某些时间空转。因此,就效率而言,时间片轮转法的效率仍然不高。
   借用周期法是时间片轮转法的改进,即当有DMA操作时,DMAC控制总线访问内存,其他时间由CPU控制总线。这种方式适合于外设速度远低于总线速度的高速主机,由于要判断DMAC’是否需要使用总线,所以实现起来比较复杂。
   (3)DMA方式和中断方式的区别
   DMA方式中使用到了中断,但是DMA和中断这两种I/O方式是有很大区别的。它们最根本的区别在于,使用中断方式时,主存和I/O控制器之间的数据传送仍然需要用CPU来操作,需要使用CPU的寄存器等资源,如图1-9所示。
     
   而且,由于I/O控制器的数据寄存器大小有限,所以一个数据传送过程往往需要多次,这样就很频繁地发生中断。由于中断调用过程使用了CPU的资源,所以CPU必须保护现场,从而在相当大的程度上增加了处理时间。而在DMA传送过程中,虽然 DMAC可能需要暂停CPU的执行,来达到控制总线的目的,但是这种暂停只是机器周期的中断,而且这个暂停CPU不需要保护现场,没有切换任务的操作。当数据传送完成后,才有一个中断,通知CPU进行数据传送的后续工作。因此,DMA方式提供了比中断方式更好的并行性。
转载请注明原文地址:https://jikaoti.com/ti/gix7FFFM
0

相关试题推荐
最新回复(0)