quarta-feira, 2 de maio de 2012

Gestão de memória e o DMA


A gestão da memória é um compromisso entre os desempenhos, ou seja, o tempo de acesso, e a quantidade, o espaço disponível. É desejado ter o máximo de memória disponível, mas deseja-se raramente que isto se faça em detrimento dos desempenhos.



A gestão da memória deve desempenhar as seguintes funções:

  • permitir a partilha da memória (para um sistema multi-tarefas);
  • permitir atribuir blocos de memória às diferentes tarefas;
  • proteger os espaços de memória utilizados (impedir, por exemplo, um utilizador de alterar uma tarefa executada por um outro utilizador);
  • otimizar a quantidade de memória disponível, nomeadamente por mecanismos de extensão da 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 a sua forma mais simples, está relacionada em duas tarefas essenciais:

  • Alocação: Quando o programa requisita um bloco de memória, o gestor disponibiliza-o 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 é libertado e pode ser reutilizado para outra requisição.


DMA (Direct Memory Access)




O DMA permite que os periféricos acessem diretamente a memória RAM, sem ocupar o processador.
Os canais de DMA são utilizados apenas por dispositivos de transmissão (portas ISA, portas paralelas e drives de disquete) para transferir dados diretamente para a memória RAM, reduzindo dessa forma a utilização do processador.
Existem 8 canais de DMA, numerados de 0 a 7. Os canais de 0 a 3 pertencem ao PC original e trabalham a 8 bits, assim como o barramento externo no processador 8080. Os canais de 4 a 7 foram introduzidos com o 286 e, acompanhando o barramento de dados do processador, são canais de 16 bits. Os canais de DMA são relacionados ao barramento ISA e, justamente por isso, nunca foram introduzidos canais de 32 bits. Em vez disso, o barramento PCI (seguido pelos demais barramentos modernos) trouxe o Bus Mastering, um sistema muito mais eficiente e mais rápido.






Sem comentários:

Enviar um comentário