![]() |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Curso de hardware: AVANÇADO I1. Endereços de I/O, Interrupções de Hardware e Canais de DMA Considero que este seja o item mais importante para o perfeito funcionamento do sistema. Os endereços de I/O, as interrupções de hardware e os canais de DMA são responsáveis pela comunicação entre as diversas placas e periféricos com o processador e a memória. Vamos ver, resumidamente, como tudo isso funciona. A comunicação entre a CPU e os periféricos é feita utilizando-se os seguintes artifícios: - Uma área de escrita e leitura, a exemplo de um quadro negro, com diversas divisões, uma para cada dispositivo, onde são registradas as diversas mensagens. - Vários dispositivos de acionamento, como campanhias, uma para cada dispositivo, que avisam quando uma nova mensagem foi disposta numa área do quadro negro. Digamos que uma placa fax-modem deseja se comunicar com a CPU. Para isso, ela irá até o quadro negro e escreverá a mensagem para a CPU. Essa mensagem será escrita na área destinada à placa fax-modem. Feito isto, será necessário que a placa fax-modem avise à CPU que há uma mensagem para ela. Nesse momento, a CPU deverá o interromper o seu processamento para verificar o conteúdo do quadro negro. Como fazer isso ? Tocando a campanhia que vai da placa fax-modem até a CPU. Entendeu ? No exemplo acima, aplicamos os conceitos de endereços de I/O e interrupções de hardware. Endereços de I/O (Input/Output = entrada/saída) representam uma área da memória RAM destinada à troca de informações entre periféricos e CPU. Essa área consiste no primeiro KB da memória RAM, ou seja, os primeiros 1024 bytes do sistema. Esses 1024 KB encontram-se divididos em áreas de 8 bytes, num total de 128 áreas. Cada placa ocupa uma área diferente, sendo que algumas, por necesidade de realizarem troca de 16, 24 ou 32 informações ao mesmo tempo, ocupam 2, 3 ou 4 áreas de uma só vez, num total de 16, 24 ou 32 bytes. Trocando em miúdos, cada byte representa uma informação diferente. Agora, o mais importante: CADA ÁREA OU CONJUNTO DE 2, 3 OU 4 ÁREAS SÓ PODE SER OCUPADO POR UM ÚNICO DISPOSITIVO. O não cumprimento dessa regra é um dos responsáveis por conflitos no sistema. Interrupções de hardware (IRQ ou Interrupt Request Lines ou Linhas de Requisição de Interrupção) representam um artifício que os periféricos utilizam para forçar a CPU a interromper o seu processamento normal e verificar as informações enviadas para ela por intermédio dos endereços de I/O. Nos XT existem 8 linhas de interrupção (como 8 campanhias disponíveis). Nos AT e Pentium são 16 interrupções. Agora, o mais importante: a exemplo dos endereços de I/O, CADA INTERRUPÇÃO DE HARDWARE SÓ PODE SER OCUPADA POR UM ÚNICO DISPOSITIVO. O não cumprimento dessa regra também é um dos responsáveis por conflitos no sistema. E os tais canais de DMA ? Canais de DMA (Direct Memory Access ou Acesso Direto à Memória) permitem que um periférico (geralmente os rápidos) acesse diretamente a memória sem a interferência da CPU. Os canais de DMA geralmente são utilizados para operações de disco, disquete e multimídia. Cabe ressaltar que como a CPU executa uma troca dinâmica com a memória (veja em Básico I), sempre que o artifício dos canais de DMA é utilizado a memória se volta exclusivamente para o periférico em questão e a CPU pára o seu processamento até que a operação acabe. Mas não se preocupe; são frações de segundos. Basta dizer que a sua placa de som está constantemente executando operações com canais de DMA. Agora (mais uma vez), o mais importante: a exemplo dos endereços de I/O e das Interrupções de Hardware, CADA CANAL DE DMA SÓ PODE SER OCUPADO POR UM ÚNICO DISPOSITIVO. O não cumprimento dessa regra também é um dos responsáveis por conflitos no sistema. Existem 4 canais de DMA nos XT e 8 nos AT e Pentium. Apenas como curiosidade, os canais de DMA utilizam duas linhas de comunicação. Uma, a DRQ, solicita a operação e a outra, a DACK, confirma a operação. Se solicitados, os valores da DRQ e da DACK devem ser os mesmos da DMA. 2. Tabelas de Endereços de I/O, IRQ e DMA Abaixo, disponibilizamos algumas tabelas que contém valores padrão para diversos eventos e dispositivos.
3. Sugestões de valores a serem utilizados
Á direita vemos um quadro de sugestões de valores a serem utilizados com os principais dispositivos de um sistema. Lembre-se que os valores abaixo, apesar de serem um padrão recomendado, podem sofrer variações.
4. Identificando os valores utilizados pelo Windows Para verificar os valores utilizados pelo Windows, faça o seguinte: a. Clique em Iniciar; b. Clique em Configurações; c. Clique em Painel de Controle; d. Dê 2 cliques em Sistema; e. Selecione a pasta Gerenciador de Dispositivos; f. Dê 2 cliques no item Computador (é o primeiro da lista). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
voltar | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||