Direct memory access (DMA) is a feature of computer systems that allows certain hardware subsystems to access main system memory (random-access memory) independently of the central processing unit (CPU). Without DMA, when the CPU is using programmed input/output, it is typically fully occupied for the entire duration of the read or write operation, and is thus unavailable to perform other work. With DMA, the CPU first initiates the transfer, then it does other operations while the transfer is in progress, and it finally receives an interrupt from the DMA controller (DMAC) when the operation is done. This feature is useful at any time that the CPU cannot keep up with the rate of data transfer, or when the CPU needs to perform work while waiting for a relatively slow I/O data transfer. Many hardware systems use DMA, including disk drive controllers, graphics cards, network cards and sound cards. DMA is also used for intra-chip data transfer in multi-core processors. Computers that have DMA channels can transfer data to and from devices with much less CPU overhead than computers without DMA chann
El acceso directo a la memoria (DMA) es una característica de los sistemas informáticos que permite a ciertos subsistemas de hardware acceder a la memoria principal del sistema (memoria de acceso aleatorio) independientemente de la unidad central de procesamiento (CPU). Sin DMA, cuando la CPU está utilizando la entrada/salida programada, suele estar completamente ocupada durante toda la duración de la operación de lectura o escritura, y por lo tanto no está disponible para realizar otro trabajo. Con DMA, la CPU inicia primero la transferencia, luego realiza otras operaciones mientras la transferencia está en curso, y finalmente recibe una interrupción del controlador DMA (DMAC) cuando se realiza la operación. Esta característica es útil en cualquier momento en que la CPU no puede seguir con la tasa de transferencia de datos, o cuando la CPU necesita realizar el trabajo mientras espera una transferencia de datos I/O relativamente lenta. Muchos sistemas de hardware utilizan DMA, incluyendo controladores de discos, tarjetas gráficas, tarjetas de red y tarjetas de sonido.