Sunteți pe pagina 1din 3

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 del computador y luego continuar su ejecucin como si nada hubiera pasado. Generalmente se aplica para realizar tareas elementales asincrnicas en el computador tales como responder al teclado, escribir en la pantalla, leer y escribir archivos. Podemos considerar una tarea asincrnica como aquella que es solicitada sin previo aviso y aleatoriamente desde el punto de vista del computador. Tomemos el caso de la operacin Ctrl-Alt-Supr. En Windows tiene el efecto de que aparece en pantalla una lista de los procesos y ventanas en ejecucin en el computador. En cambio en el Sistema Operativo DOS cuando el usuario presiona simultneamente dichas teclas el computador procede a reinicializarse, aunque pueda estar ocupado ejecutando un programa en ese instante. Vale decir fuerza obligadamente a que el computador se reinicialice. Ya sea en el sistema Windows o en DOS, el computador no est constantemente monitoreando el teclado para ver si el usuario ha solicitado un Ctrl-Alt-Del, ya que en ese caso consumira mucho tiempo de proceso en ello y por ende la capacidad de proceso se vera significativamente afectada. La solucin empleada es una interrupcin. Luego cada vez que el usuario presiona una tecla, la CPU es advertida a travs de una seal especial de interrupcin. Cuando la CPU advierte/recibe una seal de interrupcin suspende temporalmente el proceso actual almacenando en memoria RAM un bloque con toda la informacin necesaria para restablecer posteriormente la ejecucin del programa si es que procede. Enseguida la CPU determina qu elemento ha solicitado la interrupcin y para cada caso existe un bloque de instrucciones que realiza la tarea correspondiente que es ejecutada a continuacin. Terminada la ejecucin se restablece el programa original en el mismo punto en que fue interrumpido usando para ello la informacin almacenada previamente. Cada interrupcin tiene asignada un nmero nico. El PC est diseado de manera que la interrupcin tiene asignada 4 bytes de memoria RAM. La direccin de los cuatro bytes en la memoria corresponde al nmero de la interrupcin multiplicado por 4. Por ejemplo la interrupcin IRQ 5 tiene asignada 4 bytes en la direccin 0x00014 (0000:0014). El contenido de los 4 bytes de memoria RAM asignados a una interrupcin contiene a su vez una direccin que es un puntero a un bloque de instrucciones de mquina que realiza el procedimiento correspondiente. De este modo al iniciar la ejecucin de una interrupcin de los cuatro bytes que tiene asignados se obtiene la direccin del bloque de instrucciones que efectivamente se ejecutan. Por ejemplo si en la direccin 0000:0014 estuviera almacenado el valor 0xFFF00, ello significa que en dicha direccin ( (F000:FF00) se encuentra el bloque de instrucciones a ejecutar cuando la interrupcin IRQ 5 sea requerida. Esta forma de direccionamiento indirecto para las interrupciones brinda la flexibilidad necesaria para perfeccionar, modificar y extender el cdigo de instrucciones correspondiente permitiendo mantener por ejemplo la compatibilidad de las distintas versiones de BIOS con las aplicaciones y equipos que usan las interrupciones. Existen tres tipos de interrupciones: a) requeridas por hardware Las interrupcin original y tradicional es aquella iniciada por un perifrico que demanda atencin ya que ha ocurrido un evento relativo a este perifrico que demanda algn procedimiento de parte de la CPU. En un PC las primeras 16 interrupciones son de este tipo por lo que los primeros 64 bytes de la memoria RAM son direcciones que apuntan bloques de instrucciones residentes en otras reas de

la memoria RAM. Cabe notar que estas 16 primeras interrupciones que son generadas por hardware que necesita atencin rpida por lo que debe interrumpirse a la brevedad cualquier cosa que la CPU est haciendo en ese momento. Una lista de las interrupciones generadas por hardware es la siguiente IRQ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Prioridad 1 2 11 12 13 14 15 3 4 5 6 7 8 9 10 Funcin Timer Teclado Hardware Reservada COM 2 COM 1 Tarjeta de Sonido Controlador Floppy Puerta Paralela Reloj (tics) Libre para tarjeta de red, sonido, puerta SCSI Idem Idem PS-mouse Co-procesador matemtico Canal IDE primario Canal IDE secundario

b) requerida por software para interactuar con perifricos Una caracterstica importante de la operacin de interrupciones es que ellas estn jerarquizadas para resolver conflictos entre las mltiples interrupciones. Esto puede ser necesario por ejemplo mientras una interrupcin est siendo ejecutada para atender un dispositivo y en en ese momento un segundo dispositivo pide una interrupcin. Se debe tener un mecanismo para decidir que accin tomar. Este mecanismo est basado en la priorizacin de interrupciones de modo que una interrupcin de mayor prioridad puede interrumpir una de menor prioridad pero no al revs. De este modo el sistema de interrupciones funciona ordenadamente lo que permite por ende un funcionamiento robusto del computador. La administracin del sistema de interrupciones mediante este esquema de priorizaciones es muy eficiente de tal manera que su uso se extiende a la interaccin con perifricos. De tal manera que si necesita interactuar con un perifrico entonces la CPU acta a travs del sistema de interrupciones solicitandose a s mismo una interrupcin. De este modo previene que el perifrico est ocupado o bien no disponible. Por ejemplo si la CPU desea escribir un caractr en la pantalla, en vez de hacerlo directamente solicita una interrupcin. La interrupcin se ejecuta cuando las condiciones son las adecuadas tanto del punto de vista del perifrico como de la CPU. Las interrupciones para comunicarse con los perifricos forman la base de lo que se conoce como las interrupciones BIOS (Basic Input-Output System). Los vectores en la memoria asignada a estas interrupciones apuntan a memoria ROM, ya que las funciones correspondientes vienen implementadas desde fbrica y son independientes del sistema operativo. Las funciones BIOS se emplean con DOS, Windows y Lynux indistintamente. Los vectores de las interrupciones BIOS estn ubicados a partir del vector 0x10H, vale decir inmediatamente a continuacin de los vectores 0 a 15 que son generados por hardware y que no son enmascarables. Cabe hacer notar que la arquitectura del PC est definida de tal manera que el primer Kilobyte del espacio de memoria est reservado para vectores de interrupciones, vale decir hay espacio para 256 interrupciones. Las interrupciones BIOS ms importantes son las siguientes

Nmero INT 0x10 INT 0x11 INT 0x12 INT 0x13 INT 0x14 INT 0x15 INT 0x16 INT 0x17 INT 0x18 INT 0x19 INT 0x1A INT 0x1B INT 0x1C INT 0x1D INT 0x1E INT 0x1F INT 0x1A

Funcin Video Verificacin de Equipo Verificacin de Memoria Disquetera Puerta Serial Cassette Teclado Impresora Programa Basic Partida del Computador Hora del da Break Teclado Tics Tabla Inicializacin de Video Tabla Inicializacin de Disco Generador de Caracteres Grficos Reloj

S-ar putea să vă placă și