DMA(Direct Memory Access)传送方式是指将处理器与系统内存之间的传送任务直接交给DMA控制器,从而减轻处理器的负担,提高系统的传送速度。
传统的处理器一般采用程序控制I/O(Input/Output)传送方式,即需要通过执行I/O指令的方式来实现对I/O设备的控制与数据传送。在执行I/O操作时,处理器需花费大量时间来往I/O端口和内存之间传递数据,严重影响了处理器的处理能力。
而采用DMA传送方式后,I/O设备直接与内存进行数据传送,而处理器则可以将相关任务交给DMA控制器完成,大大减轻了处理器的负担,提高了系统的传送速度。
首先,DMA传送方式采用异步传送方式,即在处理器的干预下,DMA控制器可在I/O设备和内存之间独立工作,从而提高了系统的传送速度。同时,DMA传送方式还具有以下几个特点:
(1)集中传送数据:在DMA传送方式下,数据可以一次性集中传送,减少了传送的次数,增加了系统的效率。
(2)高带宽:采用DMA传送方式后,系统在传输数据时可实现高带宽,提高了数据传输速度。
(3)低中央处理器(CPU)使用率:在DMA传送方式下,处理器的操作可以减少,从而释放CPU的使用率。
DMA传送方式广泛应用于需要大量数据传送的场合,如高速网络通信、高速存储器存取等。同时,在一些需要对数据进行实时处理、缓存或拷贝的场合,DMA传送方式也可以充分利用其高速带宽和低CPU使用率的特点,提高系统的处理性能。
优点:
(1)DMA传输方式直接读写内存,节约大量CPU的时间,对于对速度要求苛刻的任务,优势显著。
(2)系统的实时性较高,在同时处理多个任务时,可以大大提高处理速度和响应速度。
(3)具有高带宽、低CPU使用率等特点,可提高系统的效率。
缺点:
(1)DMA传送方式需要独立的DMA控制器,增加了系统成本,加大了系统调试的难度。
(2)DMA传送方式的错误处理、数据校验等方面需要专门处理,否则会增加系统的崩溃概率。
(3)DMA传送方式需要大量缓存提高数据传输的效率,增加了系统存储单元的占用。