Un procesador no puede procesar
simultáneamente varios trozos de información (procesa un trozo de información a
la 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 IRQ 9. En cierto
modo, esta cascada "inserta" IRQ 8 a 15 entre IRQ1 y 3:
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
No hay comentarios:
Publicar un comentario