DMA(直接内存存取)

DMA是指外部设备不通过CPU而直接与系统内存交换数据的接口技术。

  要把外设的数据读入内存或把内存的数据传送到外设,一般都要通过CPU控制完成,如CPU程序查询或中断方式。利用中断进行数据传送,可以大大提高CPU的利用率

  但是采用中断传送有它的缺点,对于一个高速I/O设备,以及批量交换数据的情况,只能采用DMA方式,才能解决效率和速度问题。DMA在外设与内存间直接进行数据交换,而不通过CPU,这样数据传送的速度就取决于存储器和外设的工作速度。

  通常系统的总线是由CPU管理的。在DMA方式时,就希望CPU把这些总线让出来,即CPU连到这些总线上的线处于第三态--高阻状态,而由DMA控制器接管,控制传送的字节数,判断DMA是否结束,以及发出DMA结束信号。DMA控制器必须有以下功能:

  1)能向CPU发出系统保持(HOLD)信号,提出总线接管请求;

  2)当CPU发出允许接管信号后,负责对总线的控制,进入DMA方式;

  3)能对存储器寻址及能修改地址指针,实现对内存的读写操作;

  4)能决定本次DMA传送的字节数,判断DMA传送是否结束

  5)发出DMA结束信号,使CPU恢复正常工作状态。

 

猜你喜欢

转载自blog.csdn.net/weixin_42229896/article/details/80734193