Sie sind auf Seite 1von 4

Nombre de la materia

Sistemas digitales y periféricos

Nombre de la Licenciatura
Ingeniería en sistemas computacionales

Nombre del alumno


Rodrigo Sandoval Durán

Matrícula
010586004

Nombre de la Tarea
Tarea Semana 5

Unidad 4
Unidad 4 – Elementos para la mejora de periféricos.

Nombre del Tutor


José Guadalupe Jiménez García

Fecha
8 de octubre de 2019
Unidad 3: Elementos para la mejora de periféricos.
Sistemas digitales y periféricos.

Introducción

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 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 desde 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 los procesos y ventanas en ejecución en el computador. En el Sistema Operativo DOS cuando el usuario
presiona simultáneamente dichas teclas, la computadora procede a reinicializarse, aunque pueda estar ocupado
ejecutando un programa en ese instante. Vale decir fuerza obligadamente a que el equipo se reinie. 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 una tecla, el CPU es advertida a través 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 programa si es que procede. Enseguida el CPU determina qué elemento ha
solicitado la interrupción y para cada caso existe un bloque de instrucciones 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 cuatro bytes en la memoria corresponde al número de
la interrupción multiplicado por 4.

Desarrollo de tarea

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

Cuando se da una interrupción por hardware, es porque 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
dispositivo requiere de su atención.
Gracias a esta señal el CPU detendrá el proceso que está ejecutando para que la interrupción sea atendida.
Una vez terminada la interrupción, el CPU reanudara la ejecución desde donde fue interrumpida, ejecutando el
proceso que se detuvo originalmente u otro proceso.
La subrutina 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 generada 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).

¿Cuáles son las diferencias básicas entre una bifurcación, una llamada a subrutina y una interrupción
de programa?

2
Unidad 3: Elementos para la mejora de periféricos.
Sistemas digitales y periféricos.

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 bifurcación una llamada a subrutina almacena en la Pila del PC la dirección de
retorno, por ello esta dirección está 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 el DOS
que pueden ser llamadas por un programa, su función es controlar el hardware, servir de contacto entre los
programas y las funciones 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 son más fáciles de usar, pero también más lentas ya que hacen
uso 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 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.

 IRQ 8: Se produce con una frecuencia 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 COM4
 IRQ C: Se requiere servicio COM1 o COM3

Las interrupciones externas las generan los dispositivos perifericos, 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 a la 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.

3
Unidad 3: Elementos para la mejora de periféricos.
Sistemas digitales y periféricos.

 INT 1: Paso a paso. Se produce tras cada instrucció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
inhibidas 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 división, generada automáticamente 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 guardan en la pila la sentencia siguiente a la que causó la excepción, mientras que el 286
y superiores guardan la sentencia que la generó.

Conclusiones

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 nuestro sistema. Por otro lado los componentes y periféricos que tenemos
conectados 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 alertar sobre la tarea enviada, hacer lo que toca, y luego seguir donde se había
quedado.

Referencias y fuentes de información.

- Fundamentos de diseño lógico y de computadoras (Morris, 2005).


- Unidad 2, gestion de procesos – Escuela Universitaria de Informática de Segovia.

Das könnte Ihnen auch gefallen