Dma (acesso direto à memória)
O DMA (Acesso Direto à Memória) é um recurso usado na transferência de dados, diretamente entre dispositivos de E/S e memória RAM. Este recurso que contem na placa mãe, nos permite que os periféricos acessem diretamente a memória RAM.
O DMA ameniza a lentidão de um dispositivo de E/S, pois um “hardware” dedicado responde mais rapidamente sem interrupções, e o tempo de transferência é curto. Logo, a quantidade de memória temporária necessária nos dispositivos de E/S é menor. Além disso, o DMA também diminui a carga do processador, pois ela não tem que executar instrução alguma para transferir dados. Portanto, o processador não é usado para gerenciar a transmissão e fica disponível para outras atividades. Isto é ainda mais importante em sistemas nos quais o microprocessador opera primariamente na sua memória “cache”, neste caso a transferência ocorre em paralelo, logo o desempenho geral do sistema é melhorado.
Portanto o DMA faz com que, ao invés de interromper o programa em execução de tempos em tempos ele não interrompa de maneira nenhuma, e tambem ganha na economia de tempo da CPU.
Função de uma DMA
O funcionamento dela ocorre a partir de um circuito controlador de DMA, que é o responsavel pelo trabalho da transferencia dos dados.
O controlador de DMA compartilha a memória do sistema com o processador, e pode operar como Principal ou Secundario. Operando como Principal, o controlador assume o comando do barramento do sistema para realizar as transferências.
Operando como Secundario, o controlador de DMA é acessado pelo processador, que programa os registradores internos ao controlador para configurar a transferência. Estes consistem dos registradores de endereço fonte e destino e contador de transferências, para cada canal de DMA, assim como um registrador de status para configuração e monitoramento da operação do controlador.
Deste modo, por exemplo, em um jogo o processador pode ficar responsavel somente para controlar o teclado e