universidad de guayaquil
FACULTAD DE
CIENCIAS MATEMÁTICAS Y FÍSICA
ing: en NETWORKING
INTRODUCCION COMPUTACIONAL
GRUPO # 3
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
| IRQ | Prioridad | Función |
| 0 | 1 | Timer |
| 1 | 2 | Teclado Hardware |
| 2 | Reservada | |
| 3 | 11 | COM 2 |
| 4 | 12 | COM 1 |
| 5 | 13 | Tarjeta de Sonido |
| 6 | 14 | Controlador Floppy |
| 7 | 15 | Puerta Paralela |
| 8 | 3 | Reloj (tics) |
| 9 | 4 | Libre para tarjeta de red, sonido, puerta SCSI |
| 10 | 5 | idem |
| 11 | 6 | idem |
| 12 | 7 | PS-mouse |
| 13 | 8 | Co-procesador matemático |
| 14 | 9 | Canal IDE primario |
| 15 | 10 | Canal 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).
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