terça-feira, 8 de maio de 2012

Gestão de memória e o DMA

Gestão de memória:
Gestão de memória é um complexo campo da ciência da computação e são constantemente desenvolvidas várias técnicas para torná-la mais eficiente. Em sua forma mais simples, está relacionado em duas tarefas essenciais:

  • Alocação: Quando o programa requisita um bloco de memória, o gestor o disponibiliza para a alocação; 
  • Reciclagem: Quando um bloco de memória foi alocado, mas os dados não foram requisitados por um determinado número de ciclos ou não há nenhum tipo de referência a este bloco pelo programa, esse bloco é liberado e pode ser reutilizado para outra requisição.

DMA:
O termo DMA é um acrónimo para a expressão em inglês Direct memory access. O DMA permite que certos dispositivos de hardware num computador acessem a memória do sistema para leitura e escrita independentemente da CPU. Muitos sistemas utilizam DMA, incluindo controladores de disco, placas gráficas, de rede ou de som.O acesso direto da memória é usado igualmente para transferência de dados de núcleos em processadores multi-core, em especial nos sistema-em-microplaquetas do processador, onde seu elemento de processamento é equipado com uma memória local ,e o acesso direto da memória é usado para transferir dados entre a memória local e a memória principal. Os computadores que têm os canais de acesso direto à memória podem transferir dados aos dispositivos com muito menos perdas gerais de processamento do que computadores sem uma via de acesso direto à memória. Similarmente um elemento de processamento dentro de um processador multi-core pode transferir dados para e de sua memória local sem ocupar seu tempo de processamento e permitir a simultaneidade de transferência de dados. Sem acesso direto da memória, usando a modalidade programada de entrada/saída (E/S) para uma comunicação com os dispositivos periféricos, ou as instruções da troca no caso dos núcleos multi-core, o processador central é ocupado inteiramente para a leitura ou escrita da operação, e assim não se torna possível executar o outro afazer. Com acesso direto da memória, o processador central executa transferências, faz outras operações enquanto alguma transferência estiver em andamento, recebe uma interrupção do controlador de acesso direto da memória uma vez que a operação foi feita.



Bus mastering:
Na informática, bus mastering é um recurso suportado por algumas arquiteturas de barramento, que permitem que um controlador - principalmente discos rígidos, unidades de CD-ROM e DVD-ROM, conectado a interface IDE ou SATA - se comunique diretamente com outro dispositivo, ou seja, a memória. Quem monitora essa operação não será o processador, e sim o chipset da placa mãe, ou seja, um conjunto de circuitos de apoio à placa mãe. As arquiteturas de barramentos modernas, incluindo PCI, suportam o bus mastering devido ao seu significante ganho de performance e atualmente quase todas as placa mães modernas suportam bus mastering.


Sem comentários:

Enviar um comentário