No modelo DMA, durante a operação de E/S o DMAC assume o controle do barramento e passa a ter acesso direto à memória, sem qualquer suporte ou intervenção por parte da CPU. Outro ponto positivo é o fato de que apenas uma interrupção é gerada, ao final do processo ou na ocorrência de algum tipo de erro, independentemente do tipo de operação de E/S. No modelo por interrupções, uma nova interrupção é gerada a cada evento de E/S.

Imagine, por exemplo, que um determinado processo solicita a impressão de um documento com 50 linhas, sendo que cada linha tem 40 caracteres. Com o uso do modelo de interrupções, uma nova interrupção seria gerada para cada novo caractere, o que demandaria um total de 2000 interrupções para que o processo de impressão fosse completado. Já no modelo DMA, apenas uma interrupção seria gerada, após a impressão do último caractere. O desenho esquemático do funcionamento do modelo DMA é abaixo.

Copyright © 2014 AIEC.