DMA é uma abreviação para Acesso Direto à Memória(Direct Access memory).
DMA é um modo de transferência.
Antes de continuar vamos entender o que é I/O:
I/O vem de Entrada/Saída ou, em inglês Input/Output. Entrada e saída de dados em um dispositivo, ou seja, gravação e consulta. Assim, podemos citar como dispositivos de I/O e que podem fazer uso de DMA: HD, Plcca de Som, de Vídeo.
DMA é uma função que permite a um dispositivo de I/O enviar ou receber dados diretamente de ou para a memória ram, sem a participação do processador. Como o processador(CPU) não é envolvido/sobrecarregado ele fica livre para outras tarefas.
Temos os seguintes tipos de transferência de dados DMA:
- Entre dois dispositivos
- Entre um dispositivo e a memória ram
- entre memória e memória.
Alguns dispositivos de I/O apenas recebem ou enviam dados sem necessitar de processamento de CPU, então esses dispositivos podem acessar diretamente a memória RAM sem envolver o processador. Por exemplo, uma placa de som pode acessar dados armazenados na memória ram e a própria placa de som pode processar estes dados, assim não necessitando do processador. A placa de som pode então usar DMA, um acesso direto à memória ram. Assim, como placa de som podemos citar placas de vídeo.
Alguns HDs têm a função de “Ultra DMA”, significando que eles são mais rápidos que mais antigos HDs que necessitava que seus dados fossem primeiramente lidos pelo processador.
Controlador DMA
O processo de DMA é gerenciado por um chip chamado Controlador DMA ou DMAC(DMA Controller).
O Controlador DMA transfere dados em 3 modos:
- Modo Burst: O controlador DMA ocupa o barramento e só o libera quando a transferência estiver concluída. O processador espera.
- Modo Cycle Stealing: ou “modo roubador de ciclos”. Estamos nos referindo a ciclos do processador. O controlador DMA força o processador a parar sua operação e renunciar seu controle do barramento. Assim o controlador DMA usa o barramento que estava em uso pelo processador.
- Modo Transparente: O controlador DMA usa o barramento apenas se o processador não estiver usando ou requerer.
Vantagem em Usar DMA
Um dispositivo de I/O que não faça uso do processador acaba por aliviar o uso do processador, poupando-o para outras tarefas.
Fontes: techterms, binaryterms, oracle.com