Direct Memory Access (DMA)

Direct Memory Access (DMA) é uma capacidade fornecida por algumas arquiteturas de barramento de computador que permite que os dados sejam enviados diretamente de um dispositivo conectado (como uma unidade de disco) para a memória na placa-mãe do computador. O microprocessador é liberado do envolvimento com a transferência de dados, acelerando assim a operação geral do computador.

Usualmente uma parte especificada da memória é designada como uma área a ser usada para o acesso direto à memória. No padrão de barramento ISA, até 16 megabytes de memória podem ser endereçados para DMA. Os padrões EISA e Micro Channel Architecture permitem o acesso a toda a gama de endereços de memória (assumindo que são endereçáveis com 32 bits). O Peripheral Component Interconnect realiza o DMA utilizando um bus master (com o microprocessador "delegando" o controle de E/S ao controlador PCI).

Uma alternativa ao DMA é a interface Programmed Input/Output (PIO) na qual todos os dados transmitidos entre dispositivos passam pelo processador. Um protocolo mais recente para a interface ATA/IDE é o Ultra DMA, que fornece uma taxa de transferência de dados de até 33 MB (megabytes) por segundo. Os discos rígidos que vêm com Ultra DMA/33 também suportam modos PIO 1, 3 e 4, e modo DMA multipalavras 2 (a 16,6 megabytes por segundo).