Sei sulla pagina 1di 4

Eduardo Gonzlez Lpez

12280085

Lenguaje de Interfaz

Interrupciones
Una interrupcin es un mecanismo que permite ejecutar un bloque de instrucciones
interrumpiendo la ejecucin de un programa, y luego restablecer la ejecucin del mismo sin
afectarlo directamente. De este modo un programa puede ser interrumpido temporalmente
para atender alguna necesidad urgente de la computadora y luego continuar su ejecucin de
manera normal y como si nada hubiera pasado.
Pasos durante una interrupcion
El CPU suspende lo que estaba realizando. El hw transfiere el control al sistema de operacin.
Deshabilita las interrupciones, mientras se atiende una interrupcin no se puede atender otra
que llegue, algunas arquitecturas con manejo de interrupciones sofisticadas permiten, mediante
un esquema de prioridades, interrumpir un servicio de interrupcin para atender otra de mayor
prioridad, por lo que, aquellas interrupciones de menor o igual prioridad son deshabilitadas.
Por lo general se maneja mediante un vector de interrupciones, indexado por el tipo de
interrupcin, en este vector se encuentra la direccin de comienzo de la rutina que da servicio
a dicho tipo.

Se ejecuta la rutina de interrupcin


Se restaura el estado anterior
Se habilitan las interrupciones

La arquitectura de interrupciones debe tambin almacenar la direccin de la instruccin


interrumpida.

Tipos de Interrupciones
Interrupcin de E/S

Con el fin de iniciar una operacin de E/S la CPU carga los registros apropiados dentro del
controlador del dispositivo, el controlador a su vez examina el contenido de estos registros para
determinar qu accin debe realizar, por ejemplo, si se encuentra una solicitud de lectura, el
controlador iniciara la transferencia de datos del dispositivo a su buffer local, cuando haya
terminado de hacer esto el controlador informara al CPU que ha completado su operacin, esta
comunicacin se genera por medio de una interrupcin.

Interrupciones de programa
Las interrupciones software son provocadas por los programas usando una funcin especial del
lenguaje, 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).
Este tipo de interrupciones podemos separarlas en dos categoras: las interrupciones del sistema
operativo DOS y las interrupciones del BIOS.
La diferencia entre ambas es que las interrupciones del sistema operativo son ms fciles de
usar pero tambin son ms lentas ya que estas interrupciones hacen uso del BIOS para lograr su
cometido, en cambio las interrupciones del BIOS son mucho ms rpidas pero tienen la
desventaja que, como son parte del hardware son muy especficas y pueden variar dependiendo
incluso de la marca del fabricante del circuito.
La eleccin del tipo de interrupcin a utilizar depender nicamente de las caractersticas que
le quiera dar a su programa: velocidad (utilizando las del BIOS) o portabilidad (utilizando las del
DOS).
Interrupciones externas
Las interrupciones externas las generan los dispositivos perifricos, como pueden ser: teclado,
impresoras, tarjetas de comunicaciones; tambin son generadas por los coprocesadores.

Estas interrupciones no son enviadas directamente a la UCP, sino que se mandan a un circuito
integrado cuya funcin es exclusivamente manejar este tipo de interrupciones.
Un dispositivo perifrico puede generar una seal elctrica llamada interrupcin que modifica
ciertas banderas que se encuentran en el CPU. La deteccin de una interrupcin es parte del
ciclo de instruccin. En cada ciclo de instruccin, el CPU revisa las banderas hardware para ver
si algn dispositivo necesita atencin.

Localidades Reservadas para las interrupciones.

En la parte baja de la memoria hay 256 vectores de interrupcin.


El 8086/8088 mantiene siempre una lista de vectores de interrupcin (direcciones de las rutinas
de gestin de interrupciones) en los primeros 1024 bytes de RAM. De la misma forma, todos los
ordenadores basados en el Grupo de Arquitectura de Computadores y Diseo Lgico.

Registro de Banderas
Es un registro de 16 bits, de los cuales nueve sirven para indicar el estado actual de la mquina
y el resultado del procesamiento. Muchas instrucciones aritmticas y de comparacin cambian
el estado de las banderas y apoyndose en ellas se pueden tomar decisiones para determinar la
accin subsecuente.
La tabla contiene 16 posiciones (de 0 a 15), que son los 16 bits del registro de banderas,
numeradas de derecha a izquierda. La posicin 0 la encontraremos a la derecha y la posicin 15
a la izquierda.
Los bits de las banderas son las siguientes:
OF (overflow, desbordamiento): Indica desbordamiento del bit de mayor orden despus de una
operacin aritmtica de nmeros con signo (1=existe overflow; 0=no existe overflow).
DF (direccin): Controla la seleccin de incremento o decremento de los registros SI y DI en las
operaciones con cadenas de caracteres (1=decremento automtico; 0=incremento). La bandera
DF se controla con las instrucciones STD y CLD.

IF (interrupcin): Controla el disparo de las interrupciones (1=habilita las interrupciones;


0=deshabilita las interrupciones). La interrupcin no enmascarable es la nica que no puede ser
bloqueada por esta bandera. El estado de la bandera IF se controla con las instrucciones STI y
CLI.
TF (trampa): Permite la operacin del procesador en modo de depuracin (paso a paso)
SF (signo): Contiene el signo resultante de una operacin aritmtica (0=positivo; 1=negativo).
ZF (cero): Indica el resultado de una operacin aritmtica o de comparacin (0=resultado
diferente de cero; 1=resultado igual a cero).
AF (acarreo auxiliar): Contiene el acarreo del bit 3. Esta bandera se prueba con las instrucciones
DAA y DAS para ajustar el valor de AL despus de una suma o resta BCD.
PF (paridad): Indica si el nmero de bits 1, del byte menos significativos de una operacin, es
par (0=nmero de bits 1 es impar; 1=nmero de bits 1 es par).
CF (acarreo): Contiene el acarreo del bit de mayor orden despus de una operacin aritmtica;
tambin almacena el contenido del ltimo bit en una operacin de desplazamiento o de
rotacin.

Potrebbero piacerti anche