DMA - Marcos Santana - DMA é o acrônimo de Direct Memory Access (Acesso Direto à Memória). DMA é um PDF

Title DMA - Marcos Santana - DMA é o acrônimo de Direct Memory Access (Acesso Direto à Memória). DMA é um
Author Leandro Sanches Silva
Course Arquitetura e Organização de Computadores
Institution Universidade do Estado de Santa Catarina
Pages 2
File Size 57.8 KB
File Type PDF
Total Downloads 14
Total Views 115

Summary

DMA é o acrônimo de Direct Memory Access (Acesso Direto à Memória). DMA é um mecanismo que permite com que um controlador leia ou escreva dados de ou para a memória sem a intervenção do processador....


Description

DMA – Direct memory access Aluno: Marcos de Carvalho Isidio Santana

O conceito de DMA (Acesso Direto à memória) foi criado para permitir que dispositivos de hardware num computador possam acessar diretamente a memória, assim permitindo com que alguns processos da CPU possam ser agilizados. Porque isso é importante? É uma pergunta complexa que exige alguns conceitos bem entendidos. A CPU, possui um funcionamento que depende de diversos componentes diferentes para realizar instruções. As instruções, quando realizadas em sequência necessitam ser otimizadas através do que é chamado de pipeline. Esse processo, busca otimizar as instruções de uma maneira que não seja perdido tempo entre uma operação e outra, buscando garantir o maior uso do hardware, no menor tempo possível. Esse pipeline otimiza o acesso a memória e garante que duas instruções não possam acessar a memória ao mesmo tempo, ou acesse a memória em um momento em que o dado a ser utilizado ainda não esteja pronto para determinada instrução. Ao estudar mais o conhecimento da CPU, verificamos que diversos problemas são gerados pelo pipeline, problemas menos importantes que o benefício que ele nos traz e, portanto, eles devem ser contornados. O pipeline trabalha especificamente com instruções, não individuais, mas sim com um conjunto de delas. Algumas operações, como branches e jumps são difíceis de ser tratadas no pipeline, visto que seu resultado não é sempre o mesmo. O que ocasiona uma perda na eficiência do processamento. Outros eventos que a CPU necessita tratar são as Exceções e Interrupções. As exceções são eventos inesperados que ocorrem dentro do processador, já as interrupções são externas ao processamento como por exemplo a utilização de dispositivos de E/S como mouses, teclados, ou então eventos gerados pelo sistema operacional. Essas interrupções, são muitas vezes comuns e necessitam ser utilizadas quase que durante toda a utilização da CPU. Por exemplo em um computador convencional, ao apertar uma tecla, é gerado uma interrupção para que o apertar deste botão possa ser interpretado pela CPU. A troca de informações entre diferentes núcleos de processamento, também é um processo que é custoso de ser feito para a CPU. Com o acesso direto à memória, é possível que certos dispositivos acessem diretamente a memória do computador, sem que exista necessidade de o processo requisitar o processamento da CPU. Ele faz a transferência dos dados necessários enquanto outras instruções estão sendo executadas. Ou seja, um processo que tiraria a eficiência da CPU, necessitaria de uma lógica adicional no hardware, pode ser feito de maneira mais rápida e sem afetar diretamente o processamento da máquina (não necessita entrar no pipeline). Facilita e muito a troca de informação entre diferentes núcleos e dispositivos conectados no computador, principalmente aqueles que são utilizados com muita frequência. Podemos dizer que o DMA apesar de não afetar diretamente o processamento das informações, ele evita que algumas informações necessitem ser processadas, dessa forma reduz o tempo de processamento tendo assim um efeito indireto no funcionamento da CPU, mas que traz benefícios incríveis. Um conceito um pouco difícil de compreender para aqueles que não entendem o funcionamento da CPU como um todo.

Para realizar o DMA, o hardware exige um recurso controlador dele que é chamado de DMAC. Esse controlador trabalho em 3 passos. Passo 1: O processador ativa o DMAC, informa a identidade do dispositivo precisa ser acessado, a operação a ser realizada, o endereço que é a fonte ou o destino dos dados, e o número de bytes a ser transferido. Passo 2: Escolhe o barramento no qual será transferido a informação. Quando os dados estão prontos, eles os transfere e fornece o endereço de memória para escrever ou ler. Logo após gera o endereço de memória e inicia a próxima transferência. Passo 3: Assim que é finalizado a transferência sobre o controle do DMAC, ele interrompe o processador, que então verifica se tudo foi feito com sucesso. Após isso o processador retoma o controle do barramento no qual ocorria a transferência e o DMAC fica totalmente disponível para mais uma transferência. O texto escrito foi feito com minha compreensão sobre o assunto e pode conter alguns erros. Utilizei do wikpédia como fonte para a escrita e também de slides disponíveis neste link: https://www.passeidireto.com/arquivo/2377497/slides-perfeitos-do-livro-aoc-2-aula-22 e os slides disponibilizados pelo professor....


Similar Free PDFs