stringtranslate.com

solicitud de interrupción

En una computadora , una solicitud de interrupción (o IRQ ) es una señal de hardware enviada al procesador que detiene temporalmente un programa en ejecución y permite que en su lugar se ejecute un programa especial, un controlador de interrupciones . Las interrupciones de hardware se utilizan para manejar eventos como la recepción de datos de un módem o tarjeta de red , pulsaciones de teclas o movimientos del mouse.

Las líneas de interrupción suelen identificarse mediante un índice con el formato IRQ seguido de un número. Por ejemplo, en la familia Intel 8259 de controladores de interrupción programables (PIC) hay ocho entradas de interrupción comúnmente denominadas IRQ0 a IRQ7 . En los sistemas informáticos basados ​​en x86 que utilizan dos de estos PIC , el conjunto combinado de líneas se denomina IRQ0 a IRQ15 . Técnicamente, estas líneas se denominan IR0 a IR7 , y las líneas en el bus ISA al que estaban conectadas históricamente se denominan IRQ0 a IRQ15 (aunque históricamente, a medida que aumentaba el número de dispositivos de hardware, el número total posible de interrupciones aumentaba mediante conexión en cascada). solicitudes, haciendo que uno de los números de IRQ caiga en cascada a otro conjunto o conjuntos de IRQ numeradas, manejados por uno o más controladores posteriores).

Los sistemas x86 más nuevos integran un controlador de interrupción programable avanzado (APIC) que se ajusta a la arquitectura Intel APIC. Estos APIC admiten una interfaz de programación para hasta 255 líneas IRQ de hardware físico por APIC, y un sistema típico implementa soporte para solo alrededor de 24 líneas de hardware en total.

Durante los primeros años de la informática personal, la gestión de IRQ era a menudo una preocupación para los usuarios. Con la introducción de dispositivos plug and play, esto se ha mitigado mediante la configuración automática. [1]

Descripción general

Cuando se trabaja con hardware de computadora personal, instalando y quitando dispositivos, el sistema depende de solicitudes de interrupción. Hay configuraciones predeterminadas que se configuran en el BIOS del sistema y son reconocidas por el sistema operativo. Los usuarios avanzados pueden modificar esta configuración predeterminada. La moderna tecnología plug and play no sólo ha reducido la necesidad de preocuparse por estas configuraciones, sino que también ha eliminado prácticamente la configuración manual.

IRQ x86

Las primeras PC que usaban procesadores Intel 8086/8088 solo tenían un PIC y, por lo tanto, estaban limitadas a ocho interrupciones. Esto se amplió a dos PIC con la introducción de las PC basadas en 286.

Normalmente, en sistemas que utilizan el PIC Intel 8259 , se utilizan 16 IRQ. Las IRQ 0 a 7 son administradas por un PIC Intel 8259 y las IRQ 8 a 15 por un segundo PIC Intel 8259. El primer PIC, el maestro, es el único que envía señales directamente a la CPU. El segundo PIC, el esclavo, envía señales al maestro en su línea IRQ 2, y el maestro pasa la señal a la CPU. Por lo tanto, sólo hay 15 líneas de solicitud de interrupción disponibles para hardware.

En los sistemas APIC con IOAPIC , normalmente hay 24 IRQ disponibles y las 8 IRQ adicionales se utilizan para enrutar interrupciones PCI, evitando conflictos entre las interrupciones PCI configuradas dinámicamente y las interrupciones ISA configuradas estáticamente. En los primeros sistemas APIC con solo 16 IRQ o con solo controladores de interrupción Intel 8259 , las líneas de interrupción PCI se enrutaban a las 16 IRQ utilizando una tabla PIR (enrutamiento de interrupción PCI) integrada en el BIOS. Los sistemas operativos como Windows 95 OSR2 pueden usar la tabla PIR para procesar la dirección PCI IRQ; [2] [3] Posteriormente, la tabla PIR ha sido reemplazada por ACPI . En APIC con sistemas MSI , normalmente hay 224 interrupciones disponibles. [4]

La forma más sencilla de ver esta información en Windows es utilizar el Administrador de dispositivos o Información del sistema (msinfo32.exe). En Linux , las asignaciones de IRQ se pueden ver ejecutando cat /proc/interruptso utilizando la procinfoutilidad.

PIC maestro

PIC esclavo

Conflictos

En las primeras computadoras personales compatibles con IBM , un conflicto de IRQ es un error de hardware que alguna vez fue común y que se recibía cuando dos dispositivos intentaban usar la misma solicitud de interrupción (o IRQ) para señalar una interrupción al Controlador de interrupciones programable (PIC). El PIC espera solicitudes de interrupción de solo un dispositivo por línea, por lo que más de un dispositivo que envía señales IRQ a lo largo de la misma línea generalmente causará un conflicto de IRQ que puede congelar una computadora .

Por ejemplo, si se agrega una tarjeta de expansión de módem a un sistema y se asigna a IRQ4, que tradicionalmente se asigna al puerto serie  1, es probable que se produzca un conflicto de IRQ. Inicialmente, IRQ 7 era una opción común para el uso de una tarjeta de sonido , pero más tarde se utilizó IRQ 5 cuando se descubrió que IRQ 7 interferiría con el puerto de la impresora ( LPT1 ). Los puertos serie frecuentemente se desactivan para liberar una línea IRQ para otro dispositivo. IRQ 2/9 es la línea de interrupción tradicional para un puerto MIDI MPU-401, pero esto entra en conflicto con la interrupción de control del sistema ACPI (SCI está cableado a IRQ9 en los chipsets Intel); [5] esto significa que las tarjetas ISA MPU-401 con un IRQ 2/9 cableado y los controladores de dispositivos MPU-401 con un IRQ 2/9 codificado no se pueden usar en modo controlado por interrupción en un sistema con ACPI habilitado.

En algunas condiciones, dos dispositivos ISA podrían compartir la misma IRQ siempre que no se utilicen simultáneamente. Para resolver este problema, el bus PCI posterior permite compartir IRQ. PCI Express no tiene líneas de interrupción físicas y utiliza interrupciones señalizadas por mensajes (MSI) para los sistemas operativos, si están disponibles.

Ver también

Referencias

  1. ^ "IRQ" . Consultado el 13 de septiembre de 2019 .
  2. ^ "1.3.1.2. Dirección IRQ del bus PCI: hardware de PC en pocas palabras, tercera edición [libro]".
  3. ^ "Plug-and-Play-HOWTO: PCI interrumpe".
  4. ^ Coleman, James (2009). "Resultados, Plataforma Clase Estación de Trabajo". Reducción de la latencia de las interrupciones mediante el uso de interrupciones señalizadas por mensajes (PDF) . Corporación Intel. pag. 19.
  5. ^ ab Oshins, Jake (30 de diciembre de 2001). "RE: ACPI Machines e IRQ 9 [era: Comunicación con los desarrolladores de NT]" . Consultado el 17 de abril de 2014 .

Otras lecturas

enlaces externos