O FUNCIONAMENTO DMA BÁSICO
Por: Kleber.Oliveira • 8/11/2018 • 2.923 Palavras (12 Páginas) • 305 Visualizações
...
A velocidade de transferência de dados é determinada pela velocidade do dispositivo de memória ou por um controlador DMA que muitas vezes controla as transferências de DMA. Se a velocidade da memória for 50 ns, as transferências de DMA ocorrem em taxas de até 1/50 ns ou 20 M-bytes por segundo. Se o controlador DMA em um sistema funciona a uma taxa máxima de 15 MHz e ainda usamos 50 ns memória, a taxa de transferência máxima é 15 MHz porque o controlador DMA é mais lento do que a memória. Em muitos casos, o controlador de DMA diminui a velocidade do sistema quando transferências DMA ocorrerem.
[pic 2]
CURIOSIDADE:
Devido ao switch para transferências de dados em série em sistemas de computadores modernos, o DMA está se tornando menos importante. O barramento PCI Express, que é serial, transfere dados a taxas que excedem as transferências DMA. Mesmo a interface SATA (serial ATA) para unidades de disco usa transferências seriais à taxa de 300 Mbps, que substituiu as transferências DMA para unidades de disco rígido. As transferências em série em placas-mãe (motherboards) entre componentes que utilizam técnicas em série podem aproximar-se a 20 Gbps para a conexão PCI Express.
O CONTROLADOR DMA 8237
O controlador DMA 8237 fornece a memória e I / O com sinais de controle e informações de endereço de memória durante a transferência DMA. O 8237 é na verdade um microprocessador de propósito especial cujo trabalho é a transferência de dados de alta velocidade entre a memória ea E / S. A Figura 13-3 mostra o diagrama de pinos e blocos do controlador programável DMA 8237. Embora este dispositivo não apareça como um componente discreto em modernos sistemas baseados em microprocessadores, ele aparece dentro dos conjuntos de chips de controlador do sistema encontrados na maioria dos sistemas. Embora não seja descrito devido à sua complexidade, o conjunto de chips moderno (ISP ou controlador de periféricos integrados) e seu conjunto integrado de dois controladores DMA são programados quase exatamente (não suporta transferências de memória para memória) como o 8237. O ISP Também fornece um par de controladores de interrupção programáveis 8259A para o sistema.
O 8237 é um dispositivo de quatro canais que é compatível com os microprocessadores 8086/8088. O 8237 pode ser expandido para incluir qualquer número de entradas de canal DMA, embora quatro canais parecem ser adequados para muitos sistemas pequenos. O 8237 é capaz de transferências DMA a taxas de até 1,6 M bytes por segundo. Cada canal é capaz de abordar uma seção completa de memória de 64K bytes e pode transferir até 64K bytes com uma única programação.
PINOS
CLK:
A entrada de clock está ligado ao sinal de clock do sistema, enquanto que o sinal é 5 MHz ou menos. No sistema 8086/8088, o clock deve ser invertido para o bom funcionamento do 8237.
CS:
Chip select permite que o 8237 seja programado. O pino CS é normalmente ligado à saída de um decodificador.
RESET:
O pino de reinicialização limpa os registros de comando, status, solicitação e temporários. Também limpa o primeiro / último flip-flop e define o registro de máscara. Esta entrada inicia o 8237 de modo que é desativada até programada de outra forma.
HLDA:
Um reconhecimento de espera sinaliza para o 8237 que o microprocessador abandonou o controlo dos barramentos de endereço, de dados e de controlo.
DREQ0-DREQ3:
As entradas de solicitação DMA são usadas para solicitar uma transferência DMA para cada um dos quatro canais DMA. Como a polaridade dessas entradas é programável, elas são entradas ativas-altas ou ativas-baixas.
DB0-DB7:
Os pinos do barramento de dados são conectados à conexão do barramento de dados do microprocessador.
São utilizadas durante a programação do controlador DMA.
IOR:
I / O read é um pino bidirecional usado durante a programação e durante um ciclo de gravação DMA.
IOW:
A escrita de E / S é um pino bidirecional usado durante a programação e durante um ciclo de leitura de DMA.
EOP:
End-of-process é um sinal bidirecional que é usado como uma entrada para encerrar um processo DMA ou como uma saída para sinalizar o final da transferência DMA. Esta entrada é freqüentemente usada para interromper uma transferência DMA no final de um ciclo DMA.
A0-A3:
Esses pinos de endereço selecionam um registro interno durante a programação e também fornecem parte do endereço de transferência DMA durante uma ação de DMA. Os pinos de endereço são saídas que fornecem parte do endereço de transferência de DMA durante uma ação de DMA.
HRQ:
A solicitação de retenção é uma saída que se conecta à entrada HOLD do microprocessador para solicitar uma transferência DMA.
DACK0-DACK3:
As saídas de reconhecimento de canal DMA reconhecem uma solicitação de DMA de canal. Estas saídas são programáveis como sinais ativos-altos ou ativos-baixos. As saídas DACK são freqüentemente usadas para selecionar o dispositivo de E / S controlado por DMA durante a transferência DMA.[pic 3]
AEN:
O sinal de habilitação de endereço habilita a trava de endereço DMA conectada aos pinos DB7-DB0 no 8237. Também é usada para desabilitar quaisquer buffers no sistema conectado ao microprocessador.
ADSTB:
Funções strobe de endereço como ALE, exceto que ele é usado pelo controlador DMA para travar bits de endereço A15-A8 durante a transferência DMA.
MEMR:
A leitura de memória é uma saída que faz com que a memória leia dados durante um ciclo de leitura de DMA.
MEMW:
A
...