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