Interruzioni hardware (IRQ) e conflitti Interrupções materiais (IRQ) e conflitos 
Materielle Unterbrechungsanforderungen (IRQ) und Konflikte Interruptions matérielles (IRQ) et conflits Hardware interrupts (IRQ) and conflicts

¿Qué es una interrupción?

Debido a que el procesador no puede procesar múltiples datos al mismo tiempo (procesa un dato a la vez) el sistema de multitareas es en realidad una alternancia de fragmentos de instrucciones de muchas tareas diferentes. Es posible suspender momentáneamente un programa que se estaba ejecutando mediante una interrupción que dure el tiempo que lleva una rutina de servicios de interrupción. Luego, el programa interrumpido puede continuar ejecutándose. Existen 256 direcciones de interrupción diferentes.

Una interrupción se realiza cuando un componente del hardware de la ordenador requiere la interrupción del hardware. Un ordenador posee muchos periféricos. Generalmente, necesitan utilizar recursos del sistema, aunque sólo sea para comunicarse con éste...
Cuando necesitan un recurso, envían una petición de interrupción al sistema para que éste les preste atención. Cada periférico cuenta con un número de interrupción llamado IRQ (Interruption request [Petición de interrupción]). Una manera de poder entender este proceso es imaginar a cada periférico tirando de una "cuerda" conectada a una campana para indicarle al ordenador que requiere de su atención.

De hecho, la "cuerda" es una línea física que conecta la ranura a la placa madre. Para una ubicación ISA de 8 bits, por ejemplo, hay 8 líneas IRQ (Interruption Request [Petición de Interrupción]) que conectan la ranura ISA de 8 bits a la placa madre, IRQ 0 a IRQ7. Estas IRQ son controladas por un "controlador de interrupciones" que verifica qué IRQ tiene mayor prioridad. Para las ranuras de 16 bits, se agregan las IRQ que van desde la 8 a la 15, las cuales requieren de un segundo controlador de interrupciones. La conexión entre los dos grupos de interrupciones se realiza por medio de la IRQ 2 que está conectada a la IRQ 9 (denominada "cascada"). El término "cascada" se puede pensar como una manera de "insertar" las IRQ del 8 al 15 entre las IRQ del 1 al 3:

IRQ2 – Cascada

Dado que la prioridad se otorga a medida que va aumentando el orden en el número de IRQ, y debido a que las IRQ del 8 al 15 se insertan entre las IRQ del 1 al 3, el orden de prioridad es el siguiente:

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

¿Qué es un DMA?

Los periféricos con frecuencia necesitan contar con "memoria prestada" del sistema, la cual utilizarán como búfer. Este búfer será un área de almacenamiento temporal que permite que se escriban rápidamente datos de entrada y salida.

Para afrontar esta necesidad, se definió un canal de acceso directo a la memoria denominado DMA (Direct Memory Access por sus siglas en inglés).

El canal DMA es un acceso a una ubicación RAM en el ordenador, al que una "Dirección de Inicio RAM" y una "Dirección de Fin" hacen referencia. Este método permite que un periférico utilice canales especiales que le den acceso directo a la memoria, sin involucrar al microprocesador. Esto permite que el microprocesador se libere de la necesidad de hacer este trabajo.

Un ordenador tipo PC cuenta con 8 canales DMA. Los primeros cuatro canales DMA poseen 8 bits mientras que los DMA que van del cuarto al séptimo poseen 16 bits.
Normalmente, los canales DMA se asignan de la siguiente manera:

  • DMA0 - libre
  • DMA1 - (tarjeta de sonido)/ libre
  • DMA2 - controlador de disquetes
  • DMA3 - puerto paralelo (puerto de la impresora)
  • DMA4 - controlador del acceso directo a la memoria
    (redirigido a DMA0)
  • DMA5 - (tarjeta de sonido)/ libre
  • DMA6 - (SCSI)/ libre
  • DMA7 - disponible

Direcciones de base

Debido a que a veces los periféricos necesitan intercambiar información con el sistema, se les asignan direcciones de memoria para enviar y recibir datos. Estas direcciones se denominan "direcciones de base" (los siguientes términos también se usan algunas veces: "puertos de entrada/salida", "puertos de E/S", "dirección E/S", "direcciones de puertos de E/S", "puertos de base", o "Direcciones de Entrada/Salida").

Por intermedio de esta dirección de base los periféricos se pueden comunicar con el sistema operativo. Por consiguiente, sólo puede haber una dirección de base por periférico.

A continuación, se podrá ver una lista de algunas direcciones de base comunes:

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

Sin embargo, toda esta información es generalmente irrelevante para el usuario medio, que no necesita preocuparse por ésta.

¿Por qué existen conflictos con el hardware?

Una interrupción es una línea que conecta a un periférico con el procesador. También puede ser una interrupción del hardware, cuando un componente del hardware de la PC así lo requiere. Por ejemplo, esto sucede cuando se presiona una tecla y el teclado quiere que el procesador lo note. Sin embargo, no se pueden solicitar las 256 interrupciones como interrupciones del hardware. Los diferentes periféricos siempre solicitan interrupciones específicas.
Por este motivo, cuando instale y configure tarjetas de expansión, deberá asegurarse de que dos periféricos deferentes no usen la misma interrupción.

De hecho, si dos periféricos poseen la misma IRQ, el sistema no sabrá a qué hardware deberá darle el control...el sistema se bloqueará o no funcionará normalmente... generando lo que se denomina conflicto con el hardware. Un conflicto con el hardware no sólo se produce cuando dos periféricos sufren la misma interrupción del hardware. También puede generarse un conflicto si dos periféricos tienen la misma dirección de entrada/salida o si se les asignan los mismos canales DMA.

Cómo configurar las IRQ de los periféricos

La IRQ de una tarjeta puede modificarse, ya que es necesario asignarle un número de IRQ que otro periférico no utiliza.

  • En las tarjetas más antiguas, se configurara utilizando puentes en la tarjeta.
  • En las tarjetas más recientes (las que poseen un BIOS con sistema Plug and Play), los recursos (IRQ, DMA, Direcciones de Entrada-Salida) se configuran con una pequeña utilidad (que a menudo se ejecuta en DOS) que viene junto con la tarjeta de red (generalmente se la denomina setup.exe, install.exe, ezconf.exe, config.exe,...). Esta utilidad permite modificar la IRQ, el DMA, y otros valores por medio de un software.
    Para poder modificar los parámetros en forma manual, normalmente debe deshabilitar el modo plug and play.
  • Sin embargo, muchas tarjetas pueden configurarse a voluntad (en Windows, es posible asignar un valor IRQ). Esto se aplica, en especial, a la mayoría de las tarjetas de sonido.
No siempre es fácil encontrar recursos para todos los periféricos. Por este motivo, a continuación podrá ver los recursos que ya fueron utilizados y que, por lo tanto, no pueden asignarse a sus tarjetas de expansión:

IRQ Periférico
0 Reloj interno
1 teclado
2 controlador programable de interrupciones
Redirigido a las IRQ 8 a 15
3 puerto de comunicación COM2/COM4
4 puerto de comunicación COM1/COM3
5 libre
6 controladores del disquete
7 puerto de la impresora LPT1
8 CMOS (Reloj en 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 primario del disco rígido (IDE)
15 controlador secundario del disco rígido (IDE)

Como se pudo ver anteriormente, los puertos COM1 y COM4 usan la misma interrupción, como también lo hacen los puertos COM2 y COM3. Si se tiene en cuenta que dos periféricos no pueden usar la misma interrupción, esto puede parecer ilógico. De hecho, es posible utilizar COM1 y COM4 (como también COM2 y COM3) siempre y cuando no estén activados simultáneamente. De lo contrario, el ordenador puede bloquearse o comportarse en forma anormal.

Cómo resolver conflictos con el hardware

Cuando tiene un problema que cree que está relacionado con la configuración del hardware de su máquina, lo primero que debe hacer es identificarlo. Es decir, debe tratar de eliminar todas las variables posibles, generalmente abriendo la máquina y quitando, uno por uno, todos los elementos que pudieran causar un conflicto, o aislándolos por medio de un software (que esté instalado en su sistema operativo), hasta encontrar el componente que provocó el conflicto.

Última actualización el jueves, 16 de octubre de 2008, 15:43:31 .Este documento intitulado « Interrupciones (IRQ) y conflictos del hardware » de Kioskea (es.kioskea.net) esta puesto a diposición bajo la licencia Creative Commons. Puede copiar, modificar bajo las condiciones puestas por la licencia, siempre que esta nota sea visible.

Mejores respuestas para « Interrupciones (IRQ) y conflictos del hardware » en :
Interrupciones (IRQ) y conflictos del hardware Ver 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...
Mi PC se reinicia solo VerÍndice ¿Por qué un PC se reinicia solo? 1. Memorias defectuosas 2. Conflicto de hardware 3. Sobrecalentamiento del procesador 4. Alimentación defectuosa 5. Conflicto de software 6. Hardware defectuoso 7. El BIOS 8. Los virus Enlaces...
[Windows] Controlador dañado o no se encuentra (Código 39) VerCuando se instalan o desinstalan controladores (drivers) de un dispositivo, a veces puede aparecer el mensaje de error siguiente: Windows no puede cargar el controlador de dispositivo para este hardware. Es posible que el controlador esté dañado o...
Descargar Device Remover VerQuitar un dispositivo de hardware conflictivo no es tarea fácil, puesto que hay que desactivar y eliminar controladores, servicios y claves de registro asociadas. Device Remover es completisimo, y nos resuelve esta tarea. Para cada dispositivo,...
Periféricos VerConceptos acerca de los periféricos "Se denomina "periférico" a cualquier equipo electrónico susceptible de ser conectado a un ordenador mediante una de sus interfaces de entrada/salida (puerto serial, puerto paralelo, bus USB, bus FireWire,...
¿Qué es un bus informático? VerIntroducción al concepto de bus Se denomina bus, en informática, al conjunto de conexiones físicas (cables, placa de circuito impreso, etc.) que pueden compartirse con múltiples componentes de hardware para que se comuniquen entre sí. El propósito...
Ensamblaje del ordenador (PC) VerMontaje del ordenador Un ordenador (PC) es un tipo modular de ordenador. Se puede montar utilizando componentes de hardware de diferentes fabricantes para conseguir un ordenador a medida conforme a sus necesidades. Los componentes integrantes del...