sábado, 21 de febrero de 2015

Interrupciones

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

INTERRUPCIONES REQUERIDA POR HARDWARE


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

El procesador comprueba si ah ocurrido alguna interrupción. Si no hay interrupciones pendientes, el procesador trae la próxima instrucción del programa en curso. Si hay una interrupción pendiente, el procesador suspende la ejecución del programa en curso y ejecuta la rutina de tratamiento de la interrupción


No hay comentarios:

Publicar un comentario