DMA (Acesso Direto à Memória)

Por que confiar em nós

A seguir, saiba como funciona e o que é DMA (Acesso direto à memória), assim como seu significado e definição.

O que significa acesso direto à memória (DMA)?

O acesso direto à memória (DMA) é um método que permite que um dispositivo de entrada/saída (E/S) envie ou receba dados diretamente de ou para a memória principal, ignorando a CPU para acelerar as operações de memória.

O processo é gerenciado por um chip conhecido como controlador DMA (DMAC).

Techopedia explica o acesso direto à memória

Uma parte definida da memória é usada para enviar dados diretamente de um periférico para a placa-mãe sem envolver o microprocessador, para que o processo não interfira na operação geral do computador.

Em computadores mais antigos, quatro canais DMA eram numerados como 0, 1, 2 e 3. Quando o barramento de expansão da arquitetura padrão da indústria (ISA) de 16 bits foi introduzido, os canais 5, 6 e 7 foram adicionados.

ISA era um padrão de barramento de computador para computadores compatíveis com IBM, permitindo que um dispositivo iniciasse transações (bus mastering) em uma velocidade mais rápida.

O controlador ISA DMA tem 8 canais DMA, cada um dos quais associado a um endereço de 16 bits e registradores de contagem.

ISA foi substituído por accelerated graphics port (AGP) e peripheral component interconnect (PCI) expansion cards, que são muito mais rápidos. Cada DMA transfere aproximadamente 2 MB de dados por segundo.

As ferramentas de recursos do sistema de um computador são usadas para comunicação entre hardware e software. Os quatro tipos de recursos do sistema são:

  • Endereços de E/S.

  • Endereços de memória.

  • Números de solicitação de interrupção (IRQ).

  • Canais de acesso direto à memória (DMA).

Os canais DMA são usados ​​para comunicar dados entre o dispositivo periférico e a memória do sistema. Todos os quatro recursos do sistema dependem de certas linhas em um barramento.

Algumas linhas no barramento são usadas para IRQs, algumas para endereços (os endereços de E/S e o endereço de memória) e algumas para canais DMA.

Um canal DMA permite que um dispositivo transfira dados sem expor a CPU a uma sobrecarga de trabalho.

Sem os canais DMA, a CPU copia cada pedaço de dados usando um barramento periférico do dispositivo de E/S. Usar um barramento periférico ocupa a CPU durante o processo de leitura/gravação e não permite que outro trabalho seja executado até que a operação seja concluída.

Com DMA, a CPU pode processar outras tarefas enquanto a transferência de dados está sendo realizada. A transferência de dados é iniciada primeiro pela CPU. O bloco de dados pode ser transferido de e para a memória pelo DMAC de três maneiras.

No modo burst, o barramento do sistema é liberado somente após a conclusão da transferência de dados. No modo cycle stealing, durante a transferência de dados entre o canal DMA e o dispositivo de E/S, o barramento do sistema é liberado por alguns ciclos de clock para que a CPU possa executar outras tarefas.

Quando a transferência de dados é concluída, a CPU recebe uma solicitação de interrupção do controlador DMA. No modo transparente, o DMAC pode assumir o controle do barramento do sistema somente quando não for necessário pelo processador.

No entanto, usar um controlador DMA pode causar problemas de coerência de cache. Os dados armazenados na RAM acessados ​​pelo controlador DMA podem não ser atualizados com os dados de cache corretos se a CPU estiver usando memória externa.

As soluções incluem limpar linhas de cache antes de iniciar transferências DMA de saída ou executar uma invalidação de cache em transferências DMA de entrada quando gravações externas são sinalizadas para o controlador de cache.

Related Terms

Margaret Rouse
Technology Specialist
Margaret Rouse
Especialista em Tecnologia

Margaret é uma premiada redatora e professora conhecida por sua habilidade de explicar assuntos técnicos complexos para um público empresarial não técnico. Nos últimos vinte anos, suas definições de TI foram publicadas pela Que em uma enciclopédia de termos tecnológicos e citadas em artigos do New York Times, Time Magazine, USA Today, ZDNet, PC Magazine e Discovery Magazine. Ela ingressou na Techopedia em 2011. A ideia de Margaret de um dia divertido é ajudar os profissionais de TI e de negócios a aprenderem a falar os idiomas altamente especializados uns dos outros.