Está en la página 1de 4

Instrucciones e interrupciones

Resumen
Una instruccin es un grupo de datos
que son insertados en una sucesin
estructurada o concreta que el
procesador interpreta y ejecuta. En
otras palabras una instruccin indica
al computador las operaciones que
esta debe realizar con unos datos
determinados.
Por otro lado interrupcin es el
mecanismo por medio del cual
podemos elaborar un conjunto de
instrucciones interrumpiendo la
ejecucin de un programa y luego
restablecer la ejecucin del mismo sin
afectarlo de manera directa . Por
consiguiente un programa puede ser
interrumpido temporalmente, para
atender alguna otra necesidad del
computador y posteriormente seguir
ejecutndolo es decir el procesador
se puede dedicar a la ejecucin de
otras instrucciones mientras una
operacin de est en proceso.

I INTRODUCCION
Una interrupcin se puede iniciar
especficamente por un proceso en
ejecucin (en cuyo caso se suele
denominar trampa (trap), y se dice
que esta sincronizada con la
operacin del proceso) o puede ser
causada por algn evento que puede


estar relacionado o no con el proceso
en ejecucin (en cuyo caso se dice
que es asncrona con la operacin del
proceso)
Los tipos de instrucciones posibles
han sido contemplados para cada
plataforma dentro de la llamada
Arquitectura del Repertorio de
Instrucciones o ARI. Pueden ser
instrucciones de transferencia de
datos, lgicas, de conversin, de
transferencia de control, de entrada y
salida (o input o output).


II INSTRUCCIONES
Las instrucciones del computador son
las que determinan el funcionamiento
de la CPU que las ejecuta esta
puede llevar a cabo diversas
funciones, que son el reflejo de la
variedad de las instrucciones
definidas para dicha CPU.
El programador tiene un grupo de
instrucciones como medio para
establecer el control sobre esta
(CPU)
Campos en que se divide una
instruccin
. codigo de datos: aquel que elige
el tipo de operacin que se llevara
a cabo. En lenguaje ensamblador,
se asigna a su valor numrico
un mnemnico
Datos de la operacin: Obedeciendo
el tipo de instruccin dada, puede
estar dividido en otros o ser nico,
incluso no existir. En l se suelen
indicar los registros y datos con los
cuales trabajar.
El tamao de la instruccin cuya
longitud es en bits depende de cada
arquitectura, pudiendo variar de 4
hasta 128 bits.
La instruccin debe guardarse de
manera temporal (en el registro de
instruccin, RI) para que su
contenido sea analizado por la CPU
y tome los datos que la forman.
Llamndole a este paso
decodificacin.

Tipos de instrucciones:
Instrucciones de transferencia de
datos: en ellas se transportan datos
desde un lugar a otro. Los pasos
para la ejecucion son :
determinacin de las direcciones de
origen y destino de memoria,
realizacin de la transformacin
de memoria virtual a memoria real,
comprobacin de la cach, inicio del
proceso de lectura/escritura en la
memoria.
Instrucciones aritmticas:
pueden implicar transferencia de
datos antes y/o despus. Realizan
operaciones aritmticas de las que
se encarga la ALU. Se pueden
clasificar en de 1 operando (valor
absoluto, negacin) y 2 operandos
(suma, resta).
Instrucciones lgicas: al igual que
las aritmticas, la ALU se encarga
de realizar estas operaciones, que
en este caso son de tipo lgico.
Instrucciones de conversin:
similares a las aritmticas y lgicas.
Pueden implicar lgica especial
para realizar la conversin.
Instrucciones de transferencia
de control: actualizan el contador
de programa (PC). Administran las
llamadas/retornos a las subrutinas,
el paso de parmetros y
elenlazado.
Instrucciones de
E/S (entrada/salida): administran
los comandos de entrada/salida. Si
hay un mapa de memoria de
entrada/salida, determina la
direccin de este mapa



III INTERRUPCIONES

Cuando una interrupcin se
realiza es porque existe la
necesidad de que se ejecute
alguna otra actividad en el
ordenador, cuando esto
sucede, ocurre lo siguiente :
El sistema operativo toma el
control (es decir, el hardware
pasa el control al sistema
operativo).
El sistema operativo guarda el
estado del proceso
interrumpido. En muchos
sistemas esta informacion se
guarda en el bloque de control
de proceso interrumpido.
El sistema operativo analiza
la interrupcin y transfiere el
control a la rutina apropiada
para atenderla; en muchos
sistemas actuales el hardware
se encarga de esto
automticamente.
La rutina del manejador de
interrupciones procesa la
interrupcin.
Se restablece el estado del
proceso interrumpido (o del
siguiente proceso).
Se ejecuta el proceso
interrumpido (o el siguiente
proceso).

Por otro lado que puede
causar una interrupcin? Estas
pueden estar llevadas a cabo
por:
* Error de mquina detectado
* Error de programa
* Interrupcin externa (el
operador pide una
determinada funcin)
* Interrupcin de entrada/salida
(el dispositivo de E/S pide
atencin o hace una indicacin
de que ha iniciado una
operacin)
* Llamada al supervisor por el
programa.
Por consiguiente existen
diferentes tipos de interrupcin
a saber:
1. Interrupcin por errores o
por daos en la mquina : fallo
en la alimentacin elctrica;
error de paridad en memoria.
2. Interrupcin por causa del
programa (o desvo):
instruccin o direccin
incorrecta; operaciones
imposibles; desbordamiento de
capacidad; divisin por cero,
etc; intentos de ejecucin de
instrucciones o de escritura en
memoria no permitidos por el
estado de la mquina.
3. Interrupcin por
entrada/salida: generada por el
canal para avisar fin de una
operacin E/S o de una falla
ocurrida en el transcurso de
E/S.
4. Interrupcin externa:
utilizada para avisar a la
mquina acerca de cualquier
modificacin interesante del
medio exterior, especialmente
en control de procesos
industriales.
5 Interrupcin de recuento:
para contar impulsos
procedentes de un reloj.
Por otro lado existen
instrucciones interrumpibles y
no interrumpibles. La ejecucin
del servicio de interrupcin
espera al final de las
segundas.
Una interrupcin E/S externa,
o error de mquina no grave,
no afecta la instruccin, si el
error est en la propia
instruccin puede ocurrir que
la instruccin sea:
Suprimida (no se puede
realizar), anulada (se inicia
pero se trunca), completada,
terminada anormalmente
La gestin de errores del
usuario deber considerar el
resultado que ocasiona la
instruccin errnea.
Interrupciones de error de
programa emulacin
Cuando se tiene un programa
adquirido (cdigo de mquina)
que tiene instrucciones que no
figuran en nuestro ordenador.
Sera necesario producir una
rutina del supervisor que las
emulase (realice la misma
operacin). Son interrupciones
dentro del programa.
Interrupciones programadas
(Control del SPD)
Instruccin SVC sirve para
introducir interrupciones
programadas. Esta permite
solicitar al supervisor
determinado servicio.
Entonces aquellas operaciones
que no puedan ser realizadas
por el programa deben ser
realizadas por el supervisor
que toma el control gracias a
una SVC del programa.
SVC no es una interrupcin
E/S (estas son producidas por
los canales de E/S).
Formato SVC n (Donde n es el
operando que sirve de
identificador para saber a
dnde bifurca hacia la rutina
de tratamiento que
corresponda)
Cuando el supervisor termina
sus operaciones devuelve la
ejecucin al programa a
continuacin del ltimo
elemento de la lista o va a una
direccin especificada como
argumento.