domingo, 15 de noviembre de 2015

CONCEPTO DE INTERUPCION



universidad de guayaquil
FACULTAD  DE  CIENCIAS MATEMÁTICAS Y FÍSICA
ing: en NETWORKING
INTRODUCCION COMPUTACIONAL
GRUPO # 3







CONCEPTO DE INTERRUPCION
 Una interrupción es un mecanismo que permite ejecutar un bloque de instrucciones interrumpiendo la ejecución de un programa, y luego restablecer la ejecución 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 ejecución como si nada hubiera pasado.
Generalmente se aplica para realizar tareas elementales asincrónicas en el computador tales como responder al teclado, escribir en la pantalla, leer y escribir archivos. Podemos considerar una tarea asincrónica como aquella que es solicitada sin previo aviso y aleatoriamente desde el punto de vista del computador. Tomemos el caso de la operación Ctrl-Alt-Supr. En Windows tiene el efecto de que aparece en pantalla una lista de los procesos y ventanas en ejecución en el computador. En cambio en el Sistema Operativo DOS cuando el usuario presiona simultáneamente 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 consumiría mucho tiempo de proceso en ello y por ende la capacidad de proceso se vería significativamente afectada. La solución empleada es una interrupción.

Existen tres tipos de interrupciones:

Interrupciones internas de hardware
Las interrupciones internas son generadas por ciertos eventos que surgen durante la ejecución de un programa. Este tipo de interrupciones son manejadas en su totalidad por el hardware y no es posible modificarlas.
Un ejemplo claro de este tipo de interrupciones es la que actualiza el contador del reloj interno de la computadora, el hardware hace el llamado a esta interrupción varias veces durante un segundo para mantener la hora actualizada.

Aunque no podemos manejar directamente esta interrupción (no podemos controlar por software las actualizaciones del reloj), es posible utilizar sus efectos en la computadora para nuestro beneficio, por ejemplo para crear un "reloj virtual" actualizado continuamente gracias al contador del reloj interno. Unicamente debemos escribir un programa que lea el valor actual del contador y lo traduzca a un formato entendible para el usuario.

Interrupciones externas de hardware
Las interrupciones externas las generan los dispositivos periféricos, como pueden ser: teclado, impresoras, tarjetas de comunicaciones, etc. También son generadas por los coprocesadores.
No es posible desactivar a las interrupciones externas.
Estas interrupciones no son enviadas directamente al UCP, sino que se mandan a un circuito integrado cuya función es exclusivamente manejar este tipo de interrupciones. El circuito, llamado PIC 8259A, si es controlado por la UCP utilizando para tal control una serie de vias de comunicación llamadas puertos.

Una lista de las interrupciones generadas por hardware es la siguiente
IRQPrioridadFunción
01Timer
12Teclado Hardware
2
Reservada
311COM 2
412COM 1
513Tarjeta de Sonido
614Controlador Floppy
715Puerta Paralela
83Reloj (tics)
94Libre para tarjeta de red, sonido, puerta SCSI
105idem
116idem
127PS-mouse
138Co-procesador matemático
149Canal IDE primario
1510Canal IDE secundario



Interrupciones de software
Las interrupciones por software son aquellas generadas por un programa mientras este está ejecutándose. En general, actúan de la siguiente manera: Un programa en ejecución llega a una instrucción que requiere del sistema operativo para alguna tarea, por ejemplo para leer un archivo en el disco duro (cuando un programa necesita un dato exterior, se detiene y pasa a cumplir con las tareas de recoger ese dato).
El uso de las interrupciones nos ayuda en la creación de programas, utilizandolas nuestros programas son más cortos, es más fácil entenderlos y usualmente tienen un mejor desempeño debido en gran parte a su menor tamaño.
Este tipo de interrupciones podemos separarlas en dos categorias: las interrupciones del sistema operativo DOS y las interrupciones del BIOS.
La diferencia entre ambas es que las interrupciones del sistema operativo son más fáciles de usar pero también son más lentas ya que estas interrupciones hacen uso del BIOS para lograr su cometido, en cambio las interrupciones del BIOS son mucho más rápidas pero tienen la desventaja que, como son parte del hardware son muy específicas y pueden variar dependiendo incluso de la marca del fabricante del circuito.
La elección del tipo de interrupción a utilizar dependerá unicamente de las caracteristicas que le quiera dar a su programa: velocidad (utilizando las del BIOS) o portabilidad (utilizando las del DOS).



Resultado de imagen para que es una interrupcion de hardware




SINTESIS
Las interrupciones constituyen quizás el mecanismo más importante para la conexión del microcontrolador con el mundo exterior, sincronizando la ejecución de programas con acontecimientos externos.
Una interrupción es una operación que suspende la ejecución de un programa cuando quiere comunicarse de modo que el sistema pueda realizar una acción especial.
Una interrupción tiene una subrutina asociada que realiza lo que sea necesario para la interrupción de este modo los dispositivos pueden provocar que el CPU dejen por un momento la tarea que estaba realizando y atienda la interrupción.
La rutina de interrupción ejecuta y por lo general regresa el control del procedimiento que fue interrumpido el cual entonces asume su ejecución.
Las interrupción por hardware son aquellas que son provocadas por dispositivos externos al procesador su característica principal es que no son programadas es decir pueden ocurrir en cualquier momento en el programa.

A diferencia de esta las interrupciones por software son programadas por el usuario es decir el usuario decide cuando y donde ejecutarlas, generalmente son usadas para realizar entrada y salida. 

0 comentarios:

Publicar un comentario