O que é DMA? [Acesso direto à memória]
Ignorando a CPU; saiba o que é DMA como essa função trabalha, quais os motivos e benefícios estão previstos no processo
Ignorando a CPU; saiba o que é DMA como essa função trabalha, quais os motivos e benefícios estão previstos no processo
A ideia do DMA é a troca de ordem nos acessos, alterando a sequência comum. Veja abaixo, o que é DMA e saiba como acontece esse processo, existem motivos específicos ou benefícios para a atuação dessa forma? A descrição detalhada das respostas está no texto na sequência.
O DMA ou Direct Memory Access é o método que permite que um dispositivo de entrada e saída envie ou receba dados diretamente da memória principal, ignorando a CPU, acelerando as operações que envolvem a memória.
Todo o processo é controlado por um chip chamado DMAC ou Direct Memory Access Controller que determina quais dispositivos ou entradas estarão aptas ao DMA.
Como explicamos acima, o DMA basicamente trabalha com transferência de dados entre o computador e dispositivos de entrada e saída. São 3 formas de procedimento conhecidos:
Neste método, o processador continua fazendo a varredura de algum dispositivo que esteja pronto para transferência de dados. Se um dispositivo estiver pronto, o processador se dedica totalmente à transferência de dados entre ele e a memória.
A transferência dos dados ocorre em uma taxa alta, mas não pode participar de outra atividade durante a transferência de dados. Esta é a principal desvantagem do método programado.
Quando existe a opção de interrupção, sempre que o dispositivo está pronto para transferência de dados, ele gera uma interrupção tendo o processador como alvo. Em seguida, o processador conclui a execução da instrução em andamento e salva seu estado atual.
Feito o salvamento do estado, muda para a transferência de dados, causando um atraso. Aqui, o processador não fica procurando dispositivos prontos para transferência de dados. Mas, também está totalmente envolvido no processo de transferência de dados, perdendo parte de sua eficiência.
Os dois modos de transferência de dados acima não são úteis para transferir um grande bloco de dados, devido ao fato de exigirem concentração da CPU na operação. No DMA, o controlador conclui a tarefa em uma taxa mais rápida e também é eficaz para a transferência de grandes blocos de dados.
Com informação: Minitool, Techopedia, Binary Terms.