Sie sind auf Seite 1von 6

3/7/2014 Pedido de interrupo (IRQ) - Hardware Manual Completo

http://www.hardware.com.br/livros/hardware-manual/pedido-interrupcao-irq.html 1/6
Pedido de interrupo (IRQ)
Comeando do bsico, os endereos de IRQ so interrupes de hardware, canais que os
dispositivos podem utilizar para chamar a ateno do processador. Apesar de podermos rodar
muitos programas ao mesmo tempo, os processadores so capazes de fazer apenas uma coisa
de cada vez. A multitarefa surge de um chaveamento muito rpido entre os aplicativos abertos,
dando a impresso de que todos realmente esto sendo executados ao mesmo tempo.
Mas, o que fazer quando o processador est ocupado, processando qualquer coisa e voc digita
um caracter do teclado, o modem precisa transmitir dados para o processador, ou qualquer
coisa do gnero? neste ponto que entram os endereos de IRQ. Ao ser avisado atravs de
qualquer um destes canais, o processador imediatamente pra qualquer coisa que esteja
fazendo e d ateno ao dispositivo, voltando ao trabalho logo depois.
Se no fossem pelos endereos de IRQ, o processador no seria capaz de ler as teclas
digitadas no teclado, nem os clicks do mouse, a sua conexo pararia toda vez que abrisse
qualquer programa e assim por diante. Se voc est sentado na cadeira agora, lendo este
texto graas a eles :-)
A m notcia que um mesmo IRQ no pode ser compartilhado entre dois dispositivos e
existem apenas 16 endereos disponveis, que no podem ser expandidos, ou seja, temos que
nos virar com o que temos. (atualmente muitas placas PCI podem compartilhar o mesmo IRQ,
mas na verdade apenas um dispositivo, o controlador PCI usa uma canal de interrupo, como
veremos com detalhes mais adiante)
Mas, veja pelo lado bom, poderia ser pior e na verdade j foi mesmo. Lembra-se do XT?
Aquele dinossauro de 16 bits que foi o av de todos os PCs modernos? Ele tinha apenas 8
endereos de IRQ, numerados de 0 a 7. A explicao simples, o XT usava o processador
8088, que apesar de ser internamente um processador de 16 bits, usava um barramento de
apenas 8 bits para comunicar-se com os perifricos. Com isto, tinha apenas 8 IRQs.
Num XT, os 8 endereos disponveis ficavam geralmente configurados da seguinte forma:
0 - Sinal de clock da placa me
1 - Teclado
2 - Livre
3 - COM 2
4 - COM 1
5 - Disco Rgido
6 - Drive de disquetes
7 - Porta paralela
O nmero do endereo de IRQ indica tambm a sua prioridade, comeando do 0 que o que
tem a prioridade mais alta. No toa que o IRQ 0 ocupado pelo sinal de clock da placa
me, pois ele quem sincroniza o trabalho de todos os componentes, inclusive do processador.
Logo depois vem o teclado, que ocupa o IRQ 1. Veja que o teclado o dispositivo com um nvel
de prioridade mais alto, para evitar que as teclas digitadas se percam. Isso pode parecer
desnecessrio, j que um processador atual processa bilhes de operaes por segundo e
dificilmente algum digita mais do que 300 ou talvez 400 teclas por minuto, mas, na poca do
XT, as coisas no eram assim to rpidas.
Em seguida vm os demais perifricos, como as portas seriais e o drive de disquetes. A IRQ2
ficava livre para a instalao de um perifrico qualquer. Na verdade, na maioria das vezes o 5
tambm ficava livre, pois os HDs no eram algo muito comum naquela poca. Alis, nem
mouse usavam... :-)
Apartir do 286, houve uma evoluo neste esquema, pois finalmente os PCs passaram a ter 16
endereos de IRQ, numerados de 0 a 15, como nos dias de hoje. Como quase todas as
evolues na famlia PC, foi preciso manter compatibilidade com o padro anterior, para que as
placas para XT pudessem funcionar nos PCs 286 em diante.
Assim, resolveram manter o controlador de IRQs original para que tudo continuasse
funcionando da mesma maneira que antes e simplesmente adicionar um segundo controlador
para obter os 8 novos endereos. Este segundo controlador passou a ser ligado no IRQ 2, que
costumava ficar livre. Todos os pedidos de interrupo dos perifricos ligados aos endereos
entre 8 e 15, controlados pelo segundo controlador, passam primeiro pelo IRQ 2, para s
depois chegar ao processador. Isto chamado de cascateamento de IRQs.
3/7/2014 Pedido de interrupo (IRQ) - Hardware Manual Completo
http://www.hardware.com.br/livros/hardware-manual/pedido-interrupcao-irq.html 2/6
D para notar duas coisas neste esquema. Em primeiro lugar que o IRQ 2 no pode mais ser
utilizado por nenhum perifrico. Caso voc jumpeie um modem para usar o IRQ 2, ele ser
remapeado para o IRQ 9. Ou seja, na prtica, no temos 16 endereos de IRQ, mas apenas
15.
Em segundo lugar, como o segundo controlador est ligado ao IRQ 2, todas as placas que
utilizarem os endereos de 8 a 15, tero prioridade sobre as que usarem os IRQs de 3 a 7,
pois, do ponto de vista do processador, esto ligadas ao IRQ 2, que por onde todos os
pedidos chegam a ele:
Num PC atual, os endereos de IRQ, esta a configurao de endereos mais comum:
IRQ 0 - Sinal de clock da placa me (fixo)
IRQ 1 - Teclado (fixo)
IRQ 2 - Cascateador de IRQs (fixo)
IRQ 3 - Porta serial 2
IRQ 4 - Porta serial 1
IRQ 5 - Livre
IRQ 6 - Drive de disquetes
IRQ 7 - Porta paralela (impressora)
IRQ 8 - Relgio do CMOS (fixo)
IRQ 9 - Placa de vdeo
IRQ 10 - Livre
IRQ 11 - Controlador USB
IRQ 12 - Porta PS/2
IRQ 13 - Coprocessador aritmtico
IRQ 14 - IDE Primria
IRQ 15 - IDE Secundria
Veja que com apenas a placa de vdeo e os dispositivos da placa me, j ficamos com apenas dois endereos de
IRQ disponveis. Ao adicionar uma placa de som e um modem, todos os endereos estariam ocupados, no dando
mais margem de expanso para uma placa de rede ou uma placa SCSI por exemplo. A soluo seria desabilitar
dispositivos que no estivessem sendo usados, como por exemplo, a segunda porta serial, a porta PS/2, o
controlador USB, etc. Mas, de qualquer forma, logo chegaria o ponto em que no haveria mais nada a ser
desabilitado.
Este problema comeou a tornar-se cada vez mais evidente, medida que mais e mais perifricos comearam a
tornar-se padro. Os nicos perifricos "de fbrica" em um 286 eram o monitor e o teclado, todo o restante era
opcional. Hoje em dia, raro encontrar um PC venda sem pelo menos placa de som, modem e CD-ROM,
enquanto as placas de rede tambm esto tornando-se cada vez mais comuns. Isso sem falar nas placas de
captura de vdeo, da segunda placa de rede, necessria para compartilhar a conexo de banda larga, etc.
Felizmente, pensaram neste problema quando desenvolveram o barramento PCI, incluindo o recurso de PCI
Steering, que permite que dois, ou mais perifricos PCI compartilhem o mesmo endereo de IRQ. Neste caso, o
controlador PCI passa a atuar como uma ponte entre os perifricos e o processador. Ele recebe todos os pedidos
de interrupo, os encaminha para o processador e, ao receber as respostas, novamente os encaminha para os
dispositivos corretos. Como o controlador o nico diretamente conectado ao processador possvel ocupar
apenas um endereo de IRQ.
Nem todos os dispositivos PCI suportam trabalhar desta maneira, mas a grande maioria funciona sem problemas.
Veja que screenshot abaixo, temos as duas placas de rede e a placa de som compartilhando o IRQ 9:
3/7/2014 Pedido de interrupo (IRQ) - Hardware Manual Completo
http://www.hardware.com.br/livros/hardware-manual/pedido-interrupcao-irq.html 3/6
Alm do barramento PCI, outros barramentos usados atualmente permitem compartilhar um nico IRQ entre
vrios perifricos. O USB um bom exemplo, o controlador ocupa um nico IRQ, que compartilhado entre todas
as portas USB e todos os dispositivos conectados a elas. Mesmo que a sua placa me tenha 6 portas USB e voc
utilize todas, ter ocupado apenas um endereo.
Caso voc utilizasse apenas perifricos USB, mouse, impressora, scanner, etc. poderia desabilitar todas as portas
de legado da sua placa me: as duas seriais, a paralela e a PS/2. Seriam 4 endereos de IRQ livre.
Outro exemplo so as controladoras SCSI, onde possvel conectar at 15 dispositivos, entre HDs, CD-ROMs,
gravadores, etc. em troca de um nico endereo de IRQ.
As portas IDE da placa me consomem dois IRQs, j que temos duas portas. Mas, caso voc tenha apenas um
HD, e no pretenda usar a IDE secundria, sempre existe a possibilidade de desabilit-la no setup. Todas estas
opes aparecem na sesso "Integrated Peripherals".
Com todas estas facilidades, fica fcil ter um sistema com vrios IRQs livres, como no exemplo abaixo:
IRQ 0 - Sinal de clock da placa me (fixo)
IRQ 1 - Teclado (fixo)
IRQ 2 - Cascateador de IRQs (fixo)
IRQ 3 - Livre (serial 2 desativada)
IRQ 4 - Modem
IRQ 5 - Livre
IRQ 6 - Drive de disquetes
IRQ 7 - Livre (porta paralela desativada)
IRQ 8 - Relgio do CMOS (fixo)
IRQ 9 - Placa de som, placa de rede (1), placa de rede (2)
IRQ 10 - Placa de vdeo
IRQ 11 - Controlador USB (Mouse, impressora e scanner)
IRQ 12 - Porta PS/2
IRQ 13 - Coprocessador aritmtico
IRQ 14 - IDE Primria
IRQ 15 - Livre (IDE Secundria desativada)
Todos estes dispositivos e ainda 4 endereos de IRQ livres no soam nada mal. Na verdade, a escassez de
endereos de IRQ um problema muito menor hoje em dia do que j foi no passado. Antigamente era preciso
configurar manualmente o endereo a ser usado por cada placa e no havia como compartilhar um IRQ entre
dois perifricos como temos hoje. Um jumper no lugar errado era o suficiente para o modem ou a placa de som
entrarem em conflito com algum e pararem de funcionar.
Hoje em dia, todas as placas novas so PCI, o que naturalmente significa que so plug and play. Basta espeta-las
para que o BIOS atribua automaticamente um endereo. Usando apenas placas PCI, voc ter conflitos apenas
caso realmente todos os IRQs estejam ocupados.
Mas nem tudo est resolvido. Apesar dos conflitos ao se usar apenas placas PCI sejam rarssimos, ainda esto
em uso muitos PCs antigos com placas ISA. a que as coisas podem complicar um pouco.
Existem dois tipos de placas ISA, as que so plug-and-play e as placas de legado. As primeiras, que comearam
a aparecer ainda na poca do 486, j so configuradas automaticamente pelo BIOS, mas no so capazes de
compartilhar IRQs como as placas PCI. O plug-and-play destas placas ISA no to confivel quanto o das
placas PCI, elas podem entrar em conflito mesmo existindo IRQs livres. Neste caso, voc pode alterar
3/7/2014 Pedido de interrupo (IRQ) - Hardware Manual Completo
http://www.hardware.com.br/livros/hardware-manual/pedido-interrupcao-irq.html 4/6
manualmente o endereo a ser usado pela placa atravs do gerenciador de dispositivos do Windows, basta clicar
sobre o cone do dispositivo, acessar as propriedades e abrir a guia de recursos.
As placas ISA plug-and-play so uma espcie de meio termo. Alm delas existem as placas ISA de legado ou
legacy ISA, onde preciso configurar os endereos de IRQ manualmente, atravs de jumpers, ou ento usando
um software que acompanha a placa (o que muito comum em placas de rede ISA). Uma vez configurada para
usar um endereo, a placa ir entrar em conflito com qualquer dispositivo que tente usa-lo. Para complicar, o
BIOS no enxerga as placas de legado, podendo atribuir o mesmo endereo para alguma placa plug-and-play,
causando o conflito.
Para evitar este problema, preciso reservar manualmente os endereos de IRQ e DMA ocupados por perifricos
ISA de legado atravs da sesso "PNP/PCI Setup" do CMOS Setup. Se, por exemplo, voc tiver um modem
jumpeado para utilizar o IRQ 7 voc deve marca-lo com a opo "Legacy ISA". Na foto abaixo temos a sesso
"PnP/PCI" do Setup de uma placa me com BIOS Award. Veja que cada endereo de IRQ pode ser configurado
separadamente:
A opo defaut no reservar os endereos, deixando-os livres para o uso de qualquer dispositivo PnP; para
reservar um endereo, basta alterar a opo. Lembre-se de reservar apenas os endereos necessrios, pois ao
reservar um endereo ele deixa de estar disponvel para as placas Plug-and-play. Se reservar muitos endereos
voc ter problemas de conflitos mesmo com vrios IRQs livres.
Existe mais um ponto interessante sobre as placas ISA, que o fato de existirem tanto placas ISA de 8 bits,
quanto placas de 16 bits. fcil diferencia-las, pois as placas de 8 bits utilizam apenas a primeira parte do
encaixe. As placas de 8 bits utilizam exatamente o mesmo barramento que era usado no XT, o que significa que
estas placas enxergam apenas os IRQs de 0 a 7. Este o caso por exemplo de muitos modems de 28.8 e 33.6 da
US Robotics. Neste caso no existe muito segredo, caso todos os seus IRQs de 0 a 7 j estejam ocupados, o jeito
ser mudar o endereo de um dos dispositivos, dando lugar ao modem. Voc pode simplesmente reservar no
Setup o endereo que esteja sendo usado por uma placa Plug-and-play que esteja instalada, assim da prxima
vez que iniciar o micro, o BIOS se encarregar de dar outro endereo para ela, deixando o modem em paz.
Note que toda a configurao de endereos feita perlo BIOS armazenado numa rea do CMOS, chamado ESCD.
Caso or exemplo o BIOS no reconhea uma placa recm instalada, mesmo que ela seja plug-and-play e existam
endereos livres, caso ele insista em assinar o mesmo endereo para duas placas que no suportam o PCI
Steering, causando um conflito , ou qualquer outro problema do gnero, existe a opo de limpar o ESCD. Isto
far com que o BIOS precise reconfigurar o endereos de todas as placas, partindo do zero.
Para limpar o ESCD, basta acessar o Setup e ativar a opo "Force Update ESCD" ou "Reset Configuration data".
No se preocupe, pois no ser preciso reinstalar as placas, apenas podem ser alterados os IRQs usados por
algumas.
Conseguindo mais IRQs: Com raras excees, todos os dispositivos do micro precisam enviar informaes ao
processador. Para isto, cada um precisa de um canal de IRQ, que funciona como uma espcie de campainha, que
o dispositivo "toca" para chamar a ateno do processador para s. A m notcia que qualquer micro PC possui
apenas 16 IRQs disponveis, 15 na verdade, j que o IRQ 0 usado pelo sinal de clock da placa me, sem o qual
computador nenhum poderia funcionar.
Num PC bsico, com modem, placa de som e impressora, as IRQs disponveis so suficientes, alis nestes micros
ainda costumam sobrar um ou dois IRQs disponveis. Qualquer conflito de hardware neste caso no surgir por
falta de IRQs, mas por falta de experincia do usurio que no soube configurar tudo direito.
3/7/2014 Pedido de interrupo (IRQ) - Hardware Manual Completo
http://www.hardware.com.br/livros/hardware-manual/pedido-interrupcao-irq.html 5/6
O problema que hoje em dia usamos cada vez mais acessrios, como placas de captura de vdeo, placas de
rede, placa SCSI, RAID ou ambas, dispositivos USB, o cradle de Palm, ou outros dispositivos que ocupem portas
seriais, vrios HDs, e por a vai, a lista de diapositivos possveis quase ilimitada.
Porm, continuamos com apenas as mesmas 16 (ou 15) IRQs disponveis, fazendo com que num PC mais
equipado muitas vezes o usurio se depare com uma falta crnica de endereos IRQ para instalar dispositivos. E,
sem um IRQ disponvel, nada da nova placa funcionar.
Infelizmente, no possvel instalar mais IRQs, alis o XT tinha apenas 8 IRQs (de 0 a 7), as 16 que temos
atualmente surgiram graas a uma quase gambiarra feita apartir do 286, um cascateador de IRQs, que ocupa a
IRQ 2 e permite acessar as IRQs de 8 a 15, santa idia :-)
Se as palavras de ordem hoje em dia so reciclar, economizar, racionar, etc. vamos aprender a racionalizar o
uso das IRQs disponveis para conseguir conectar todos os perifricos desejados.
Vamos comear montando um PC imaginrio bem simples: apenas a placa me, memria, processador, HD,
disquete, CD-ROM, placa de vdeo, monitor, teclado e mouse PS/2.
Mantendo todas as configuraes defaut do Setup (presumindo que seja uma placa me razoavelmente atual),e
deixando o Windows detectar sozinho todos os dispositivos, sem alterar nada, teremos provavelmente o seguinte
cenrio:
IRQ 0 - Sinal de clock da placa me (fixo)
IRQ 1 - Teclado (fixo)
IRQ 2 - Cascateador de IRQs (fixo)
IRQ 3 - Porta serial 2
IRQ 4 - Porta serial 1
IRQ 5 - Livre
IRQ 6 - Drive de disquetes
IRQ 7 - Porta paralela (impressora)
IRQ 8 - Relgio do CMOS (fixo)
IRQ 9 - Placa de vdeo
IRQ 10 - Livre
IRQ 11 - Controlador USB
IRQ 12 - Porta PS/2
IRQ 13 - Coprocessador aritmtico
IRQ 14 - IDE Primria
IRQ 15 - IDE Secundria
S com a placa de vdeo o nosso PC j est com apenas duas IRQs livres. Instalando uma placa de som e um
modem, ocuparemos ambas, ficando sem um nico IRQ disponvel. Apartir daqui, para instalar novos dispositivos,
teremos que racionalizar os endereos, desativando dispositivos que no so necessrios.
Por exemplo, mantendo a configurao que temos agora (placa me, memria, processador, HD, disquete, CD-
ROM, placa de vdeo, monitor, teclado, mouse PS/2, placa de som e modem) poderamos desabilitar vrios
dispositivos que esto ocupando endereos de IRQ:
* Ambas as portas serias : estamos usando um mouse PS/2, e por enquanto no temos nada que necessite de
uma porta serial.
* Porta paralela : Por enquanto no temos impressora scanner ou qualquer outro dispositivo que use a porta
paralela
* USB : No temos nenhum perifrico USB
Com apenas uma rpida inspeo, j foi possvel livrar quatro endereos que antes estavam ocupados. Todos
estes dispositivos podem ser desativados atravs do Setup. Caso voc no tenha intimidade com ele, poder
encontrar um tutorial sobre a configurao do Setup na rea de tutoriais do site.
Vamos ento ao prximo 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 vdeo.
Em primeiro lugar, teramos que reativar a porta paralela, por causa da impressora, e a porta USB, por causa do
scanner. A placa de rede e a placa SCSI consumiriam ento os outros dois IRQs que estavam livres. Estaramos
ento novamente sem endereos livres, ainda faltando instalar a placa de captura de vdeo.
3/7/2014 Pedido de interrupo (IRQ) - Hardware Manual Completo
http://www.hardware.com.br/livros/hardware-manual/pedido-interrupcao-irq.html 6/6
Neste caso seria preciso usar um pouco de criatividade, existiriam vrias opes: o mouse, que est ocupando a
porta PS/2 poderia ser substitudo por um USB, permitindo desativar a porta PS/2 e livrar o IRQ 12 usado por ela,
desativar a porta do drive de disquetes (ficando sem, ou substituindo-o por um USB), livrando o IRQ 6 ocupado
por ela, desativar a IDE secundria da placa me, instalando o CD-ROM como slave do HD (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 usssemos um destes, seria possvel desabilitar tambm a porta paralela.
Fazendo isto, ainda seria possvel instalar vrios outros perifricos novos, at novamente ficssemos sem
endereos de IRQ. Neste caso, provavelmente j estaramos sem slots PCI ou ISA livres e no poderamos
instalar mais nada de qualquer forma :-)
PCI IRQ Activated By: Com certeza voc j deve ter ouvido dizer que em alguns casos duas ou mais placas
PCI podem compartilhar o mesmo endereo de IRQ, mas caso esteja em dvida sobre o por que disco acontecer
em alguns micros e em outros no, esta opo do Setup, encontrada na sesso "PCI/Plug and Play Setup" de
muitas placas me pode ser a resposta.
Apesar de desde as suas primeiras verses o barramento PCI permitir o compartilhamento de IRQs, os primeiros
perifricos PCI no eram compatveis com, o recurso. Por outro lado, quase todos os perifricos PCI atuais o so.
Esta opo possui duas alternativas, "Edge" e "Level". Caso voc esteja configurando o Setup de um micro
antigo, montado a 2 ou 3 anos, ento o recomendvel manter a opo em Edge, pois provavelmente o PC ter
placas PCI incompatveis com o recurso. Edge desativa o compartilhamento de IRQs, o que ir evitar problemas.
Porm, caso voc esteja configurando um PC atual escolha a opo Level, que habilita o compartilhamento de
IRQs.

Das könnte Ihnen auch gefallen