Está en la página 1de 7

INTERRUPCIONES

CONCEPTO DE INTERRUPCIONES Una interrupcin es una operacin del hardware que indica a la CPU que detenga la ejecucin de lo que estaba haciendo, conserva la situacin del proceso y enva a la CPU a una direccin determinada en la que tiene un programa de control de interrupcin o de servicio de interrupciones.

INTERRUPCIONES
INTERRUPCIONES DE HARDWARE: Ocurren cuando un dispositivo necesita atencin del procesador y genera una seal elctrica en la lnea IRQ que tiene asignada. Esta seal es recogida y procesada por el controlador de excepciones PIC antes de ser enviada al procesador, lo que puede realizarse de dos formas, segn el tipo de interrupcin sea enmascarable o no enmascarable. Interrupciones por hardware enmascarables: Aquellas en las que el usuario decide si quiere o no ser interrumpido. Interrupciones por hardware no enmascarables (NMI): Aquellas que siempre interrumpen al programa

INTERRUPCIONES
Interrupcin enmascarable: significa que, bajo control del software, el procesador puede aceptar o ignorar (enmascarar) la seal de interrupcin. Para ello se enva una seal a la patilla INTR , y el procesador la atiende o la ignora en funcin del contenido de un bit (IF) en un registro (FLAGS) que puede estar habilitado o deshabilitado. En el primer caso, cuando se recibe la seal, el procesador concluye la instruccin que estuviese en proceso y a continuacin responde con una combinacin de seales en algunas de sus patillas componiendo una sucesin de dos seales INTA ("InterruptAcknowledge"). La primera seal es simplemente un aviso; la segunda es una peticin para que el PIC coloque en el bus de datos un Byte con el nmero de interrupcin, de forma que el procesador pueda localizar el servicio solicitado.

INTERRUPCIONES
Asociado al concepto de interrupcin se tiene un rea de memoria llamada vector de interrupciones; la cual contiene las direcciones de las rutinas de servicio de cada interrupcin. Esta rea se encuentra en el segmento 0000:0000. Para cada una de las direcciones se utilizan 4 bytes, dos bytes para el segmento y 2 para el desplazamiento. La instruccin INT tipo, realiza las siguientes tareas: 1. Salvar el registro de banderas. 2. Salvar el IP de la direccin de regreso. 3. Salvar el CS (segmento de cdigo) de la direccin de regreso. 4. Salva los registros. 5. Calcula el rea donde esta la direccin de la rutina de servicio de la siguiente manera: tipo*4, en el vector de interrupciones. 6. Ejecuta la rutina de servicio. A su vez, IRET, que regresa de la interrupcin, ejecuta lo siguiente: 1. Restaura los registros (A su estado inicial) 2. Desempila la direccin de regreso. 3. libera el registro de bandera.

INTERRUPCIONES
Interrupcin no enmascarable: significa que la interrupcin no puede ser deshabilitada por software. Este tipo de interrupciones ocurren cuando se recibe una seal en la patilla NMI ("NonmaskableInterrupt") del procesador. Se reservan para casos en que es crtica la respuesta, por ejemplo que se detecte un error de paridad en la memoria. Adems son de prioridad ms alta que las enmascarables.

También podría gustarte