quinta-feira, 1 de agosto de 2013

Conseguindo mais IRQs

Com raras excepções, todos os dispositivos do computador precisam enviar informações ao processador.

Para isto, cada um precisa de um canal de IRQ, que funciona como uma espécie de campainha, que o dispositivo “toca” para chamar a atenção do processador para si. A má notícia é que qualquer computador PC possui apenas 16 IRQ's disponíveis, 15 na verdade, já que o IRQ 0 é usado pelo sinal de relógio da placa mãe, sem o qual computador nenhum poderia funcionar.

Num PC básico, com modem, placa de som e impressora, as IRQ's disponíveis são suficientes, aliás nestes computadores ainda costumam sobrar um ou dois IRQ's disponíveis. Qualquer conflito de hardware neste caso não surgirá por falta de IRQ's, mas por falta de experiência do usuário que não soube configurar tudo direito.

O problema é que hoje em dia usamos cada vez mais acessórios, como placas de captura de vídeo, placas de rede, placa SCSI, RAID ou ambas, dispositivos USB, o cradle de Palm, ou outros dispositivos que ocupem portas de série, vários discos rígidos, e por aí vai, a lista de diapositivos possíveis é quase ilimitada.

Porém, continuamos com apenas as mesmas 16 (ou 15) IRQ's disponíveis, fazendo com que num PC mais equipado muitas vezes o utilizador se depare com uma falta crónica de endereços IRQ para instalar dispositivos. E, sem um IRQ disponível, nada da nova placa funcionar.


Infelizmente, não é possível instalar mais IRQ's, aliás o XT tinha apenas 8 IRQ's (de 0 a 7), as 16 que temos actualmente surgiram graças a uma quase gambiarra feita a partir do 286, um cascateador de IRQ's, que ocupa a IRQ 2 e permite aceder às IRQ's de 8 a 15, santa ideia.

Se as palavras de ordem hoje em dia são reciclar, economizar, racionar, etc. vamos aprender a racionalizar o uso das IRQ's disponíveis para conseguir conectar todos os periféricos desejados.

Vamos começar montando um PC imaginário bem simples: apenas a placa mãe, memória, processador, disco rígido, disquete, CD-ROM, placa de vídeo, monitor, teclado e rato PS/2.

Mantendo todas as configurações default do Setup (presumindo que seja uma placa mãe razoavelmente actual), e deixando o Windows detectar sozinho todos os dispositivos, sem alterar nada, teremos provavelmente o seguinte cenário:

IRQ 0 - Sinal de relógio da placa mãe (fixo)
IRQ 1 - Teclado (fixo)
IRQ 2 - Cascateador de IRQs (fixo)
IRQ 3 - Porta de série 2
IRQ 4 - Porta de série 1
IRQ 5 - Livre
IRQ 6 - Drive de disquetes
IRQ 7 - Porta paralela (impressora)
IRQ 8 - Relógio do CMOS (fixo)
IRQ 9 - Placa de vídeo
IRQ 10 - Livre
IRQ 11 - Controlador USB
IRQ 12 - Porta PS/2
IRQ 13 - Co-processador aritmético
IRQ 14 - IDE Primária
IRQ 15 - IDE Secundária
 
Lindo, só com a placa de vídeo o nosso PC já está com apenas duas IRQ's livres. Instalando uma placa de som e um modem, ocuparemos ambas, ficando sem um único IRQ disponível.

A partir daqui, para instalar novos dispositivos, teremos que racionalizar os endereços, desactivando dispositivos que não são necessários.

Por exemplo, mantendo a configuração que temos agora (placa mãe, memória, processador, disco rígido, disquete, CD-ROM, placa de vídeo, monitor, teclado, rato PS/2, placa de som e modem) poderíamos desabilitar vários dispositivos que estão ocupando endereços de IRQ:

* Ambas as portas de série : estamos usando um rato PS/2, e por enquanto não temos nada que necessite de uma porta de série.
* Porta paralela : Por enquanto não temos impressora scanner ou qualquer outro dispositivo que use a porta paralela.
* USB : Não temos nenhum periférico USB.

Com apenas uma rápida inspecção, já foi possível livrar quatro endereços que antes estavam ocupados. Todos estes dispositivos podem ser desactivados através do Setup. Caso você não tenha intimidade com ele, poderá encontrar um tutorial sobre a configuração do Setup na área de tutoriais do site.

Vamos então ao próximo problema:
Imagine que agora iremos adicionar a este PC uma placa de rede, uma placa SCSI, impressora, scanner USB e uma placa de captura de vídeo.

Em primeiro lugar, teríamos que reactivar a porta paralela, por causa da impressora, e a porta USB, por causa do scanner. A placa de rede e a placa SCSI consumiriam então os outros dois IRQs que estavam livres. Estaríamos então novamente sem endereços livres, ainda faltando instalar a placa de captura de vídeo.

Neste caso seria preciso usar um pouco de criatividade, existiriam várias opções: o rato, que está ocupando a porta PS/2 poderia ser substituído por um USB, permitindo desactivar a porta PS/2 e livrar o IRQ 12 usado por ela, desactivar a porta do drive de disquetes (ficando sem, ou substituindo-o por um USB), livrando o IRQ 6 ocupado por ela, desactivar a IDE secundária da placa mãe, instalando o CD-ROM como slave do disco rígido (livrando o IRQ 15) e assim por diante.
 
Lembre-se que existem no mercado adaptadores que permitem transformar uma porta USB numa porta paralela, caso usássemos um destes, seria possível desabilitar também a porta paralela.

Fazendo isto, ainda seria possível instalar vários outros periféricos novos, até novamente ficássemos sem endereços de IRQ. Neste caso, provavelmente já estaríamos sem slots PCI ou ISA livres e não poderíamos instalar mais nada de qualquer forma.

in Manual de Hardware Completo
de Carlos E Marimoto

Sem comentários: