Práctica 6



PRÁCTICA 6: SImula3ms (2)

- Por Manuel Lara - 



El objetivo de esta práctica es que el alumno identifique el camino de datos del procesador monociclo MIPS y compruebe su funcionamiento mediante el simulador SIMULA3MS.

Este programa es un proyecto del grupo de Arquitectura de Computadores de la Universidad de A Coruña. El proyecto abarca la implementación de un simulador de una arquitectura básica en sus versiones monociclo, multiciclo y segmentado, que se pretende usar en los laboratorios de prácticas de asignaturas que tratan la organización del computador.

Esta práctica, en mi opinión, no se caracteriza por ser excesivamente fácil y corta pero trabajando un poco y conociendo el funcionamiento del programa no resulta tan complicada como puede parecer.

El comienzo de la práctica (5 primeras cuestiones) consiste en ensamblar y ejecutar el siguiente programa.


A continuación se describen y explican brevemente el resto de cuestiones de la práctica:







6- Localice e indique los elementos necesarios del camino de datos que realiza esta instrucción (LW) de tipo I:
Esta cuestión consiste en indicar qué elementos son necesarios para completar el camino de datos de la instrucción lw. Se pueden identificar claramente sólo con fijarse en el camino de la instrucción lw (resaltado en verde). Son los siguientes:
-           PC
-           Memoria de instrucciones 
-           Registros
-           ALU
-           Memoria de datos
-           Registros


7- Las conexiones entre los elementos del camino de datos aparecen resaltados en verde. Describa con palabras y con lenguaje RTL todas las operaciones que tienen lugar hasta completar esta instrucción lw $s0,0($t1).
Esta cuestión es prácticamente como la anterior, sólo que indicando la función de cada elemento que aparece en el camino de datos de la instrucción lw.
-          El PC se incrementa para apuntar a la siguiente instrucción
-          Lee lw$s0,0($t1)
-          Los bits 31-26 llegan a control
-          Se detecta que es una instrucción de acceso a memoria
-          Lee $t1
-          Pasa a memoria de datos
-          Se guarda en $s0

8- Indique el valor, en hexadecimal, que toman los siguientes registros y buses:


9- Haciendo uso del botón "Ciclo siguiente" avance hasta la última instrucción lw. ¿Cambia en algo el proceso ya descrito de realización de la instrucción lw? ¿Qué valores toma  ahora los siguientes registros y buses?
Sí cambia el proceso. Varía el valor dependiendo de a qué posición del vector accedemos. Por lo tanto, también cambia el registro donde se almacena el contenido de cada posición del vector.
Instrucción [15-0]: 0xc
Bus de 32 bits tras la extensión de signo: 0x0000000c

10- Haciendo uso del botón "Ciclo siguiente" avance hasta la instrucción add. Observando el camino de datos destacado en verde, explique con sus palabras qué operaciones tiene lugar para la realización de la instrucción add:
-          Incrementar PC
-          Coger la instrucción de la memoria de instrucciones
-          Leer dos registros
-          Según las líneas de [5-0], será una instrucción u otra
-          Ejecutar la instrucción en la ALU
-          Escribir el dato en el registro


11- ¿Se trata del mismo camino de datos utilizado para la instrucción lw? Justifique su respuesta.
No es el mismo camino de datos. La instrucción add no pasa por la extensión de signo porque lee dos datos de la memoria de registro. Tampoco pasa por la memoria de datos.

12- Vuelva a la instrucción lw y observe cómo algunas líneas de control aparecen destacadas sobre las demás usando otro tono del color naranja. ¿Qué líneas de control actúan para cada una de las instrucciones analizadas?
-         LW: LeerMem, MemaReg, FuenteALU, EscrReg
-         ADD: RegDest, ALU Op, EscrReg




Con esto se finaliza la práctica número 6 de la asignatura.

En mi opinión modificaría lo del lenguaje RTL ya que algunos no controlábamos o desconocíamos la existencia de este lenguaje, por lo que la práctica se nos complicó un poco.

No hay comentarios:

Publicar un comentario