You are on page 1of 4

Interrupciones por hardware y software

Concepto Interrupciones. Una interrupcin es una operacin que suspende la ejecucin de un programa cuando quiere comunicarse de modo que el sistema pueda realizar una accin especial. Una interrupcin tiene una subrutina asociada, que realiza lo que sea necesario para la interrupcin, de este modo, los dispositivos pueden provocar que la CPU deje por el momento la tarea que estaba realizando y atienda la interrupcin. La rutina de interrupcin ejecuta y por lo general regresa el control del procedimiento que fue interrumpido, el cual entonces reasume su ejecucin. Cuando no existan interrupciones, era el procesador el que tena que estar comprobando el estado del dispositivo cuando lo necesitaba. Todo ese tiempo que el procesador estaba sondeando el estado de los dispositivos era tiempo que no se poda dedicar a otros procesos, con lo que significa esto en cuanto a rendimiento. Por todo ello se. pens que lo mejor era que existiera una lnea especial entre el procesador y los dispositivos, por la que los dispositivos indicaban al procesador que ya estaban listos. Cuando al procesador le llega una interrupcin, la atiende inmediatamente dejando de hacer lo que estuviera haciendo.

Tipos de Interrupciones

Es una seal elctrica producida por un dispositivo fsico del ordenador, siendo un suceso externo al procesador que cambia el flujo normal de ejecucin del procesador , conviertiendose en un evento asncrono. Esta seal informa a la CPU que el dispositivo requiere su atencin. La CPU parar el proceso que est ejecutando para atender la interrupcin. Cuando la interrupcin termina, la CPU reanuda la ejecucin en donde fue interrumpida, pudiendo ejecutar el proceso parado originalmente o bien otro proceso. Las interrupciones por hardware son generadas por un agente externo al procesador (disco duro, teclado, etc) por ejemplo del teclado, cada vez que se presiona una tecla y se suelta se genera una interrupcin. Las interrupciones tienen distintas prioridades predefinidas que indican que interrupcin tiene mayor prioridad y no puede se interrupida por una de menor prioridad, as el Registro de Interrupciones Activas (ISR) indica el nmero de la interrupcin en concreto que se est realizando. Si llega otra interrupcin de hardware con menor o igual prioridad no se ejecutar, pues se asume que an est en ejecucin la anterior, mientras el ISR est con su nmero. Los IRQ se encuentran numerados, y cada dispositivo hardware se encuentra asociado a un nmero IRQ. Por ejemplo,el reloj (en IRQ 0) tiene una prioridad ms alta que el teclado (IRQ 1).

Interrupciones por software

Las interrupciones de software son eventos sncronos que son provocadas por el programa en ejecucin usando una funcin especial del lenguaje, esto puede ocurrir al llamar a la instruccin INT, al realizar una divisin por 0 o realizar una peticin de una interrupcin externa. Tienen como objetivo el que la CPU ejecute algn tipo de funcin. Al terminar de ejecutarse esta funcin, se seguir ejecutando el programa que provoc la interrupcin. Este tipo de interrupciones es la forma ms importante que tendrn los programas de ejecutar funciones especiales del DOS (Disk Operating System) o del BIOS (Basic Input Output System). Estas funciones tienen un nmero de interrupcin software asociada. Cuando un programa lanza una interrupcin de este tipo, la CPU ejecuta su funcin de tratamiento asociada. Se guarda la mscara de interrupciones, se modifica la mscara a fin de habilitar selectivamente las interrupciones que permitiremos durante la ejecucin de la rutina, se habilitan globalmente las interrupciones seteando el flag IF en 1 y se ejecuta la rutina de atencin de la interrupcin solicitada. Se deshabilitan globalmente las interrupciones seteando el flag IF en 0, se reemplaza la mscara de interrupciones con la original, retorna de la interrupcin con una instruccin que restaura el estado del programa antes del llamado (IRET), restaura el PC de la pila, restaura el PSW de la pila (datos de interrupcin) Las funciones que se ejecutan con cada interrupcin software son un estndar en el mundo PC. Algunas de las interrupciones que nos van a ser mas tiles sern:

Interrupcin 14h: Acceso al puerto serie por la BIOS. Interrupcin 21h: Funciones del DOS. Interrupcin 17h: Servicios de acceso a la impresora de la BIOS.

You might also like