Skip to main content

O que é acesso direto à memória?

O acesso direto à memória, às vezes chamado de DMA, é um método de transferência de dados da memória de acesso aleatório para outra parte do computador sem ocupar a unidade central de processamento. Esse recurso está incorporado na maioria dos sistemas de computadores modernos. Ele permite que o computador execute várias tarefas ao mesmo tempo, tornando o computador mais rápido.

Assim como o proprietário de uma pequena empresa lida com todos os relatórios e informações que entram ou saem de seu escritório, a unidade central de processamento de um computador deve processar toda a entrada ou saída do computador. Antes do acesso direto à memória, o download ou o upload de dados ocupavam toda a atenção do processador central. Só poderia fazer uma tarefa por vez.

Um computador com acesso direto à memória ativado é como um pequeno empresário com dois assistentes. Em vez de lidar com todas as informações diretamente, a unidade central de processamento pode delegar a tarefa ao controlador de acesso direto à memória. Este é um dispositivo embutido na placa-mãe que supervisiona as operações de acesso direto à memória. A unidade central de processamento fica livre para executar outras tarefas enquanto o upload ou download está ocorrendo. Quando a tarefa delegada é concluída, o controlador DMA informa a unidade central de processamento.

Cada porta de um computador possui pelo menos um canal de acesso direto à memória que pode ser atribuído a dispositivos conectados por essa porta. Para funcionar corretamente, cada dispositivo deve ter um canal diferente. A maioria das placas que podem ser instaladas em um computador, como som, rede ou placas de vídeo, pode usar acesso direto à memória para executar suas tarefas.

Os processadores com vários núcleos também podem usar o acesso direto à memória. Eles geralmente têm um tipo de memória temporária chamada memória local ou de bloco de notas. Quando a ação em que estão trabalhando estiver concluída, eles poderão transferir os dados da memória local para a memória principal usando um canal de memória de acesso direto.

A desvantagem de depender do DMA é que ele pode causar o que é chamado de perda de coerência do cache. Basicamente, isso significa que os dados estão se movendo o tempo todo e podem ser armazenados em vários locais temporários. O problema é que, quando o computador é solicitado a acessar informações, ele pode não acessar as informações mais recentes. Os fabricantes de computadores podem lidar com isso usando hardware especial ou programando o sistema operacional para se proteger contra a perda de coerência do cache.