Está en la página 1de 4

Nombre de la materia

Sistemas digitales y periféricos

Nombre de la Licenciatura
Ingeniería en sistemas computacionales

Nombre del alumno


Miguel Villanueva zamora

Matrícula
010461193

Nombre de la Tarea
Tarea Semana 5

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

Nombre del Tutor


Claudia Patricia Rojano Hernndez

Fecha
19-11-22

Sabado 19 de noviembre de 2022

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

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


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

También podría gustarte