Interrupciones IRQs

INTERRUPCIONES IRQs

 

 ¿Que es una interrupción?

Una interrupción es una señal de hardware, esta dice al procesador que pare temporalmente lo que esta haciendo y que haga alguna otra cosa. Sin interrupciones el procesador tendría que hacer un chequeo constante de eventos externos; con interrupciones el procesador puede trabajar sobre alguna otra cosa y responder a un evento tan pronto como este ocurra.

Invocación de Interrupciones

Las interrupciones del procesador, hardware y software son invocadas de diferente manera:

 

  • Procesador: Las interrupciones del procesador o interrupciones lógicas son invocadas por el procesador como consecuencia de un resultado inusual del programa, tal como un intento de división por cero.
  • Hardware: Las interrupciones de hardware son invocadas por mecanismos periféricos estos fijan sus respectivas líneas de petición de interrupción (IRQ). Cada vez que una tecla es presionada, por ejemplo, el teclado genera una interrupción. Las interrupciones de hardware son vectoreadas a rutinas de servicio de interrupción (ISRs) estas generalmente residen en el BIOS.
  • Software: Las interrupciones de software son invocadas a través de la instrucción INT del 8086. La mayoría de las interrupciones de software son vectoreadas a (DSRs) localizado en el BIOS, o en programas de aplicación.

 

Niveles de IRQ ( Lineas de interrupción )

Para ganar la atención de la CPU, se utilizan líneas de solicitud de interrupción (IRQ-Interrupt Request). El bus de la PC ofrece las líneas 2 a 7. Respetan prioridades, siendo la línea 2 más importante que la línea 7. Cuando se activa una línea, el procesador deja todo lo demás y carga una subrutina especial para encargarse de (dar servicio a ) esa línea de interrupción en particular.

Algunas veces los dispositivos periféricos necesitan obtener la atención de la CPU en sincronía critica. Citamos un ejemplo: El controlador del teclado es bastante tonto. No tiene memoria prácticamente, así que cada vez que un tecleo llega al controlador, este necesita entregárselo a la CPU antes de que llegue otro tecleo. Básicamente, cada vez que el controlador del teclado recibe un tecleo, quiere decir a la CPU. “¡HEY! ¡DETEN TODO! ¡VEN A DARME SERVICIO AHORA ANTES DE QUE EL USUARIO OPRIMA OTRA TECLA! “ , así que “suena la alarma” – activa su línea de interrupción . La CPU se detiene y ejecuta el programa que pasa el tecleo a la memoria temporal (buffer) del teclado.

 

Si se esta instalando una tarjeta que necesita una IRQ, vea primero la línea de interrupción 2 en las computadoras PC o la 5 en las AT. Si esas no están disponibles pruebe la 3; si no se tiene COM2, no habrá conflicto. Algunos textos afirma que se puede robar la IRQ 7 del puerto paralelo. Ello es verdad únicamente si no se utiliza WINDOWS ni OS/2.

 

Al igual que con DMA, las maquinas de 16 bit’s tienen líneas de interrupción adicionales. Se pueden usar únicamente si se esta insertando una tarjeta de 16 bit’s en una ranura de 16 bit’s. Uselas si es posible, a manera de dejar lugar en las ocho IRQ inferiores para otras tarjetas. Las PC y las XT únicamente tienen las IRQ de 0 a 7.

 

Repetimos lo dicho en la explicación de las direcciones I/O: Algunas tarjetas no tiene puentes ni interruptores DIP. Esto significa que no hay modo de hacerlas trabajar cuando otras tarjetas tienen conflictos con ellas. Por ejemplo, un cliente que visitaba regularmente había instalado una tarjeta IBM 5251 (Emulador de terminal de sistema 36) y una vieja Quadram Quadboard en una PC. El puerto de impresora en la Quadboard y la emuladora de terminal querían el mismo recurso – no recuerdo cual. De cualquier modo, ninguna tenía puentes, una tarjeta tuvo que ser tirada a la basura.

 

Moraleja: averigüe si las tarjetas de expansión que compra tienen ajustables sus DMA, IRQ y direcciones I/O.

 

Usos más comunes de las IRQ en la PC

 

IRQ 0=Timer.

IRQ 1=Teclado.

IRQ 2=Interrupción del 8259 esclavo.

IRQ 3=Puerto serial 2 ( COM2 ).

IRQ 4=Puerto serial 1 ( COM1 ).

IRQ 5=Puerto paralelo 2 ( LPT2 ).

IRQ 6=Controlador de disco flexible.

IRQ 7=Puerto paralelo 1 ( LPT1 ).

IRQ 8=Timer.

IRQ 9=Adaptador de LAN.

IRQ 10=Reservada.

IRQ 11=Reservada.

IRQ 12=Reservada.

IRQ 13=Cooprocesador 80287.

IRQ 14=Controlador de disco duro.

IRQ 15=Reservada.

Sé el primero en comentar

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*