Dicas Vas-y.com
Referenciamento gratuito de sites LusofonosEnvie este site a um amigoForum reservado a membrosRegista-se como membro
Forum dicas

Curso de hardware: AVANÇADO I

1. 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.

ont color= "#000000 ">Controladora de teclado AT
a. Tabela 1 - Endereços de I/O utilizados exclusivamente pelo sistema
IntervaloDispositivo
000-01F1ª Controladora de canais de DMA
020-03F1ª Controladora de IRQ
040-05FTimer
060-06F
070-07FClock do CMOS
080-09FRegistro de página de DMA
0A0-0BF2ª Controladora de IRQ
0C0-0DF2ª Controladora de canais de DMA
0F0-0F1Clear e reset do co-processador

1) Interrupções fixas
(2) Interrupções livres, caso seus dispositivos sejam desactivados
(3) Dispositivos naturalmente livres

c. Tabela 3 - Interrupções no XT e no AT e superiores
Interrupções do XTContro color= "#000000 " size= "2 ">Interrup. do AT e superiores
IRQ 0Timer (1)IRQ 0Timer (1)
IRQ 1Teclado (1)IRQ 1Teclado (1)
IRQ 2Livre (3)IRQ 2Ligação com IRQ 9 (1)
IRQ 3COM 2 (2)IRQ 3COM 2 / COM 4 (2)
IRQ 4COM 1 (2)IRQ 4COM 1 / COM 3 (2)
IRQ 5HDD (1)IRQ 5LPT 2 (2)
IRQ 6FDD (1)IRQ 6FDD (1)
IRQ 7LPT 1 (2)IRQ 7LPT 1 / LPT 3 (2)
-IRQ 8Clock (1)
-IRQ 9Ligação com IRQ 2 (1)
-IRQ 10Livre (3)
-IRQ 11Livre (3)
-IRQ 12Livre (3)
-IRQ 13Co-processador (1)
-IRQ 14HDD/CD (1º IDE) (1)
-IRQ 15HDD/CD (2º IDE) (2)
b. Tabela 2 - Endereços de I/O utilizados
pelos periféricos, portas e sistema
IntervaloDispositivo
168-16F4ª Controladora de CD-ROM IDE
170-1772ª Controladora de HD e CD-ROM IDE
1E8-1EF3ª Controladora de CD-ROM IDE
1F0-1F71ª Controladora de HD e CD-ROM IDE
200-20FInterface de joystick
278-27FLPT - porta paralela para impressora
2E8-2EFCOM 4 - porta serial
2F8-2FFCOM 2 - porta serial
300-31FReservado para a CPU
360-36FReservado para a CPU
370-3772ª Interface de drives
378-37FLPT - porta paralela para impressora
3B0-3BFPlaca de vídeo MDA e Hercules ou LPT
3C0-3CFPlaca VGA e SVGA
3D0-3DFPlaca CGA (e VGA)
3E8-3EFCOM 3 - porta serial
3F0-3F71ª Interface de drives
3F8-3FFCOM 1 - porta serial

(1) Interrupções fixas
(2) Dispositivos naturalmente livres

d. Tabela 4 - Canais de DMA no XT e no AT e superiores
DMA no XTDMA no AT e superiores
DMA 0Refresh (1)DMA 0Livre (2)
DMA 1Livre (2)DMA 1Livre (2)
DMA 2FDD (1)DMA 2FDD (1)
DMA 3HDD (1)DMA 3Livre (2)
-DMA 4Extensão DMA 5 a 7 (1)
-DMA 5Livre (2)
-DMA 6Livre (2)
-DMA 7Livre (2)

3. Sugestões de valores a serem utilizados

DispositivoEndereço I/OIRQDMA Obs
COM 1 - Placa IDE3F8h 4-
COM 2 - Placa IDE2F8h3-(1)
COM 3 - Placa IDE 3E8h4-(2)
COM 4 - Placa IDE2E8h3-(3)
LPT 1 - Placa IDE378h7 ou 5-(4)
LPT 2 - Placa IDE 278h7 ou 5-(4)
LPT 3 - Placa IDE3BCh7 ou 5 -(4)
Sound Blaster e compatíveis220h51 e 5 ou 0 e 1
Sound Blaster MIDI 330h--
CD-ROM comum (1x e 2x) 230h--
CD-ROM IDE na placa de som1E8h11-
CD-ROM IDE na placa-mãe1F0h14-
Hand Scanner280h103
Fax-Modem2F8h3-(5)

Á 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.

(1) A porta serial COM 2 é utilizada para modem externo, plotter e impressora serial. Levando-se em conta que pouquíssimos usuários possuem algum desses equipamentos, essa porta pode ficar desabilitada. Se você estiver utilizando uma placa fax-modem, deve obrigatoriamente desabilitar a COM 2, em virtude da referida placa gerar uma porta COM 2.

(2) A porta COM 3 só poderá existir se não existir a COM 1.

(3) A porta COM 4 só poderá existir se não existir a COM 2 ou placa fax-modem.

(4) Todas essas portas paralelas admitem os endereços 378h, 278h e 3BCh.

(5) Só poderá existir se a COM 2 estiver desabilitada.

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