Está en la página 1de 4

Entrega

Nombre de la materia
Sistemas Digitales y Perifericos

Nombre de la licenciatura
Lic. En Ing. En Sistemas Computacionales

Nombre del alumno


Miguel Angel Sauza Anastacio

Matrícula
010462578

Nombre de la tarea
Interrupciones

Unidad #5

Nombre del Profesor


Francisco Pérez Espino
Nombre de la Unidad
Unidad 5 Nombre de la Materia

Fecha
28 de noviembre del 2022

INTRODUCCIÓN
Una interrupción es un mecanismo que permite ejecutar un bloque de instrucciones interrumpiendo la
ejecución de un programa, y luego restablece 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 su ejecución como si nada hubiera pasado.
Generalmente se aplica para realizar tareas elementales asincrónicas en las computadoras 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 dede el punto de vista de la
computadora. Por ejemplo, en el caso de Windows, la operación Ctrl-Alt-Supr tiene el efecto de que aparece
en pantalla una lista de procesos y ventanas en ejecución en el computador. En el sistema operativo DOS
cuando el usuario presiona simultaneamente dichas teclas, la computadora procede a reinicializarse, aunque
pueda estar ocupado ejecutando un programa en ese instante. Vale decir fuerza obligatoriamente a que el
equipo se reinicie. Ya sea en el sistema Windows o en DOS, la computadora 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.
Luego cada vez que el usuario presiona un tecla, el CPU es advertida a travéz de una señal especial de
interrupción. Cuando el CPU advierte/recibe una señal de interrupción suspende temporalmente el proceso
actual almacenando en memoria RAM un bloque con toda la información necesaria para restablecer
posteriormente la ejecución del progrma si es que procede. Enseguida el CPU determina qué elemento ha
solicitado la interrupción y para cada caso existe un vloque de interrupciones que realiza la tarea
correspondiente que es ejecutada a continuación. Terminada la ejecución se restablece el programa original
en el mismo punto en que fue interrumpido usando para ello la información almacenada previamente. Cada
interrupción tiene asignada un número único. Nuestras computadoras están diseñadas de manera que la
interrupción tiene asignada 4 bytes de memoria RAM. La dirección de los 4 bytes en la memoria corresponde
al número de la interrupción por 4.

¿Cuál es la diferencia entre una interrupción hardware y una llamada a subrutina?


Cuando se da un ainterrupción por hardware, es por que se ha producido una señal eléctrica causada por
algún dispositivo físico del equipo, siendo este mismo un suceso que es externo al procesador, este cambia el
flujo normal de ejecución y se convierte en un evento asíncrono. Dicha señal hace un informe al CPU de que
dicho despositivo requiere de su atención.
Gracias a esta señal el CPU detendrá el proceso que está ejecutando desde donde fue interrumpida,
ejecutando el proceso que se detuvo originalmente u otro proceso.
La subrituna es un proceso que sucede cuando el CPU sólo puede ejecutar una instrucción cada ciclo de
máquina, la diferencia de una subrutina con un sistema con interrupciones, es que la interrupción no se
genera con una instrucción CALL, sino en respuesta a una llamada generado por hardware o por software. Al
programa que se ejecuta al generarse una interrupción se denomina Rutina de Atención a interrupción (ISR).
Cuando hay una interrupción el programa principal se detiene y “salta” a atender la llamada a interrupción
(subrutina).
Nombre de la Unidad
Unidad 5 Nombre de la Materia

¿Cuáles son las diferencias básicas entre una biturcación, una llamada a subrutina y una interrupción
de programa?
Bifurcación: ocurre cuando la dirección de búsqueda no es la siguiente a la dirección previa, en el
secuenciador de programa la única diferencia entre un salto y una llamada a subrutina es que antes de
ejecutar la llamada a subrutina se guarda en la pila del PC.

Subrutina: a diferencia de una biturcación una llamada a subrutina almacena en la Pila del PC la dirección de
retorno, por ello esta dirección esta disponible cuando más tarde se ejecuta la instrucción de retorno de
subrutina, esto da lugar a que el procesador salte a la dirección almacenada en la cima de la pila del PC.

Las interrupciones de programa o software: estas son provocadas usando una función especial del
lenguaje, tienen como objetivo que el CPU ejecute algún tipo de función, al terminar de ejecutarse esta
función, se seguirá ejecutando el programa que provocó la interrupción. Estas son principalmente subrutinas
del BIOS o de DOS que pueden ser llamadas por un programa, su función es controlar el hardware, servir de
contacto entre los programas y las funcionalidades del
BIOS y del DOS. Este tipo de interrupciones podemos separarlas en dos categorías: las interrupciones DOS y
las del BIOS.

La diferencia es que las del sistema operativo sin más fáciles de usar, pero también más lentas ya que hacen
uno del BIOS, en cambio las interrupciones del BIOS son más rápidas, pero tienen la desventaja que al ser
parte del hardware son muy específicas y pueden variar dependiendo la marca del fabricante del circuito.

Indica cinco ejemplos de interrupciones externas y cinco de interrupciones internas.

Las interrupciones internas nos generadas por ciertos eventos que surgen durante la ejecución de un
programa.
Este tipo de interrupciones son manejadas en si 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 llamada a esta interrupción carias 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” actualizando 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.

IRQ 8: se produce con una frecuancia de 18,2 veces por segundo. Hay un pulso cada 55 milisegundos.
IRQ 9: generada al pulsar o soltar una tecla.
IRQ A: retraso vertical en EGA/VGA
IRQ B: se requiere servicio COM2 o COM 4
IRQ C: se requiere servicio COM1 o COM3

Las interrupciones externas las generan los dispositivos perifericos, como pueden ser:
Teclados, impresoras, tarjetas de comunicaciones, etc. También son generadas por los coprocesadores. No
es posible desactivar a las interrupciones externas.
Nombre de la Unidad
Unidad 5 Nombre de la Materia

Las interrupciones no son enviadas directamente a la UCP, sino que se madan a un circuito integrado cuya
función es exclusivamente manejar este tipo de interrupçiones. El circuito, llamada PIC 8259ª, si es controlado
por la UCP utilizando para tal control una seria de vias de comunicación llamadas puertos.

INT 1: paso a paso. Se procede tras cada intrucción cuando el procesador está en modo traza (utilizado para
la depuración de programas).
INT 2: interrupción no enmascarable. Tiene prioridad absoluta y se produce incluso aunque estén inhabilitadas
las interrupciones para indicar un hecho muy urgente.
INT 3: utilizada para poner puntos de ruptura en la depuración de programas.
INT 4: desbordamiento. Se dispara cuando se ejecuta un INTO y había desbordamiento. Si no hay
desbordamiento INTO equivale a NOP.
INT 0: Error de dvisión, generada automaticamente cuando el cociente no cabe en el registro o el divisor es
cero. Sólo puede ser generada mediante DIV o IDIV. El 8088/8086 guarda en la pila la sentencia siguiente a la
que causó la excepción, mientras que el 286 y superiores gurada la sentencia que la generó.

CONCLUSIÓN
Las interrupciones pueden venir provocadas tanto por el software como por el hardware, incluyéndose este
mismo «proceso» en la lista de software que lo puede provocar. Esto significa que cualquier
aplicación es capaz de generar interrupciones en nuetro sistema. Por otro lado los componentes y
periféricos que tenemos concetados a nuestro equipo también son capaces de generar
interrupciones, desde el teclado hasta cualquier disco usb, disco duro o dispositivo externo.
Las interrupciones son una forma de comunicación del software y el hardware con el CPU, de modo que si por
ejemplo escribimos en un teclado, tanto el teclado como el software (sus drivers), envían señales de
interrupciones a la CPU para lertar sobre la tarea enviada, hacer lo que toca, y luego seguir donde se había
quedado.

También podría gustarte