1. Cual es el objetivo de usar el ciclo de vida de
una instrucción
2. CICLO DE INSTRUCCION
Cómo es posible notar, durante la ejecución del ciclo de
instrucción ocurren una secuencia de diversos eventos, fluyen
datos por los diferentes buses del sistema que están
involucrados. Si se considera un diseño sencillo de CPU con los
registros mencionados, se puede entregar una secuencia más
o menos general de lo que ocurre constantemente.
Durante la búsqueda de una instrucción, se lee esta de
memoria, el PC contiene la dirección de la siguiente
instrucción, esta dirección viaja al MAR y es puesta en el bus
de direcciones. La Unidad de Control solicita una lectura a
memoria, la respuesta se ubica en el bus de datos, se copia en
el MBR y se lleva al IR. Una vez listo, se incrementa el PC.
4. A qué se refiere el término dirección en el
CPU y RAM:
• Una dirección de memoria es un identificador
para una localización de memoria con la cual
un programa informático o un dispositivo de
hardware pueden almacenar un dato para su
posterior reutilización. Una forma común de
describir la memoria principal de un
ordenador es como una colección de celdas
que almacenan datos e instrucciones. Cada
celda está identificada unívocamente por un
número o dirección de memoria.
5. A qué se refiere el término tiempo de
ejecución y cita un ejemplo práctico
• Período en el que un programa es ejecutado por el sistema operativo. El período
comienza cuando el programa es llevado a la memoria primaria y comienzan a
ejecutarse sus instrucciones. El período finaliza cuando el programa envía la señal
de término (normal o anormal) al sistema operativo.
Suele decirse también que un programa se encuentra "corriendo" mientras está
siendo ejecutado.
En tiempo de ejecución pueden darse errores inesperados llamados runtime
errors, que pueden ser controlados a través de mecanismos llamados manejos de
excepciones.
6. Ejemplo de Tiempo de ejecución:
• Una medida que suele ser útil conocer es el tiempo de ejecución de un programa
en función de N, lo que denominaremos T(N). Esta función se puede medir
físicamente (ejecutando el programa, reloj en mano), o calcularse sobre el código
contando instrucciones a ejecutar y multiplicando por el tiempo requerido por
cada instrucción. Así, un trozo sencillo de programa como S1; for (int i= 0; i < N;
i++) S2; requiere T(N)= t1 + t2*N siendo t1 el tiempo que lleve ejecutar la serie
"S1" de sentencias, y t2 el que lleve la serie "S2".Prácticamente todos los
programas reales incluyen alguna sentencia condicional, haciendo que las
sentencias efectivamente ejecutadas dependan de los datos concretos que se le
presenten. Esto hace que mas que un valor T(N) debamos hablar de un rango de
valores
• Tmin(N) <= T(N) <= Tmax(N) los extremos son habitualmente conocidos como
"caso peor" y "caso mejor". Entre ambos se hallara algun "caso promedio" o más
frecuente. Cualquier fórmula T(N) incluye referencias al parámetro N y a una serie
de constantes "Ti" que dependen de factores externos al algoritmo como pueden
ser la calidad del código generado por el compilador y la velocidad de ejecución de
instrucciones del ordenador que lo ejecuta. Dado que es fácil cambiar de
compilador y que la potencia de los ordenadores crece a un ritmo vertiginoso (en
la actualidad, se duplica anualmente), intentaremos analizar los algoritmos con
algun nivel de independencia de estos factores; es decir, buscaremos estimaciones
generales ampliamente válidas.
7. El contador de programa es parte de la UC, generalmente ejecuta las
instrucciones secuencialmente, aunque a veces estas se alteran o sufren una
interrupción a que se refiere:
Las interrupciones y el ciclo de instrucción
La interrupción es básicamente un suceso que altera la secuencia de ejecución de
las instrucciones.
Utilizando interrupciones el procesador puede ejecutar instrucciones mientras una
operación de E/S está en proceso. Siguiendo esta idea se concluye que la
operación de E/S y un programa usuario son ejecutados concurrentemente.
Desde la postura del programa de usuario, una interrupción no es más que la
alteración de la secuencia normal de ejecución. Cuando el tratamiento de la
interrupción termina, la ejecución continúa.
Para tratar a las interrupciones, se agrega un ciclo de interrupción al ciclo de
instrucción.
En el ciclo de interrupción, el procesador verifica si ha ocurrido alguna
interrupción, indicado por la presencia de una señal de interrupción. Si no hay
interrupciones pendientes, el procesador continúa con el ciclo de lectura y trae la
próxima instrucción del programa en curso. Si hay una interrupción pendiente, el
procesador suspende la ejecución del programa en curso y ejecuta una rutina de
tratamiento de la interrupción.