Está en la página 1de 23

Escuela Profesional:

Ingeniería de Sistemas e Informática

Asignatura:
ARQUITECTURA
DE
COMPUTADORAS

Sesión 05
INTERRUPCIONES EN LA PC

Ing. Nilton MARURI MALPARTIDA Arquitectura de computadoras


INTERRUPCIÓN

◼ Una interrupción es una operación que suspende la ejecución un programa


cuando quiere comunicarse de modo que el sistema pueda realizar una acción
especial.

◼ Una interrupción tiene una subrutina asociada que realiza lo que sea necesario
para la interrupción, de este modo los dispositivos pueden provocar que la
CPU deje la por el momento la tarea que estaba realizando y atienda la
interrupción.

Ing. Nilton MARURI MALPARTIDA Arquitectura de computadoras


INTERRUPCIÓN

◼ Es una señal que se puede originar en un dispositivo hardware o software, un


componente software para indicar al procesador que algo requiere su atención
inmediata; se solicita al procesador que suspenda lo que está haciendo para
atender la petición.

◼ Las interrupciones juegan un papel fundamental, en especial en la operación de


dispositivos E/S, ya que les permite enviar estas peticiones a la CPU, o estar en
silencio mientras no requieran atención del procesador. Sin ellas el sistema
debería chequear constantemente los dispositivos para comprobar su actividad.

Ing. Nilton MARURI MALPARTIDA Arquitectura de computadoras


FUNCIONAMIENTO

◼ Cuando un dispositivo reclama atención del procesador es para que este haga
algo. Este "algo" es lo que se conoce como servicio; controlador o gestor de la
interrupción. En cualquier caso se trata siempre de ejecutar un programa
situado en algún lugar de la memoria RAM o en la ROM-BIOS.

◼ El diseño del PC solo permite 16 interrupciones distintas. La razón es que


además de los servicios del BIOS, se cargan las direcciones de inicio de otras
rutinas del Sistema Operativo, los denominados servicios del Sistema. Incluso
es posible cargar direcciones para rutinas específicas de usuario.

Ing. Nilton MARURI MALPARTIDA Arquitectura de computadoras


¿COMO SE RECIBE LA PETICIÓN?

◼ Un periférico, tarjeta o dispositivo necesita atención; a tal efecto pone en


tensión baja una de las líneas IRQ del bus de control (que le había sido
asignada). La señal es recogida por el PIC, que la procesa, la clasifica, y envía
una señal a una de las patillas del procesador. A continuación el procesador se
da por notificado y pregunta que tipo de excepción debe atender

Ing. Nilton MARURI MALPARTIDA Arquitectura de computadoras


«MODUS OPERANDI»

◼ Cuando se recibe la petición de interrupción, el procesador termina la


instrucción que está ejecutando; guarda el contenido de los registros;
deshabilita el sistema de interrupciones; ejecuta el "servicio", y vuelve a su
punto de ejecución. El servicio suele terminar con una instrucción IRET
("Interrupt Return") que restituye el contenido de los registros y vuelve a
habilitar el sistema de interrupciones.

Ing. Nilton MARURI MALPARTIDA Arquitectura de computadoras


◼ Estas peticiones pueden ser generadas desde el software o incluso por el
procesador, lo que nos conduce a que en realidad las únicas que deben
recibirse (desde el exterior) son las que denominadas interrupciones hardware
(que se originan en dispositivos externos al procesador).

◼ Como base para una interrupción se hace necesaria la gestión de estos 3


elementos:•

◼ (1) Ciertas líneas específicas (IRQs) en el bus de control•


◼ (2) El controlador de interrupciones (PIC). Un procesador específico que
realiza cierta elaboración previa de las peticiones antes de entregar la señal a
la UCP .•
◼ (3) Ciertas patillas específicas en el procesador
◼ Estas peticiones pueden ser generadas desde el software o incluso por el
procesador, lo que nos conduce a que en realidad las únicas que deben
recibirse son las que denominadas interrupciones hardware (que se originan
en dispositivos externos al procesador).
◼ Como base para una interrupción se hace necesaria la gestión de estos 3
elementos:
◼ (1) Ciertas líneas específicas en el bus de control.
◼ (2) El controlador de interrupciones. Un procesador específico que realiza
cierta elaboración previa de las peticiones antes de entregar la señal.
◼ (3) Ciertas patillas específicas en el procesador

Ing. Nilton MARURI MALPARTIDA Arquitectura de computadoras


¿COMO SE RECIBE LA PETICIÓN?

◼ Un periférico, tarjeta o dispositivo necesita atención, a tal efecto pone en


tensión baja una de las líneas del bus de control (que le había sido asignada).
La señal es recogida por el PIC, que la procesa, la clasifica, y envía una señal
al procesador. A continuación el procesador se da por notificado y pregunta
que tipo de excepción debe atender.

Ing. Nilton MARURI MALPARTIDA Arquitectura de computadoras


LÍNEAS DE PETICIÓN DE INTERRUPCIÓN

◼ El bus de control dispone de líneas específicas para el sistema de


interrupciones. En el PC XT existen 8, numeradas del 0 al 7. la interrupción 1
esta asignadas al temporizador y 2 al teclado, las restantes 6 líneas para otros
dispositivos, que aparecen como tales en el bus de control.

◼ A partir del modelo AT se añadieron otras 8 líneas, numeradas del 8 al 15,


mediante un segundo procesador PIC.
NIVEL DE PRIORIDAD

◼ El PIC dispone de 16 niveles de prioridad, numerados del 0 al 15,de forma


que los de número más bajo tienen mayor prioridad a los altos, se distribuye
de la siguiente manera:

Ing. Nilton MARURI MALPARTIDA Arquitectura de computadoras


TIPO DE REGISTROS DEL PIC

Cada PIC dispone de tres registros de 1 byte; IRR, ISR eI MR, que en conjunto
toman las decisiones de las interrupciones:

◼Registro de solicitud de interrupción IRR (Interrupt Request Register). Cada


bit de este registro controla el estado de una línea IRQ. Cuando se detecta una
petición en una de estas líneas, el bit correspondiente del IRR es dirigido al
puerto a 1.
◼Registro de interrupciones activas ISR (In Service Register). Cada bit indica
si ya existe una interrupción activada en la línea correspondiente.
◼Registro de máscara de interrupciones IMR (Interrupt Mask Register).
También aquí cada bit corresponde a una línea IRQ, e indica si esta permitida un
interrupción de ese nivel en ese momento.

Ing. Nilton MARURI MALPARTIDA Arquitectura de computadoras


RESUMEN

El PIC es un dispositivo complejo que realiza tareas que se listan a continuación:


◼Debido a que existen muchos dispositivos que pueden solicitar interrupciones, es
responsabilidad del PIC priorizarlas, cuando existen varias IRQs simultáneas.
◼Después de enviar una solicitud de interrupción y el procesador contesta que está
listo para atenderla, debe enviar un número de interrupción (número de vector).
◼Mantiene un registro de que se está procesando una interrupción. Cuando esto
sucede, no envía más peticiones del mismo dispositivo al procesador hasta que este
le responde con una señal EOI (End Of Interrupt), indicando que la rutina de servicio
precedente ha terminado, y puede aceptar otra interrupción.
◼Puede enmascarar de forma selectiva cualquiera de las 8 IRQs que tiene conectadas
(como se verá más adelante, es la única forma de enmascarar las interrupciones no
enmascarables).

Ing. Nilton MARURI MALPARTIDA Arquitectura de computadoras


PATILLAS DEL PROCESADOR

◼ Otro elemento que interviene en el mecanismo de excepciones son ciertas


patillas del procesador. Todos los miembros de la saga 8088 disponen de dos
patillas, designadas INTR y NMI, para este servicio específico.

◼ Sirven respectivamente para atender las interrupciones enmascarables y no


enmascarables (Definidas a continuación). A su vez, el procesador utiliza
ciertas señales en algunas de sus patillas para generar un ciclo INTA
("Interrupt Acknowledge"), que sirve para notificar al PIC que ha recibido la
interrupción.
TIPOS DE INTERRUPCIONES

◼ Se clasifican en tres tipos :hardware, software y excepciones del procesador.


INTERRUPCIONES HARDWARE

◼ Ocurren cuando un dispositivo (periférico) necesita atención del procesador y


genera una señal eléctrica en la línea IRQ que tiene asignada. Esta señal es
recogida y procesada por el controlador de excepciones PIC antes de ser
enviada al procesador, lo que puede realizarse de dos formas, según el tipo de
interrupción sea: enmascarable o no enmascarable.

Ing. Nilton MARURI MALPARTIDA Arquitectura de computadoras


INTERRUPCIÓN ENMASCARABLE

◼ Esta interrupción esta bajo el control de software, el procesador puede aceptar


o ignorar (enmascarar) la señal de interrupción. Para ello se envía una señal a
la patilla INTR , y el procesador la atiende o la ignora en función del
contenido de un bit (IF) en un registro (FLAGS) que puede estar habilitado o
deshabilitado.
◼ el PIC asocia un número entre 0 y 255 a cada petición. Este número, que se
conoce como número de interrupción, es diferente al número de línea IRQs
que realizó la solicitud. El número de interrupción sirve para identificar el
servicio mediante la tabla IDT . Una vez ejecutado el servicio, deben dejarse
las cosas como estaban para que el programa original pueda continuar su
ejecución.

Ing. Nilton MARURI MALPARTIDA Arquitectura de computadoras


INTERRUPCIÓN NO ENMASCARABLE

◼ Esta interrupción no puede ser deshabilitada por software. Este tipo de


interrupciones ocurren cuando se recibe una señal en la patilla NMI
("Nonmaskable Interrupt" ) del procesador. Se reservan para casos en que es
crítica la respuesta, por ejemplo que se detecte un error de paridad en la
memoria. Además son de prioridad más alta que las enmascarables.
◼ Cuando el procesador recibe una de estas instrucciones no se genera ningún
ciclo de reconocimiento de la instrucción (INTA), y el procesador le asigna
un 2 como número de excepción.

Ing. Nilton MARURI MALPARTIDA Arquitectura de computadoras


EXCEPCIONES DE SOFTWARE

◼ El proceso seguido es exactamente el mismo que si se recibe una interrupción


hardware en la patilla INTR, salvo que en este caso se conoce el tipo de
interrupción, y no se requiere ningún ciclo INTA.

◼ Este tipo de interrupciones son de prioridad más alta que las de hardware
(enmascarables y no enmascarables), de forma que si se recibe una
interrupción hardware mientras que se ejecuta una software, esta última tiene
prioridad.

Ing. Nilton MARURI MALPARTIDA Arquitectura de computadoras


◼ Este tipo de interrupciones son utilizadas tanto por el Sistema Operativo como
por los programas de usuario que pueden instalar las suyas particulares (las
255 posiciones de la tabla de vectores de interrupción están desocupadas).

Ing. Nilton MARURI MALPARTIDA Arquitectura de computadoras


EXCEPCIÓN AL PROCESADOR

◼ Durante el funcionamiento del procesador pueden ocurrir circunstancias


excepcionales; es usual citar como ejemplo el caso de una división por cero. En
estos casos, el procesador genera una excepción, que es tratada como si fuese una
interrupción software, con la diferencia de que el número de interrupción asociado
depende del tipo de excepción.

◼ En los tipos de interrupciones mencionadas con anterioridad las interrupciones


tienen un orden de prioridad, de forma que si ocurren dos de forma simultánea es
atendida la de prioridad más alta. El orden en que se atienden es el siguiente:

1º: Excepciones del procesador.


2º: Interrupciones software.
3º: Interrupciones hardware no enmascarables.
4º: Interrupciones hardware enmascarables.

Ing. Nilton MARURI MALPARTIDA Arquitectura de computadoras


EVOLUCIÓN

◼ PnP (Plug and play): «enchufar y usar» Es una innovación tecnológica que
surge en el año 1993, como solución a los inconvenientes que se presentaban
a la hora de hacer modificaciones a la CPU, ya que esta suponían cambios
demasiado drásticos en la arquitectura del PC, puesto a que había que
desmontar unos fastidios “jumpers” especiales para cada dispositivo y
configurar manualmente el componente lógico.
◼ El PnP que se basa en varias hipotesis. La principal, que los dispositivos
fueran configurables por software mediante un programa especial de "Set-up".
Además tanto el hardware como el software (controladores de dispositivos
cargados por el Sistema), deberían ser reconfigurables dinámicamente para
adaptarse a los cambios de configuración.

Ing. Nilton MARURI MALPARTIDA Arquitectura de computadoras


.. GRACIAS
..
POR SU
ATENCION
Ing. Nilton MARURI MALPARTIDA Arquitectura de computadoras

También podría gustarte