Escolar Documentos
Profissional Documentos
Cultura Documentos
O termo DMA um acrnimo para a expresso em ingls Direct memory access. O DMA permite que certos dispositivos de hardware num computador acedam a memria do sistema para leitura e escrita independentemente da CPU. Muitos sistemas utilizam DMA, incluindo controladores de disco, placas grficas, de rede ou de som.O acesso direto da memria usado igualmente para transferncia de dados de ncleos em processadores multicore, em especial nos sistema-em-microplaquetas do processador, onde seu elemento de processamento equipado com uma memria local ,e o acesso direto da memria usado para transferir dados entre a memria local e a memria principal. Os computadores que tm os canais de acesso direto a memria podem transferir dados aos dispositivos com muito menos perdas gerais de processamento do que computadores sem uma via de acesso direto memria. Similarmente um elemento de processamento dentro de um processador multi-core pode transferir dados para e de sua memria local sem ocupar seu tempo de processamento e permitir a simultaneidade de transferncia de dados. Sem acesso direto da memria, usando a modalidade programada de entrada/sada (E/S) para uma comunicao com os dispositivos perifricos, ou as instrues da troca no caso dos ncleos multi-core, o processador central ocupado inteiramente para a leitura ou escrita da operao, e assim no se torna possvel executar o outro afazer. Com acesso direto da memria, o processador central executa transferncias, faz outras operaes enquanto alguma transferncia estiver em andamento, recebe uma interrupo do controlador de acesso direto da memria uma vez que a operao foi feita.
Princpio
O DMA uma caracterstica essencial dos computadores modernos. Normalmente o nico componente que acessa a memria RAM da mquina o processador. O recurso DMA permite que outros componentes tambm acessem a memria RAM diretamente, como discos rgidos, o que aumenta o desempenho na transferncia de grande quantidade de dados. De outra maneira, a CPU teria que copiar todos os dados da fonte at o destino. Isto tipicamente mais lento do que copiar blocos de dados dentro da memria, j que o acesso a dispositivo de I/O atravs de barramentos perifricos mais lento que a RAM. Durante a cpia dos dados a CPU ficaria indisponvel para outras tarefas. Uma transferncia por DMA essencialmente copia um bloco de memria de um dispositivo para outro. A CPU inicia a transferncia, mas no executa a transferncia. Para os chamados third party DMA, como utilizado normalmente nos barramentos ISA, a transferncia realizada pelos controladores DMA que so tipicamente parte do chipset da placa me. Projetos mais avanados de barramento, como o PCI, tipicamente utilizam bus-mastering DMA, onde o dispositivo toma o controle do barramento e realiza a transferncia de forma independente. Um uso tpico do DMA ocorre na cpia de blocos de memria da RAM do sistema para um buffer de dispositivo. Estas operaes no bloqueiam o processador que fica livre para realizar outras tarefas. Transferncias DMA so essenciais para sistemas embarcados de alto desempenho. Tambm fundamental na implementao de drivers de perifricos, roteamento de pacotes de rede, execuo de udio e vdeo por streaming Existem 8 portas de DMA e, como acontece com os
pedidos de interrupo, dois dispositivos no podem compartilhar o mesmo canal DMA, caso contrrio haver um conflito. Os 8 canais DMA so numerados de 0 a 7, sendo nos canais de 0 a 3 a transferncia de dados feita a 8 bits e nos demais a 16 bits. O uso de palavras binrias de 8 bits pelos primeiros 4 canais de DMA visa manter compatibilidade com perifricos mais antigos. Justamente por serem muito lentos, os canais de DMA so utilizados apenas por perifricos lentos, como drives de disquete, placas de som e portas paralelas padro ECP. Perifricos mais rpidos, como discos rgidos, utilizam o Bus Mastering, uma espcie de DMA melhorado. O Canal 2 de DMA nativamente usado pela controladora de disquetes. Uma placa de som geralmente precisa de dois canais de DMA, um de 8 e outro de 16 bits, usando geralmente o DMA 1 e 5. O DMA 4 reservado placa me. Ficamos ento com os canais 3, 6 e 7 livres. Caso a porta paralela do micro seja configurada no Setup para operar em modo ECP, precisar tambm de um DMA, podemos ento configur-la para usar o canal 3,