Interrupções materiais (IRQ) e conflitos

Abril 2015

Noção de interrupção

Dado que o processador não pode tratar várias informações simultaneamente (trata uma informação de cada vez), um programa em execução pode, graças a uma interrupção, ser temporariamente suspendido, durante o tempo em que se executa uma rotina de interrupção. O programa interrompido pode seguidamente retomar a sua execução. Existem 256 endereços de interrupção diferentes.

Uma interrupção torna-se uma interrupção material quando é pedida por um componente material do computador. Com efeito, existem no computador numerosos periféricos. Estes têm geralmente necessidade de utilizar os recursos do sistema, nem que seja só para comunicar com ele.

Quando um periférico deseja aceder a um recurso, envia um pedido de interrupção ao processador para que lhe preste atenção. Assim, os periféricos têm um número de interrupção, que se chama IRQ (Interruption ReQuest, seja “pedido de interrupção”). Metaforicamente, cada periférico puxa “um cordão” ligado a um sino para avisar o computador que quer que lhe prestem atenção.

Este “cordão” é, com efeito, uma linha física que liga cada conector de extensão, bem como cada interface de entrada/saída, à placa mãe.Para uma posição ISA de 8 bits, por exemplo, existem 8 linhas IRQ que ligam os slots ISA 8 bits à placa- mãe (IRQ0 à IRQ7). Estes IRQ são controlados por um “controlador de interrupção” encarregado de “dar a palavra” ao IRQ que tem mais prioridade.

Com o aparecimento de slots 16 bits, os IRQ 8 a 15 foram acrescentados, por conseguinte foi necessário acrescentar um segundo controlador de interrupção. A ligação entre os dois grupos de interrupções faz-se através do IRQ 2 ligar ao IRQ 9 (chamado “cascata”). A cascata vem então em certa medida “inserir” os IRQ 8 a 15 entre os IRQ 1 e 3:

IRQ2 - Cascade



Sendo a prioridade dada por ordem de IRQ crescente, e os IRQ 8 a 15 inseridos entre os IRQ 1 e 3, a ordem de prioridade é por conseguinte a seguinte :

0 > 1 > 8 > 9 > 10 > 11 > 12 > 13 > 14 > 15 > 3 > 4 > 5 > 6 > 7

DMA

Os periféricos têm regularmente necessidade de “emprestar memória” ao sistema a fim de se servir como zona de tampão (em inglês buffer), ou seja uma zona de armazenamento temporária que permite registar rapidamente dados em entrada ou saída.

Um canal de acesso directo à memória, chamado DMA (Direct Memory Access ou Acesso directo à memória), foi assim definido para remediar.

O canal DMA designa um acesso a um lugar da memória viva (RAM) do computador, localizado “por um endereço de início” (ou “RAM Start Address” em inglês) e “um endereço de fim”. Este método permite a um periférico seguir canais especiais que lhe dão um acesso directo à memória, sem estar a fazer intervir o microprocessador, a fim de o libertar destas tarefas.

Um computador de tipo PC possui 8 canais DMA. Os quatro primeiros canais DMA têm uma amplitude de banda de 8 bits enquanto os DMA 4 a 7 têm uma amplitude de banda de 16 bits.

Os canais DMA são geralmente atribuídos do seguinte modo:

  • DMA0 - livre
  • DMA1 - (placa som)/ livre
  • DMA2 - controlador de disquetes
  • DMA3 - porta paralela (porta impressora)
  • DMA4 - controlador de acesso directo à memória

(envio para DMA0)
  • DMA5 - (placa som)/ livre
  • DMA6 - (SCSI)/ livre
  • DMA7 - disponível

Endereços básicos

Os periféricos têm às vezes necessidade de trocar informações com o sistema, é por isso que endereços de memória lhes são atribuídos para o envio e a recepção de dados. Estes endereços são chamados “endereços básicos” (os termos seguintes são também utilizados às vezes: “portas de entrada/saída”, “portas E/S”, “endereço E/S”, “endereços de portas E/S”, “portas básicas”, ou em inglês I/O adress que significa«Input/Output Address»,, literalmente “Endereço de entrada/saída”).

É através deste endereço básico que o periférico pode comunicar com o sistema de exploração. Pode por conseguinte existir apenas um endereço de base único por periférico.

Eis uma lista de alguns endereços de base correntes:

  • 060h -teclado
  • 170h/376h - controlador IDE secundário
  • 1F0h/3F6h - controlador IDE primário
  • 220h - carta som
  • 300h - carta rede
  • 330h - carta adaptadora SCSI
  • 3F2h - controlador de leitor de disquetes
  • 3F8h - COM1
  • 2F8h - COM2
  • 3E8h - COM3
  • 2E8h - COM4
  • 378h - LPT1
  • 278h - LPT2



Todos os elementos são contudo transparentes para o utilizador, ou seja, não tem que se preocupar com eles.

Conflitos materiais

Uma interrupção é uma linha que liga um periférico ao processador. A interrupção é material quando é pedida por um componente material do PC. É o caso, por exemplo, quando uma tecla foi pressionada e o teclado quer atrair a atenção do processador para este acontecimento. Contudo, as 256 interrupções não podem ser todas pedidas como interrupções materiais e os diferentes periféricos chamam sempre interrupções bem precisas.

Assim, aquando da instalação de placas de extensão, é necessário garantir, no momento da configuração, que a mesma interrupção não seja utilizada por dois periféricos diferentes, isso provocaria um “conflito material”, conduzindo a um disfuncionamento de um dos dois periféricos.

Com efeito, se dois periféricos utilizarem a mesma interrupção, o sistema não saberá distingui-la. Um conflito material não se produz unicamente com dois periféricos que têm a mesma interrupção material, um conflito pode igualmente produzir-se quando dois periféricos possuem o mesmo endereço de entradas/saídas ou utilizam os mesmos canais DMA.

Configuração dos IRQ

O IRQ de uma placa de extensão pode ser alterado a fim de lhe atribuir um número de IRQ não utilizado por um outro periférico.

  • Nos antigos periféricos é fixado graças a jumpers, presentes na placa.
  • Nas placas recentes (que comportam um BIOS Plug & Play), a parametrização dos recursos (IRQ, DMA, Endereços de entrada/saída) é automático. Pode igualmente ser realizada graças ao sistema de exploração ou com utilitários fornecidos com a placa de extensão. O modo plug & play deve às vezes ser desactivado para poder alterar os parâmetros manualmente.

Nem sempre é fácil encontrar recursos livres para todos os periféricos, eis por conseguinte uma lista não exaustiva de recursos geralmente utilizados, que não podem por conseguinte ser atribuídos manualmente :


IRQPeriférico
0Relógio interno
1teclado
2controlador de interrupções programável Envio para os IRQ 8 a 15
3porta de comunicação COM2/COM4
4porta de comunicação COM1/COM3
5livre
6controlador de disquetes
7porta impressora LPT1
8CMOS (Relógio tempo real)
9livre
10livre
11livre
12porta rato PS2/livro
13processador numérico de dados (Co-processador aritmético)
14controlador de discos duros primário (IDE)
15controlador de discos duros secundário (IDE)



As portas COM1 e COM4 bem como os portos COM2 e COM3 utilizam as mesmas interrupções. Isto pode parecer ilógico na medida em que uma mesma interrupção não pode ser utilizada por dois periféricos. Na realidade, é possível utilizar a porta COM1 bem como a porta COM4 (bem como a porta COM2 e a porta COM3) na condição de estas não estarem simultaneamente activas. No caso contrário, o computador pode bloquear ou ter um comportamento anormal.

Resolução dos conflitos materiais

No caso de problema material, a primeira coisa a fazer é tentar isolar o problema a fim de determinar qual o periférico que coloca problemas. Isto significa que é necessário tentar eliminar todas as variáveis possíveis até à descoberta do elemento responsável:

  • abrindo a cobertura da máquina e tirando pouco a pouco os elementos susceptíveis de provocar um conflito;
  • desactivando os periféricos por via "software" no sistema de exploração.
Para uma leitura offline, é possível baixar gratuitamente este artigo no formato PDF:
Interrupcoes-materiais-irq-e-conflitos.pdf

A ver igualmente


Hardware Interrupts (IRQ) and Conflicts
Hardware Interrupts (IRQ) and Conflicts
Interrupciones (IRQ) y conflictos del hardware
Interrupciones (IRQ) y conflictos del hardware
Unterbrechungsanforderungen (IRQ) und Konflikte
Unterbrechungsanforderungen (IRQ) und Konflikte
Interruptions matérielles (IRQ) et conflits
Interruptions matérielles (IRQ) et conflits
Interruzioni hardware (IRQ) e conflitti
Interruzioni hardware (IRQ) e conflitti
Este documento, intitulado « Interrupções materiais (IRQ) e conflitos »a partir de Kioskea (pt.kioskea.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.