| 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 registadas as diversas mensagens. - Vários dispositivos de accionamento, como alarmes, uma para cada dispositivo, que avisam quando uma nova mensagem foi disposta numa área do quadro negro. Digamos que uma placa fax-modem deseja 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 informação que vai da placa fax-modem até a CPU. 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 necessidade 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. 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) aceda directamente 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 volta-se 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 fracçõ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 DMAAbaixo, disponibilizamos algumas tabelas que contém valores padrão para diversos eventos e dispositivos. a. Tabela 1 - Endereços de I/O utilizados exclusivamente pelo sistema | | Intervalo | Dispositivo | | 000 | - | 01F | 1ª Controladora de canais de DMA | | 020 | - | 03F | 1ª Controladora de IRQ | | 040 | - | 05F | Timer | | 060 | - | 06F | ont color= "#000000 ">Controladora de teclado AT | 070 | - | 07F | Clock do CMOS | | 080 | - | 09F | Registode página de DMA | | 0A0 | - | 0BF | 2ª Controladora de IRQ | | 0C0 | - | 0DF | 2ª Controladora de canais de DMA | | 0F0 | - | 0F1 | Clear e reset do co-processador |
c. Tabela 3 - Interrupções no XT e no AT e superiores | | Interrupções do XT | Contro color= "#000000 " size= "2 ">Interrup. do AT e superiores | | IRQ 0 | Timer (1) | IRQ 0 | Timer (1) | | IRQ 1 | Teclado (1) | IRQ 1 | Teclado (1) | | IRQ 2 | Livre (3) | IRQ 2 | Ligação com IRQ 9 (1) | | IRQ 3 | COM 2 (2) | IRQ 3 | COM 2 / COM 4 (2) | | IRQ 4 | COM 1 (2) | IRQ 4 | COM 1 / COM 3 (2) | | IRQ 5 | HDD (1) | IRQ 5 | LPT 2 (2) | | IRQ 6 | FDD (1) | IRQ 6 | FDD (1) | | IRQ 7 | LPT 1 (2) | IRQ 7 | LPT 1 / LPT 3 (2) | | - | IRQ 8 | Clock (1) | | - | IRQ 9 | Ligação com IRQ 2 (1) | | - | IRQ 10 | Livre (3) | | - | IRQ 11 | Livre (3) | | - | IRQ 12 | Livre (3) | | - | IRQ 13 | Co-processador (1) | | - | IRQ 14 | HDD/CD (1º IDE) (1) | | - | IRQ 15 | HDD/CD (2º IDE) (2) | (1) Interrupções fixas (2) Interrupções livres, caso seus dispositivos sejam desactivados (3) Dispositivos naturalmente livres |
| b. Tabela 2 - Endereços de I/O utilizados pelos periféricos, portas e sistema | | Intervalo | Dispositivo | | 168 | - | 16F | 4ª Controladora de CD-ROM IDE | | 170 | - | 177 | 2ª Controladora de HD e CD-ROM IDE | | 1E8 | - | 1EF | 3ª Controladora de CD-ROM IDE | | 1F0 | - | 1F7 | 1ª Controladora de HD e CD-ROM IDE | | 200 | - | 20F | Interface de joystick | | 278 | - | 27F | LPT - porta paralela para impressora | | 2E8 | - | 2EF | COM 4 - porta serial | | 2F8 | - | 2FF | COM 2 - porta serial | | 300 | - | 31F | Reservado para a CPU | | 360 | - | 36F | Reservado para a CPU | | 370 | - | 377 | 2ª Interface de drives | | 378 | - | 37F | LPT - porta paralela para impressora | | 3B0 | - | 3BF | Placa de vídeo MDA e Hercules ou LPT | | 3C0 | - | 3CF | Placa VGA e SVGA | | 3D0 | - | 3DF | Placa CGA (e VGA) | | 3E8 | - | 3EF | COM 3 - porta serial | | 3F0 | - | 3F7 | 1ª Interface de drives | | 3F8 | - | 3FF | COM 1 - porta serial |
d. Tabela 4 - Canais de DMA no XT e no AT e superiores | | DMA no XT | DMA no AT e superiores | | DMA 0 | Refresh (1) | DMA 0 | Livre (2) | | DMA 1 | Livre (2) | DMA 1 | Livre (2) | | DMA 2 | FDD (1) | DMA 2 | FDD (1) | | DMA 3 | HDD (1) | DMA 3 | Livre (2) | | - | DMA 4 | Extensão DMA 5 a 7 (1) | | - | DMA 5 | Livre (2) | | - | DMA 6 | Livre (2) | | - | DMA 7 | Livre (2) | (1) Interrupções fixas (2) Dispositivos naturalmente livres |
|
3. Sugestões de valores a serem utilizados| Dispositivo | Endereço I/O | IRQ | DMA | Obs | | COM 1 - Placa IDE | 3F8h | 4 | - | | | COM 2 - Placa IDE | 2F8h | 3 | - | (1) | | COM 3 - Placa IDE | 3E8h | 4 | - | (2) | | COM 4 - Placa IDE | 2E8h | 3 | - | (3) | | LPT 1 - Placa IDE | 378h | 7 ou 5 | - | (4) | | LPT 2 - Placa IDE | 278h | 7 ou 5 | - | (4) | | LPT 3 - Placa IDE | 3BCh | 7 ou 5 | - | (4) | | Sound Blaster e compatíveis | 220h | 5 | 1 e 5 ou 0 e 1 | | | Sound Blaster MIDI | 330h | - | - | | | CD-ROM comum (1x e 2x) | 230h | - | - | | | CD-ROM IDE na placa de som | 1E8h | 11 | - | | | CD-ROM IDE na placa-mãe | 1F0h | 14 | - | | | Hand Scanner | 280h | 10 | 3 | | | Fax-Modem | 2F8h | 3 | - | (5) |
Acima 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. Seleccione a pasta Gerenciador de Dispositivos; f. Dê 2 cliques no item Computador (é o primeiro da lista). |