90 likes | 865 Vues
INTERRUPCIONES DE HARDWARE ENMASCARABLE Y NO-ENMASCARABLE. INTERRUPCION DE HARDWARE.
E N D
INTERRUPCION DE HARDWARE Es una señal recibida por el procesador de un ordenador, indicando que debe "interrumpir" el curso de ejecución actual y pasar a ejecutar código específico para tratar esta situación. Una interrupción es una suspensión temporal de la ejecución de un proceso, para pasar a ejecutar una subrutina de servicio de interrupción, la cual, por lo general, no forma parte del programa (generalmente perteneciente al sistema operativo, o al BIOS). Luego de finalizada dicha subrutina, se reanuda la ejecución del programa.
INTERRUPCION ENMASCARABLE Son aquellas en las que el usuario decide si quiere o no ser interrumpido (si tiene 8 líneas que reciben interrupciones enmascarables, también llamadas IRQ (INTERRUPT REQUEST),asociada a estas líneas se tiene una bandera IF(INTERRUPT FLAG) para determinar si acepta o no las interrupciones.
INTERRUPCION NO ENMASCARABLE Es un tipo especial de interrupción usada en la mayoría de los microordenadores como el IBM PC y el Apple II. Una interrupción no enmascarable causa que la CPU deje lo que está haciendo, cambie el puntero de instrucción para que apunte a una dirección particular y continúe ejecutando el código de esa dirección. Se diferencia de los otros tipos de interrupción en que los programadores no pueden hacer que la CPU las ignore, aunque algunos ordenadores pueden por medios externos bloquear esa señal, dando un efecto similar al resto de las interrupciones.
USOS Al no poderse desactivar son empleadas por dispositivos para los que el tiempo de respuesta es crítico, como por ejemplo el coprocesador matemático Intel 8087 en el IBM PC, el indicador de batería baja, o un error de paridad que ocurra en la memoria. En algunos ordenadores Clónicos las interrupciones no emascarables se usaban para manejar las diferencias entre su hardware y el original de IBM
Así, si se intentaba acceder a uno de estos dispositivos se lanzaba una NMI y la bios ejecutaba el código para el hardware presente en esa máquina.También se podían lanzar NMI por el usuario, permitiendo interrumpir el programa actual para permitir la depuración .En este caso al lanzarse una NMI se suspendía la ejecución del programa actual y el control se transfería a un depurador para que el programador pudiera inspeccionar el estado de la memoria, los registros, etc. Estas NMI eran lanzadas de diferentes maneras, como pulsando un botón, por medio de una combinación de teclas o por medio de un programa.