Está en la página 1de 23

República bolivariana de Venezuela

Ministerio Del Poder Popular Para La Educación Superior


Universidad Nacional Experimental De Los Llanos Centrales “Rómulo Gallegos”
2do Año de Medicina Sección “3”
Extensión de Valle De La Pascua, Estado Guárico

Interrupción

Facilitador: Marzo, 2021 Integrantes:


ING. Renny Martinez Arnaude Caryness CI.30.050.150
Florentino Anabelle CI. 30.264.249
Guzmán Miguel CI.29.647.809
Morales Génesis CI.29.782.296
Pérez Sergio CI.29.558.257
Salazar Coraima CI.30.932.593
Índice: pág.

Introducción……………………………………………………………....3

Contenido
Interrupción………………………………………………………………4
Importancia de las interrupciones………………………………………5
Ventajas y desventajas de las interrupciones…………………………..5
Tipos de interrupciones……………………………………………..…6,7
Determinación de la dirección de la rutina de servicios de
interrupción (Direcciones Fijas)………………………..….….….8, 9,10
Direcciones Variables (Por Interrupciones ventorizadas)…...…..10,11
Enmascaramiento y prioridades de la interrupción….…..12, 13, 14,15
Determinación de la fuente que genera la interrupción……….....15,16
Sistemas de prioridad…………………………………………….…...16
Interrupciones simultáneas………………..……………………...…..17
Interrupciones anidadas……………………………………………17,18
Inhibición de interrupciones………………………………………….18

Conclusiones……………………………….……………..…………..19
Anexos………………………………………..……………….…....20,21
Referencias Bibliográficas…………………………………..……….22
Introducción:
Cabe destacar, que una interrupción es el método de procesamiento del
microprocesador por medios periféricos. Una interrupción es usada para
detener temporalmente la ejecución de un programa. El microprocesador
responde a la interrupción, deteniendo el servicio rutinario. El cual es un
pequeño programa que instruye al microprocesador para decirle cómo manejar
dicha interrupción.

Hay 4 tipos básicos de interrupción. Enmascarable, No-enmascarable,


Interrupción de hardware e interrupción de Software.

La interrupción enmascarable es aquella que el microprocesador puede


ignorar dependiendo de algunas condiciones predeterminadas y definidas por
el registro del estado. Por lo contrario, la Interrupción No-enmascarable
requiere una respuesta inmediata del microprocesador, esto sucede
usualmente por circunstancias graves como una falla energética.

La Interrupción de Hardware es utilizada por los dispositivos para comunicar


que requiere atención del sistema operativo y la interrupción de Software es
causada ya sea por una condición excepcional en el propio procesador, o una
instrucción especial en el conjunto de instrucciones que provoca una
interrupción cuando se ejecuta .El primero se llama a menudo trampa o
excepción y se usa para errores o eventos que ocurren durante la ejecución del
programa que son lo suficientemente excepcional de que no puede ser
manejados dentro del propio programa.
3

Interrupción:
En el contexto de la informática, una interrupción (del inglés interrupt request,
en español «petición de interrupción») es una señal recibida por el procesador
de una computadora, que indica que debe «interrumpir» el curso de ejecución
actual y pasar a ejecutar código específico para tratar esta situación.

Una interrupción es una suspensión temporal de la ejecución de un proceso,


para pasar a ejecutar una subrutina de servicio de interrupción, la cual, por lo
general, no forma parte del programa, sino que pertenece al sistema operativo
o al BIOS. Una vez finalizada dicha subrutina, se reanuda la ejecución del
programa.

Las interrupciones son generadas por los dispositivos periféricos habilitando


una señal del CPU (llamada IRQ del inglés; interrupt request;) para solicitar
atención del mismo. Por ejemplo. Cuando un disco duro completa una lectura
solicita atención al igual que cada vez que se presiona una tecla o se mueve el
ratón.

La primera técnica que se empleó para esto fue el polling, que consistía en
que el propio procesador se encargara de sondear los dispositivos periféricos
cada cierto tiempo para averiguar si tenía pendiente alguna comunicación para
él. Este método presentaba el inconveniente de ser muy ineficiente, ya que el
procesador consumía constantemente tiempo y recursos en realizar estas
instrucciones de sondeo.

El mecanismo de interrupciones fue la solución que permitió al procesador


desentenderse de esta problemática, y delegar en el dispositivo periférico la
responsabilidad de comunicarse con él cuando lo necesitara. El procesador, en
este caso, no sondea a ningún dispositivo, sino que queda a la espera de que
estos le avisen (le interrumpan) cuando tengan algo que comunicarle (ya sea
un evento, una transferencia de información, una condición de error, etc.).
4
Importancia de las interrupciones:
El mecanismo de tratamiento de las interrupciones permite al SO utilizar la
CPU en servicio de una aplicación, mientras otra permanece a la espera de
que concluya una operación en un dispositivo de E/S. El hardware se encarga
de avisar al SO cuando el dispositivo de E/S ha terminado y el SO puede
intervenir entonces, si es conveniente, para hacer que el programa que estaba
esperando por el dispositivo, se continúe ejecutando. En ciertos intervalos de
tiempo puede convenir no aceptar señales de interrupción. Por ello las
interrupciones pueden inhibirse por programa (aunque esto no deben poder
hacerlo las mismas).

Ventajas y desventajas de las interrupciones


Ventajas:
1. Liberan al microprocesador de la pérdida de tiempo causada por
esperar a que ocurra cierto evento.
2. Permiten la ejecución de un programa principal junto con el control
simultáneo de varios dispositivos externos.
3. Proporciona servicio prioritario a dispositivos críticos dentro del
sistema.
4. Facilitan la detección de eventos en tiempo real.

Desventajas:
1. Pueden ser necesarios circuitos externos adicionales para la generación
de la señal de interrupción y la identificación del dispositivo.
2. Dada su naturaleza asíncrona, es muy difícil probar su funcionamiento, y
todavía más encontrar posibles fallas.
3. Pueden requerir instrucciones adicionales además de las estrictamente
necesarias para dar servicio al dispositivo. Por ejemplo para preservar
registros o identificar al dispositivo.
5
Tipos de interrupciones

Interrupciones de hardware: Las interrupciones de hardware son aquellas


interrupciones que se producen con Resultado de, por lo general, una
operación de E/S. No son producidas por ninguna Instrucción de un programa
sino por las señales que emiten los dispositivos periféricos
Para indicarle al procesador que necesitan ser atendidos.

Cuando el microprocesador accede a un periférico disco duro, puerto de


comunicación puede transcurrir algún tiempo antes de que los datos sean
obtenidos o transmitidos. La solución más simple es esperar hasta recibir los
datos o hasta que se haya efectuado la transmisión polling pero esta solución
bloquea todos los programas en ejecución, y eso no puede admitirse en un
sistema multitarea. Por ello, en los sistemas modernos se prefiere un
funcionamiento mediante interrupciones, ya que éstas permiten mejorar la
productividad del procesador, de forma que este último puede ordenar una
operación de entrada o salida y, en lugar de tener que realizar una espera
activa, se puede dedicar a atender a otro proceso o aplicación hasta que el
dispositivo esté de nuevo disponible, siendo dicho dispositivo el encargado de
notificar al procesador mediante la línea de interrupción que ya está preparado
para continuar o terminar la operación de entrada o salida.

Clasificación:
Se dividen en dos internos y externos:

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.
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.
6

Excepciones: Las excepciones son un tipo de interrupción sincrónica


típicamente causada por una condición de error en un programa, como por
ejemplo una división entre 0 o un acceso inválido a memoria en un proceso de
usuario.

Normalmente genera un cambio de contexto a modo supervisor para que el


sistema operativo atienda el error. Así pues, las excepciones son un
mecanismo de protección que permite garantizar la integridad de los datos
almacenados tanto en el espacio de usuario como en el espacio kernel.
Cuando el Sistema Operativo detecta una excepción intenta solucionarla, pero
en caso, de no poder simplemente notificará la condición de error a la
aplicación/usuario y abortará la misma.
Interrupciones por software:
Las interrupciones por software, también denominadas llamadas al sistema,
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. En ese
momento por tanto llama al sistema y se interrumpe virtualmente hasta recibir
respuesta, en el ejemplo anterior hasta que no se haya leído el disco y el
archivo esté en memoria principal. Durante esa espera las instrucciones que se
ejecutarán no serán del programa, sino del sistema operativo. Una vez este
termine su rutina ordenará reanudar la ejecución del programa.
Clasificación:
Este tipo de interrupciones podemos separarlas en dos categorías: las
interrupciones del sistema, y de usuario.
Interrupciones del Sistema operativo: DOS y del BIOS.
Interrupciones del usuario: Son aquellas programadas por el usuario, es
decir, el usuario decide cuando y donde ejecutarlas, generalmente son usadas
para realizar entrada y salida.
7
Determinación de la dirección de la rutina de servicios de
interrupción:
Hay dos alternativas para determinar la dirección de la rutina de servicio de
interrupción que se debe ejecutar al recibir una interrupción determinada:
Direcciones fijas y Direcciones variables.

Direcciones fijas: Básicamente es un número cuyo objetivo es identificar de


manera lógica y jerárquica a la interfaz en red de un dispositivo que utilice
el protocolo IP (protocolo clasificado en la capa de red del modelo TCP/IP y
el modelo de referencia OSI). Este número identificador no debemos
confundirlo con la dirección MAC (identificador de 48 bits único de cada tarjeta
de red y asignado por el fabricante).

Mientras que la dirección MAC es única en cada dispositivo, la dirección


IP puede cambiar tal y como hemos comentando en la entrada de este post. En
este sentido podríamos clasificar las direcciones IP como:

Dirección IP Dinámica: Es a la que nos han habituado los proveedores de


Internet por el número finito de las IP fijas. En este caso, nuestro número
identificador no es fijo, sino que variará con el tiempo. La variación del mismo
no tiene que seguir un intervalo de tiempo concreto, ya que puede cambiar
cada mes o cada una pocas horas. La principal ventaja de este tipo de IP es
que en principio el usuario es más difícil de identificar

Ventajas
 Reduce los costos de operación a los proveedores de servicios de
Internet (ISP).
 Reduce la cantidad de IP asignadas (de forma fija) inactivas.
 El usuario puede reiniciar el modem o router para que le sea asignada
otra IP y así evitar las restricciones que muchas webs ponen a sus servicios
gratuitos de descarga o visionado multimedia en línea.
 8

Desventajas

 Tienen una conexión mucho más inestable.


 En general hay que pagar un precio adicional para tener una IP fija en
Internet.

Dirección IP Fija: Como su propio nombre indica en este caso el número


identificador no varía. Las IP fijas son utilizados por servidores de correo, DNS,
FTP públicos o servidores de páginas web, por el simple hecho de que se debe
conocer la localización de estos elementos en la red. ¿Cuál es su principal
ventaja? Pues que permite tener servicios dirigidos directamente a la IP.

Ventajas
 Tiene una conexión mucho más estable que la dinámica, ya que esta
nunca cambia.
 Cuenta con una velocidad más rápida.
 Es mucho más fácil tener el control sobre la dirección IP, va a ser
solamente tuya.

Desventajas
 Son más difíciles de configurar, ya que hay que hacerlo manualmente.
 El utilizarlas es más caro.
 Es más fácil que sean atacadas, por lo que hay que protegerlas más de
lo habitual.

Públicas y privadas

 La Pública es el identificador de nuestra red desde el exterior, es decir, la de


nuestro router de casa, que es el que es visible desde fuera, mientras que
la Privada es la que identifica a cada uno de los dispositivos conectados a
nuestra red, por lo tanto, cada una de las direcciones IP que el router asigna a
nuestro ordenador, móvil, Tablet o cualquier otro dispositivo que se esté
conectado a él.

Por lo tanto, todos los dispositivos conectados a un mismo router tienen


distintas direcciones IP privadas, pero la misma IP pública, ya que es la del
router, que actúa como puerta de enlace.

Direcciones Variables (Por Interrupciones ventorizadas)

En este grupo se incluyen aquellas que presentan una dirección variable y


que, por tanto, no se halla cableada en el procesador. De esta manera el
dispositivo debe dar información acerca de la localización de la dirección de
comienzo de la RSI asociada a dicho periférico.

Direcciones variables: Hay distintas metodologías de diseño para las


interrupciones con direcciones variables. En la actualidad, las alternativas que
son implementadas de manera habitual son las siguientes:

Direccionamiento absoluto: En este caso es el dispositivo o la interfaz del


dispositivo la encargada de conocer la dirección de la RSI y de enviarla al
procesador para que este pueda localizar dicha subrutina y ejecutarla.

Direccionamiento relativo: El dispositivo solo suministra parte de la


dirección de comienzo y es el procesador el encargado de completarla
(añadiendo bits o sumando una determinada cantidad, que siempre será fija).
Esta alternativa tiene una ventaja sobre la anterior y es que permite especificar
la dirección de comienzo con menos bits y por tanto simplifica el diseño. Ahora
bien tiene una desventaja principal y es que limita el número de dispositivos
que podemos conectar y además ciertos bits de la dirección quedan fijados de
forma permanente por la CPU lo que reduce la capacidad de reubicabilidad de
la ISR.

Direccionamiento indirecto: También conocida como direccionamiento por


interrupciones vectorizadas. Se mantiene una tabla de vectores de interrupción
(direcciones de comienzo de las distintas ISR) y a cada interrupción se le
asocia un número que será el índice por el cual se accederá a la tabla y se
recuperará la información de la dirección de comienzo.

10

Necesita señales de conformidad o handshaking para sincronizar al


procesador con la interfaz, ya que esta última tiene que indicarle al procesador
cuando va a enviarle el índice que necesita para buscar el vector de
interrupción (INT) y el procesador deberá enviar otra señal para indicar que se
ha reconocido la interrupción (INTA#).

Determinación de la fuente que genera la interrupción: Hay distintas


formas de identificar la fuente de una determinada interrupción. La primera
alternativa que se consideró fue asignar una línea (un bit) para cada
interrupción, lo cual suponía un gran costo en cuanto a la relación de número
de dispositivos y número de bits usados y a menudo limitaba el número de
dispositivos que se podían conectar. Por ello, se pensó con posterioridad en
que en cada patilla de interrupción debería poder conectarse más de un
dispositivo, debiendo implementar por tanto una metodología que permitiese
identificar de forma unívoca de qué dispositivo se trataba. Para ello hay varias
directrices:

Polling: el microprocesador comprueba de manera sistemática todos los


dispositivos de manera que «busca» cuál de ellos fue el que solicitó la
interrupción. Esto tiene una ventaja y es que es barato a nivel de coste
hardware ya que el polling se implementa en software, no obstante tiene otras
desventajas que no podemos olvidar y es que suele ser lento porque tiene que
comprobar en serie todos los dispositivos y establece una prioridad en los
dispositivos (el orden de sondeo) y por tanto puede provocar inanición.
Interrupciones vectorizadas: este concepto fue ya tratado en el apartado
anterior. Como ventajas podemos destacar que suele ser rápido pero implica
un alto costo en el hardware.

Hardware paralelo: se utiliza un registro de interrupción cuyos bits se


controlan de forma independiente por las señales de petición de interrupción
{\displaystyle PI_{i}}{\displaystyle PI_{i}} de cada periférico. Según la posición
de cada bit en el registro, se establece la prioridad.

11
Enmascaramiento y prioridades de la interrupción
Habilitación de Interrupciones: La CPU tiene la capacidad de aceptar o no
los pedidos de interrupción de los controladores de E/S. Esta capacidad está
implementada de dos maneras, una general y otra selectiva, a las que
denominaremos enmascaramiento y des habilitación, sólo a los efectos de
distinguirlas en la denominación.

Enmascaramiento: En este caso la CPU posee la propiedad de poder inhibir


la aceptación de todas las solicitudes de interrupción, sin importar de cuál
controlador provengan. Esto se realiza a través del valor de un bit de máscara
de interrupción (que recibe el nombre de IM = Interrupt Mask, EI = Enable
Interrupt, ET = Enable Trap, etc., dependiendo de la arquitectura), normalmente
perteneciente al registro de estado de la CPU (denominado registro de FLAGS,
o registro PS por Processor Status). La CPU para determinar si hay un pedido
efectivo de interrupción hace el AND de la señal de pedido interno de INT con
el valor de este bit y utiliza este resultado para tomar la decisión. Si el bit está
en 0 no existirá un pedido efectivo (por más que haya controladores de E/S
solicitando interrupción). Si está en 1 los requerimientos de interrupción que
hubiera serán procesados.

El valor de este bit se cambia mediante instrucciones específicas del set de


instrucciones del procesador. A estas instrucciones las denominaremos enable
y disable. En un lenguaje de alto nivel las representaremos por los
procedimientos enable () y disable ().
La CPU pone automáticamente a 0 este bit al invocar a la rutina de servicio de
la interrupción. Por ello una rutina de interrupción comienza su ejecución con
las
Interrupciones deshabilitadas y así continuarán a menos que explícitamente
sean habilitadas por el código de la propia rutina. La instrucción que provoca la
finalización de la rutina de interrupción y el retorno a la ejecución del programa
interrumpido vuelve a recuperar el valor anterior del bit (el cuál obviamente era
1 porque sino no se hubiera invocado).
12

También es de señalar que cuando una CPU comienza a funcionar (se le


aplica energía por primera vez) también arranca con las interrupciones
enmascaradas (deshabilitadas).

En todas las CPUs existe una entrada, independiente de la INT, denominada


NMI (por Non Maskable Interrupt) que trabaja en forma independiente de la
máscara de inhibición y un pedido de interrupción que por ella sea presentado
será siempre procesado. La idea de esta entrada es conectar a ella pedidos de
interrupción críticos (tales como la falla de la fuente de alimentación ó la
detección de un error de paridad en la memoria). En la práctica la arquitectura
de los computadores tipo PC no la utilizan.

Prioridades: Existen dos situaciones que pueden llevar al mecanismo de


interrupciones a tener que tomar una decisión acerca de cómo proceder:
 hay dos (o más) solicitudes de interrupción simultáneas
 hay una (o más) solicitud de interrupción mientras se está ejecutando
una rutina de servicio de una interrupción previa y las interrupciones han
sido habilitadas.

En cualquiera de ellas la decisión dependerá de la existencia de prioridades


entre los distintos requerimientos.
Interrupciones Simultáneas: Cuando una CPU o un controlador de
interrupciones implementan un mecanismo de prioridades, éste determinará
cuál de múltiples solicitudes que ocurran a la misma vez será atendida.

Es de notar que el concepto de simultaneidad no implica que los pedidos de


interrupción lleguen exactamente en el mismo instante del tiempo, sino que
lleguen durante el período entre una verificación y otra por parte de la CPU, la
cual puede estar postergada en el tiempo si las interrupciones están
deshabilitadas.
13

El mecanismo de prioridades puede adoptar distintas estrategias:


prioridad fija, prioridad configurable o sin prioridad.

Cuando la prioridad es fija siempre será atendida primero la solicitud que


provenga de una línea de pedido que tenga mayor jerarquía. Normalmente se
utiliza la numeración de las entradas para fijar su prioridad.

Cuando la prioridad es configurable, la misma se puede cambiar en función de


las condiciones del sistema en general.

Cuando el sistema es sin prioridad debe implementar un sistema de selección


de la solicitud a atender que asegure la equitativitad en selección de las
distintas entradas.

El mecanismo de prioridades puede estar implementado por hardware o por


software. Cuando es por hardware se puede realizar a nivel de la CPU (si tiene
múltiples entradas de interrupción, ya sean directas o codificadas) o a nivel del
controlador de interrupciones.

Cuando es por software el mecanismo se implementa como un algoritmo en


la rutina de atención a la interrupción (notemos que esta vía es la única para el
caso de CPUs con una única entrada INT y sin controlador de interrupciones).
El algoritmo puede implementar cualquiera de las estrategias vistas, mediante
un apropiado recorrido de los controladores de E/S para averiguar cuál fue el
que interrumpió, como ser:

- Recorrido lineal: Siempre comenzando por el mismo y con un orden


preestablecido (prioridad fija) - recorrido programable: utilizando una tabla que
establece el orden a seguir (prioridad configurable)
- Recorrido “round-robin”: Comenzando cada vez en el siguiente al último
atendido, en forma circular.
14

Interrupción de Interrupción: Suponiendo que las interrupciones no están


enmascaradas durante la ejecución de la rutina de interrupción (recordar que
para que esto ocurra la rutina debe explícitamente ejecutar la instrucción que
desenmascara las interrupciones) y ocurre un pedido de interrupción, la
atención o no de dicha solicitud dependerá del esquema de
jerarquías/prioridades que tenga implementada la CPU y/o el controlador de
interrupciones.

Como regla general sólo se aceptará una interrupción de un nivel igual o


superior (en algunas arquitecturas puede ser solamente si es superior en
sentido estricto) al de la interrupción que está siendo actualmente atendida.

Para esto el mecanismo de interrupciones mantiene en algún registro el “nivel


actual de interrupción”; que refleja la prioridad de la interrupción que está
siendo servida. Al ocurrir una nueva solicitud, se compara el nivel de la
interrupción asociado al nuevo pedido con el actual y sólo se procede si es
mayor ó igual (ó mayor estricto) al actual. Ese valor es actualizado al momento
de invocar la rutina de interrupción.
Las distintas propuestas arquitectónicas resuelven esto de distintas formas.
La propuesta Intel lo hace en el controlador de interrupciones a través del
registro ISR (In Service Register), mientras que SPARC lo hace en el
procesador a través de los bits de IPL (Interrupt Processor Level) del registro
PS (Processor Status).

Determinación de la fuente que genera la interrupción:


Hay distintas formas de identificar la fuente de una determinada interrupción.
La primera alternativa que se consideró fue asignar una línea (un bit) para cada
interrupción, lo cual suponía un gran costo en cuanto a la relación de número
de
Dispositivos y número de bits usados y a menudo limitaba el número de
dispositivos que se podían conectar. Por ello, se pensó con posterioridad en
que en cada patilla de interrupción debería poder conectarse más de un
dispositivo, debiendo implementar por tanto una metodología que permitiese
identificar de forma unívoca de qué dispositivo se trataba. Para ello hay varias
directrices:
15

Polling: El microprocesador comprueba de manera sistemática todos los


dispositivos de manera que «busca» cuál de ellos fue el que solicitó la
interrupción. Esto tiene una ventaja y es que es barato a nivel de coste
hardware ya que el polling se implementa en software, no obstante tiene otras
desventajas que no podemos olvidar y es que suele ser lento porque tiene que
comprobar en serie todos los dispositivos y establece una prioridad en los
dispositivos (el orden de sondeo) y por tanto puede provocar inanición.

Interrupciones vectorizadas: Este concepto fue ya tratado en el apartado


anterior. Como ventajas podemos destacar que suele ser rápido pero implica
un alto costo en el hardware.

Hardware paralelo: Se utiliza un registro de interrupción cuyos bits se


controlan de forma independiente por las señales de petición de interrupción
{\displaystyle PI_{i}}{\displaystyle PI_{i}} de cada periférico. Según la posición
de cada bit en el registro, se establece la prioridad.
Sistemas de prioridad:
El sistema operativo necesita un mecanismo para priorizar las interrupciones
y tratar primero las más urgentes. Para ello, existen varias alternativas:
Interrupciones simultáneas: No tienen por qué ocurrir de manera
simultánea sino que se refiere a que en un momento dado pueden haber varias
interrupciones activas.

Interrupciones anidadas: Mientras se está procesando una


determinada rutina de servicio de interrupción sucede otra señal de
interrupción.
Inhibición de interrupciones: Se deshabilitan las demás interrupciones
mientras se está tratando una.
16

Interrupciones simultáneas:
En este método tenemos dos alternativas, una de ellas es que exista algún
hardware que tenga como entradas las señales de interrupción y de cómo
salida la interrupción más prioritaria que está activa en ese momento. Otra
alternativa es tener un método de identificación de prioridades distribuida y no
generalizada como en el caso anterior, en este caso tenemos que destacar dos
técnicas distintas que se pueden implementar en la práctica:

Polling: El microprocesador verifica los dispositivos y el orden de sondeo


determina la prioridad.

Daisy-chain (conexión en cadena): Se puede conectar los distintos


dispositivos en cadena, en orden decreciente de prioridad y por tanto la señal
de reconocimiento de interrupción (INTA#) solo será pasada al siguiente
dispositivo en caso de que el anterior (más prioritario) no haya solicitado los
servicios del procesador. Sin embargo, algo importante es que las señales de
interrupción que van al procesador están conectadas todas a un mismo cable,
por tanto, deberemos utilizar alguna técnica especial para que no se produzca
un cortocircuito. Para evitar precisamente que la pista se cortocircuite se utiliza
la técnica del open-collecto o «colector abierto» y consiste en conectar el
colector de un transistor a la pista común (un transistor por cada dispositivo) y
por tanto estarán tantos colectores conectados como dispositivos tengamos (se
entiende que son dispositivos que mandan petición de interrupción al
procesador).

Híbrida: Mezcla las dos técnicas explicadas anteriormente.

Interrupciones anidadas:
Existen dos métodos para tratar las interrupciones anidadas. El primero se
basa en inhabilitar las interrupciones mientras se está ejecutando una
determinada RSI.
17
Esto puede realizarlo el hardware de manera automática en algunos
procesadores, pero en otros será el usuario el encargado de deshabilitarlas en
caso de que no desee que ninguna otra interrupción pueda interrumpir el
transcurso normal de la rutina de servicio de interrupción. No son aconsejable
deshabilitar las interrupciones durante mucho tiempo ya que esto puede
provocar errores y pérdida de información.

Inhibición de interrupciones:
Hay distintas alternativas de inhibición de interrupciones. Como ya hemos
visto estas se pueden hacer de manera automática por el hardware en algunos
casos mientras que en otros será el usuario el encargado de realizarlo por
software y esto depende de la arquitectura del procesador que consideremos.
Las distintas opciones son:
 Deshabilitar todas las interrupciones. Para esto basta con inhibir el bit
del registro de flag dedicado a las interrupciones.
 Deshabilitar al principio de la RSI y activarlas de nuevo al finalizar la
misma. Puede ser de manera automática o por el usuario.
 Desactivar solo las interrupciones que tengan menor prioridad que la
asociada a la RSI que se está ejecutando en ese momento.
 Deshabilitar de forma selectiva distintos niveles de prioridad de
interrupción. Para lo cual se emplean registros especiales denominados
máscaras en el que cada uno de sus bits identifican a un nivel distinto y
modificando su contenido se puede establecer que niveles están activos
en ese momento. Se puede cambiar por el programador.

18

Conclusiones:

Esta investigación ha sido de gran beneficio para la comprensión de las


interrupciones y su utilidad en cualquier computadora. Se ha podido
examinar y valorar cómo el mecanismo de las interrupciones es una
eficiente manera de hacer que las computadoras realicen tareas
eficientemente, dando prioridad a las tareas que requieren atención en
determinados momentos y permitiendo una interacción correcta de todo el
sistema computacional como conjunto. Se ha estudiado cómo las
interrupciones son una forma de comunicación que tiene el
microprocesador con los diferentes componentes de hardware y con el
software mismo. Por esa razón, todo sistema operativo utiliza las
interrupciones para administrar eficientemente los recursos de la
computadora y brindar mejores resultados a los usuarios

Las interrupciones son muy importantes porque de ellas se realiza los


procesos de interrupción y eso evita un daño a nuestro equipo de cómputo.
Una interrupción permite ejecutar un bloque de instrucciones
interrumpiendo la ejecución de un programa, y luego restablece la
ejecución del mismo, el programa puede ser interrumpido temporalmente
para atender alguna necesidad urgente del computador y luego continuar
su ejecución como si nada hubiera pasado.
De igual manera sabemos que cada tipo de interrupción funciona de
diferente manera como las interrupciones hardware son producidas por
varias fuentes, por ejemplo del teclado, cada vez que se presiona una
tecla y se suelta se genera una interrupción. Otras interrupciones son
originadas por el reloj, la impresora, el puerto serie, el disco etc.

Las interrupciones de E/S son eventos externos que realizan una petición
y tiene que detectar cual dispositivo lo activo por medio de métodos como
Las autovectorizadas y las vectorizadas. Guardando los valores del
programa en ejecución en memoria para poder recuperarlos después y
continuar con la ejecución.

19

Anexos

Interrupciones informáticas
20

Direcciones de IP
21
Referencias bibliográficas:

https://es.wikipedia.org/wiki/Interrupci%C3%B3n#:~:text=En%20el%20contexto
%20de%20la,espec%C3%ADfico%20para%20tratar%20esta%20situaci
%C3%B3n.

https://www.slideshare.net/yesyduc10/interrupciones-115449020

https://es.slideshare.net/byronvim/interrupciones-42994637

https://www.mindmeister.com/es/1058652820/interrupciones-y-sus-tipos

https://sites.google.com/site/infor4sanandres/direccion-ip-dinamica-y-estatica

https://www.fing.edu.uy/tecnoinf/mvd/cursos/arqcomp/material/teo/arq-teo08.pdf

https://lcsistemasoperativos.wordpress.com/tag/interrupciones/
https://es.wikipedia.org/wiki/Interrupción#Mecanismo_y_líneas_de_petición_de
_interrupción

22

También podría gustarte