Interruptores
Enviado por yajis_lunita • 24 de Noviembre de 2014 • 782 Palabras (4 Páginas) • 161 Visitas
INTERRUPCIONES
CONCEPTO DE INTERRUPCIONES
Una interrupción es una operación del hardware que indica a la CPU que detenga la ejecución de lo que estaba haciendo, conserva la situación del proceso y envía a la CPU a una dirección determinada en la que tiene un programa de control de interrupción o de servicio de interrupciones.
CAUSAS DE INTERRUPCIONES
* Error de máquina detectado
* Error de programa
* Interrupción externa (el operador pide una determinada función)
* Interrupción de entrada/salida (el dispositivo de E/S pide atención o hace una indicación de que ha iniciado una operación)
* Llamada al supervisor por el programa
NECESIDAD DE UN SISTEMA DE INTERRUPCIONES
Surge de la sincronización entre CPU y los dispositivos. Dado que los componentes mecánicos no cumplen con la exactitud de tiempos de ejecución que se da en la CPU, y puede averiguar:
- Si el dispositivo está preparado
- Si una operación E/S se está ejecutando
- Si una operación ha terminado
Cuando se trata de periféricos resulta eficiente la modalidad de interrupción para la atención de estos
=> atiende al periférico cuando lo solicite y puede utilizar el resto de tiempo disponible en ejecutar otro proceso (p.e. la atención de otro periférico)
INTERRUPCIONES SIMPLES
-Solucionan los problemas del polling mediante una única línea de interrupción.
CPU con interrupciones:
-Tiene una línea de entrada de petición de interrupción (IRQ), normalmente activa a nivel bajo.
-Dispone de un bit interno de inhibición de interrupciones (I-bit), a 1 para inhibir la entrada IRQ.
-Dispone de instrucciones máquina para actuar sobre el I-bit.
-La petición de interrupción se traduce en la llamada a una rutina servidora de interrupción (ISR).
-La CPU forma la dirección en memoria de comienzo de la ISR.
Procesamiento de la interrupción (si I-bit es 0):
1.- La CPU termina de ejecutar la instrucción actual.
2.- Se guarda el estado de la CPU en la pila.
3.- Se deshabilitan las futuras interrupciones poniendo I-bit a 1.
4.- Se carga en el contador del programa la dirección de comienzo de la ISR, con lo que se ejecuta.
5.- La ISR retorna mediante una instrucción especial de fin de interrupción (p.ej.: RETI).
6.- Se recupera el estado de la CPU de la pila.
7.- El programa interrumpido continúa por donde se quedó.
EJEMPLO:
La interrupción desde un periférico se inicia, cuando tiene información para entregar, a través del envío de una señal a la CPU para solicitar atención conocida como IRQ (Interrupt Request)
Si la interrupción está enmascarada la
...