Skip to content

A4. Ejecución de instrucciones ​

Instrucciones

Todos los ejercicios deberán realizarse a mano en la libreta, incluyendo los esquemas, las tablas y las explicaciones.

Una vez completados:

  1. Fotografía las páginas de la libreta de forma que el contenido resulte claramente legible.
  2. Guarda las fotografías en un directorio images dentro del directorio de la actividad.
  3. Incorpora las fotografías al documento Markdown de la actividad, respetando el orden de los ejercicios.
  4. Comprueba que las imágenes se visualizan correctamente en la documentación publicada mediante GitHub Pages.

No se admitirán respuestas redactadas digitalmente como sustitución del trabajo manuscrito.

1. Ciclo de instrucción ​

Elabora un diagrama que represente las tres fases principales del ciclo de instrucción:

  • Búsqueda (Fetch).
  • Decodificación (Decode).
  • Ejecución (Execute).

Explica brevemente qué sucede en cada fase e identifica los componentes de la CPU que intervienen.

2. Interpretación de instrucciones ​

Considera la siguiente instrucción:

asm
LOAD R2, @5

Responde a las siguientes preguntas:

  1. ¿Qué operación indica LOAD?
  2. ¿Qué representa R2?
  3. ¿Qué significa @5?
  4. ¿De dónde se obtiene el dato?
  5. ¿Dónde se almacena el dato después de ejecutar la instrucción?

3. Ejecución paso a paso ​

Considera el siguiente estado inicial de un ordenador simplificado:

Memoria principal:

DirecciónContenido
000000101
100001010
200000011
311110000
400101101
500001111
6LOAD R2, @5
7LOAD R1, @3

Registros de la CPU:

RegistroContenido
PC6
RI—
R1—
R2—

Utilizaremos el modelo simplificado estudiado en clase, en el que cada instrucción ocupa una posición de memoria.

Explica la ejecución de la instrucción almacenada en la dirección 6, siguiendo estos pasos:

  1. Búsqueda: Indica cómo se obtiene la instrucción y qué valores tendrán el PC y el RI.
  2. Decodificación: Identifica la operación, el registro de destino y la dirección de memoria.
  3. Lectura del dato: Explica cómo intervienen los buses para obtener el dato.
  4. Almacenamiento: Indica qué registro recibe el dato y cuál es su nuevo contenido.

Completa una tabla con el estado de los registros al finalizar la instrucción.

4. Siguiente instrucción ​

Partiendo del estado final del ejercicio anterior, la CPU continúa ejecutando el programa.

  1. ¿Qué dirección contiene ahora el PC?
  2. ¿Qué instrucción se obtiene de esa dirección?
  3. ¿Qué operación debe realizar la CPU?
  4. ¿Qué valor tendrá el registro R1 después de ejecutarla?
  5. ¿Qué valor tendrá el PC al finalizar?

Representa el estado final de los registros PC, RI, R1 y R2 después de ejecutar ambas instrucciones.

5. Análisis del programa ​

A partir de las dos instrucciones ejecutadas, responde:

  1. ¿Se ha modificado algún contenido de la memoria principal?
  2. ¿Qué registros han cambiado durante la ejecución?
  3. ¿Qué función ha desempeñado el contador de programa?
  4. ¿Qué sucedería si una instrucción de salto modificase el valor del PC?