Interrupciones (IRQ) y conflictos del hardware

Julio 2015

El concepto de interrupción

Ya que un procesador no puede procesar simultáneamente varios trozos de información (procesa un trozo de información por vez), un programa que está siendo ejecutado puede, gracias al pedido de interrupción, ser momentáneamente suspendido mientras se produce una interrupción. El programa interrumpido puede continuar ejecutándose luego. Existen 256 direcciones de interrupción diferentes.

Una interrupción se convierte en una interrupción de hardware cuando es solicitada por uno de los componentes de hardware del equipo. En efecto, existen varios periféricos en un equipo. Estos periféricos necesitan generalmente utilizar los recursos del sistema aunque sólo sea para comunicarse con el sistema mismo.

Cuando un periférico desea acceder a un recurso, envía un pedido de interrupción al procesador para llamar su atención. Los periféricos cuentan con un número de interrupción que se denomina IRQ (Peticiones de Interrupción. Es como si cada periférico tirara de un "hilo" que está atado a una campana para señalarle al equipo que desea que le preste atención.

Este "hilo" es, de hecho, una línea física que conecta cada ranura de expansión así como cada interfaz E/S a la placa madre. Para una ranura ISA de 8 bits, por ejemplo, hay 8 líneas IRQ que unen ranuras ISA de 8 bits a la placa madre (IRQ0 a IRQ7). Estos IRQ están controlados por un "controlador de interrupción" que se encarga de “cederle la palabra” al IRQ que posee la mayor prioridad.

Al aparecer las ranuras de 16 bits, se agregaron IRQ 8 a 15. En consecuencia , fue necesario agregar un segundo controlador de interrupción. Los dos grupos de interrupciones están unidos por IRQ 2 el cual se conecta (o "produce una cascada") a IRQ9. En cierto modo, esta cascada "inserta" IRQ 8 a 15 entre IRQ1 y 3:

IRQ2: Cascada

Dado que la prioridad va del IRQ inferior al superior y que se insertan IRQ 8 a 15 entre IRQ 1 y 3, el orden de prioridad es el siguiente:

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

DMA

Los periféricos regularmente necesitan "pedir prestada memoria" del sistema para utilizarla como zona búfer, es decir, un área de almacenamiento temporario que permita que los datos de E/S sean rápidamente guardados.

Por lo tanto, el canal de acceso directo a la memoria, llamado DMA (Acceso Directo a Memoria fue definido precisamente para esto.

El canal DMA designa un acceso a una de las ranuras (RAM) memoria de acceso aleatorio del equipo, ubicado por una "dirección de inicio RAM" y una "dirección de fin". Este método permite a un periférico pedir prestado canales especiales que le brindan un acceso directo a la memoria, sin necesidad de intervención, por parte del microprocesador, para descargar estas tareas.

Una PC tiene 8 canales DMA. Los primeros cuatro canales DMA poseen un ancho de banda de 8 bits mientras que los DMA 4 a 7 poseen a su vez un ancho de banda de 16 bits.

Los canales DMA por lo general suelen asignarse de la siguiente manera:

  • DMA0: libre
  • DMA1: (tarjeta de sonido)/libre
  • DMA2: controlador de disquete
  • DMA3: puerto paralelo (puerto de la impresora)
  • DMA4: controlador de acceso directo a memoria
    (conectado a DMA0)
  • DMA1: (tarjeta de sonido)/libre
  • DMA6: (SCSI)/libre
  • DMA7: disponible

Direcciones base

Algunas veces los periféricos necesitan intercambiar información con el sistema, razón por la cual se les asignaron direcciones de memoria para enviar y recibir datos. Estas direcciones se denominan "direcciones base" (algunas veces se utilizan los siguientes términos: "puertos de entrada/salida", "puertos E/S", "direcciones E/S", "direcciones de puertos de E/S", o "puertos base").

El periférico puede comunicarse con el sistema operativo utilizando esta dirección de base. Por lo tanto, existe solamente una única dirección de base para cada periférico.

A continuación, presentamos una lista de algunas de las direcciones base comunes:

  • 060h: Teclado
  • 170h/376h: controlador secundario IDE
  • 1F0h/3F6h: controlador primario IDE
  • 220h: tarjeta de sonido
  • 300h: tarjeta de red
  • 330h: tarjeta adaptador SCSI
  • 3F2h: controlador de unidad de disco
  • 3F8h: COM1
  • 2F8h: COM2
  • 3E8h: COM3
  • 2E8h: COM4
  • 378h: LPT1
  • 278h: LPT2

No obstante, todos estos elementos resultan transparentes para el usuario, es decir que no debe preocuparse por ellos.

Conflictos del hardware

Una interrupción es una línea que une el periférico al procesador. Una interrupción es una interrupción de hardware cuando es solicitada por uno de los componentes de hardware de la PC. Por ejemplo, este es el caso al tocar una tecla y que el teclado llama la atención del procesador sobre este hecho. No obstante, los 256 interruptores no pueden ser solicitados al mismo tiempo ya que se interrumpe el hardware y los diferentes periféricos siempre realizan interrupciones muy específicas.

Por lo tanto, al instalar las tarjetas de expansión, debe asegurarse que, durante la configuración, el mismo interruptor no se utilice para dos periféricos diferentes. Si esto sucediera, ocurriría un "conflicto del hardware" y ningún periférico funcionaria.

Verdaderamente, si dos periféricos utilizan el mismo interruptor, el sistema no sabrá cómo distinguirlos. Un conflicto del hardware no sucede únicamente cuando dos periféricos poseen el mismo hardware. También puede ocurrir un conflicto cuando dos periféricos poseen la misma dirección E/S o usan los mismos canales DMA.

Configuración IRQ

La IRQ de una tarjeta de expansión puede modificarse para asignarle un número IRQ que no está siendo utilizado por otro periférico.

  • En los periféricos más antiguos, este número IRQ se adjunta a los puentes que se encuentran en la placa.
  • En las placas recientes (que poseen un BIOS Plug & Play), el parámetro de recurso (direcciones IRQ, DMA E/S) es automático. También puede ser realizado por el SO con la ayuda de utilidades que brinda la tarjeta de expansión. Este modo plug & play debe ser desactivado en ocasiones para que puedan modificarse los parámetros manualmente.
Aún no resulta fácil hallar recursos disponibles para todos los periféricos. Por lo tanto, he aquí una lista incompleta de recursos que se utilizan generalmente, los que por consiguiente no pueden asignarse en forma manual:

IRQ Periférico
0 Reloj interno
1 teclado
2 controlador de interrupción programable
Cascada de IRQ 8 a 15
3 Puerto de comunicaciones COM2/COM4
4 Puerto de comunicaciones COM1/COM3
5 libre
6 controlador de disquete
7 Puerto de impresora LPT1
8 CMOS (Reloj de tiempo real)
9 libre
10 libre
11 libre
12 Puerto del ratón PS2/libre
13 procesador de datos numéricos (coprocesador matemático)
14 controlador de disco duro primario (IDE)
15 controlador de disco duro secundario (IDE)

Los puertos COM1 y COM4 así como los puertos COM2 y COM3 usan los mismos interruptores. Puede parecer ilógico en cuanto la misma interrupción no puede ser utilizada por dos periféricos. En realidad, es posible utilizar el puerto COM1 tanto como el puerto COM4 (así como el puerto COM2 y el COM3) en tanto no se activen al mismo tiempo. De lo contrario, el equipo podría congelarse y funcionar defectuosamente.

Resolución de conflictos del hardware

Si tiene un problema de hardware, primero trate de identificar el problema afín de poder determinar cuál es el periférico que lo está causando. Esto significa que debe tratar de eliminar tantas variables como sea posible hasta descubrir cuál es el elemento responsable:

  • abriendo la carcasa del equipo y retirando uno a uno los elementos que puedan estar causando el conflicto
  • desactivando el software en el SO para desactivar los periféricos
Consulta este artículo sin tener que estar conectado, descárgalo gratis aquí en formato PDF:
Interrupciones-irq-y-conflictos-del-hardware .pdf

Consulta también


Hardware Interrupts (IRQ) and Conflicts
Hardware Interrupts (IRQ) and Conflicts
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
Interrupções materiais (IRQ) e conflitos
Interrupções materiais (IRQ) e conflitos
El documento «Interrupciones (IRQ) y conflictos del hardware» de CCM (es.ccm.net) se encuentra disponible bajo una licencia Creative Commons. Puedes copiarlo o modificarlo siempre y cuando respetes las condiciones de dicha licencia y des crédito a CCM.