Existen tres tipos principales de
interrupciones que producen una detención en la ejecución normal de un
programa. Se clasifican de la manera siguiente:
- Interrupciones requeridas por hardware
- Interrupciones requerida por software para interactuar con periférico
Es
iniciada por un periférico que demanda atención ya que ha ocurrido un evento
relativo a este periférico que demanda algún procedimiento de parte de la CPU.
En un PC las primeras 16 interrupciones son de este tipo por lo que los
primeros 64 bytes de la memoria RAM son direcciones que apuntan bloques de
instrucciones residentes en otras áreas de la memoria RAM.
INTERRUPCIONES REQUERIDA POR SOFTWARE PARA INTERACTUAR CON PERIFÉRICO
Una
característica importante de la operación de interrupciones es que ellas están
jerarquizadas para resolver conflictos entre las múltiples interrupciones. Este
mecanismo está basado en la priorización de interrupciones de modo que una
interrupción de mayor prioridad puede interrumpir una de menor prioridad pero
no al revés. De este modo el sistema de interrupciones funciona ordenadamente
lo que permite por ende un funcionamiento robusto del computador.
INTERRUPCIÓN EXTERNA
Las interrupciones externas
provienen de dispositivos de entrada y salida (E/S), de un dispositivo de
temporización, de un circuito que monitorea la fuente de almacenamiento o de
cualquier otra fuente externa.
Estas interrupciones se pueden
disparar desde el exterior del micro cambiando el nivel de tensión de uno de
sus pines, todas tienen asociadas una o varias patillas del micro controlador y
son las que usaremos para los botones.
Algunos ejemplos de lo que
produce interrupciones externas son dispositivos de E/S que solicitan
transferencia de datos, dispositivos de E/S que terminan transferencia de
datos, tiempo transcurrido de un evento o una falla de energía.
INTERRUPCIONES INTERNAS
Son aquellas provocadas dentro
del propio procesador por una situación anormal de funcionamiento de alguna de
sus partes. Las interrupciones internas surgen debido a la utilización ilegal o
errónea de una instrucción o datos. Las interrupciones internas también se
llaman trampas. Algunos ejemplos de las interrupciones provocadas por
condiciones de error internas son los sobreflujos de registro, intentar dividir
entre cero, un código de operación no válido, desbordamiento de pila, y
violación de la protección.
INTERRUPCIONES DE PROGRAMA
Son aquellas que son programables
y que podemos cambiar. Las interrupciones de software podemos llegar a
manejarlas y por ello el ensamblador nos proporciona una instrucción que nos
permita poner en funcionamiento una determinada rutina de interrupción; esta
instrucción es INT.
La interrupción de programa se
inicia al ejecutar una instrucción de solicitud especial que se comporta como
una interrupción más que como una solicitud de subrutina. El programador puede
utilizarla para iniciar un procedimiento de interrupción de programa se asocia
con una instrucción de llamada de supervisor.
TIPOS DE INTERRUPCIONES DE HARDWARE
Interrupción enmascarable: bajo
control del software, el procesador puede aceptar o ignorar (enmascarar) la
señal de interrupción. La primera señal es simplemente un aviso; la segunda es
una petición para que el PIC coloque en el bus de datos un Byte con el número
de interrupción, de forma que el procesador pueda localizar el servicio
solicitado.
Interrupción no enmascarable: la interrupción no puede ser deshabilitada por
software.
CICLO DE INTERRUPCIÓN
No hay comentarios:
Publicar un comentario