Conceito

DMA - Direct Memory Acess ou Acesso Direto à Memória, é um artifício da placa-mãe que fornece aos periféricos paralelos (placa de vídeo, placa de rede, placa de som, controladores de disco, drives) acesso direto à memória RAM, transferindo dados diretamente para a memória RAM sem a necessidade de consultar o processador, evitando o sobrecarregamento no mesmo, proporcionando eficiência na transferência.


Um exemplo prático é aplicação no uso do monitor. A quantidade de dados a serem processados para mostrar uma imagem na tela em tempo real é muito grande. Se apenas o processador trabalhasse para realizar essa tarefa, não conseguiríamos executar outra tarefa.

Funcionamento

Este método funciona da seguinte maneira: DMA possui 8 canais, que estão numerados de 0 a 7. Nos canais de 0 a 3 são de uso a periféricos legados como drive de disquetes, placas de som e portas paralelas, trabalhando a 8 bits. Já os outros de 4 a 7 acompanha o barramento de dados do processador que trabalham com uma taxa de 16 bits.

Com este recurso possibilita que a CPU busque por estes dados diretamente em blocos na memória RAM, que por sua vez é mais rápida que os periféricos, já que se a CPU fosse buscar por estes dados bits a bits nos periféricos levaria mais tempo e o impediria de executar outras operações.

O DMA é predefinido com três tipos de dados: Endereço da Fonte, Posição inicial da Memória, Quantidade de Bytes. Com esses dados a CPU cede ao DMA o controle do fluxo de dados do periférico a ser utilizado, por exemplo um leitor de DVD. Então esse trafego passa a ser controlado diretamente pelo DMA, que quando termina devolve o controle do fluxo ao CPU.



Referências Bibliográficas

http://www.hardware.com.br/termos/dma

http://www.roboliv.re/conteudo/dma-acesso-direto-a-memoria

http://www.hardware.com.br/guias/placas-mae-barramentos/dma-ieo.html