





Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Asignatura: Arquitectura de computadoras, Profesor: Don Carlos, Carrera: Teología, Universidad: UPCO
Tipo: Ejercicios
1 / 9
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!






INTRODUCCIÓN Este documento contiene el enunciado de la práctica de introducción al simulador WinMIPS64. OBJETIVO El objetivo perseguido es la familiarización del alumno con el simulador WinMIPS64. Para conseguirlo se llevarán a cabo varias actividades que irán introduciendo de manera gradual los diferentes aspectos del simulador, desde la edición de programas hasta la ejecución de los mismos. INSTALACIÓN DEL SIMULADOR El simulador únicamente funciona en entornos Microsoft Windows. Está disponible, en formato ZIP para su instalación, en la web del Departamento de Informática Aplica http://www.dia.eui.upm.es Una vez descargado es necesario utilizar una herramienta como WinZIP, para poder extraer su contenido en un directorio destino (p.e. C:\Winmips64). Junto con el simulador (winmips64.exe) están disponibles los ficheros siguientes:
En el programa fuente (ensamblador) las directivas “.data” y “.text” indican el comienzo de la declaración de variables y de código respectivamente. La otra directiva presente “.word32” indica que la variable ocupara 32 bits de memoria. El identificador que precede a “.word32” es el nombre simbólico asignado a la variable seguido del carácter “:” (en este caso se han declarado dos variables de nombre “i” y “j”). Por último, el número que aparece tras la directiva es el valor inicial que tendrá la variable. Resumiendo, se han declarado dos variables (i y j) de 32 bits y con valor inicial
El código del programa consta de trece instrucciones y tres etiquetas (MAIN, WHILE y ENDWHILE). Como ya se ha comentado antes la declaración de etiquetas se realiza en el comienzo de la línea (columna 0) terminando su nombre con el carácter “:”. Las etiquetas WHILE y ENDWHILE son destinos de las instrucciones de salto (beqz y j). El nombre de la etiqueta suele ser representativo del código en el que se utiliza, en este caso se trata de un bucle while. En el fichero también pueden aparecer comentarios, se considera como tal cualquier texto que aparezca a la derecha del carácter “;” Las constantes numéricas pueden expresarse en base decimal o bien en hexadecimal anteponiendo al valor los caracteres (0x). Un ejemplo sería daddi r1,r0,0xf (inicializa el registro r1 con el valor hexadecimal F. ARRANQUE DEL SIMULADOR Para arrancar el simulador basta con repicar en el icono correspondiente al fichero winmips64.exe desde el explorador de ficheros. El aspecto del simulador es:
Consta de siete ventanas:
Cuando aparece la ventana anterior indica que existe al menos un error, pero desgraciadamente muchas veces los programas contienen más de un error siendo deseable corregirlos todos y no necesitar sucesivas cargas del programa en el simulador para detectarlos todos y proceder a corregirlos. Cómo ya se ha indicado anteriormente junto con el simulador está disponible el programa asm.exe que permite comprobar la validez de un programa, mostrando todos los errores que contenga. EJECUCIÓN DE UN PROGRAMA La ejecución de un programa puede realizarse de tres formas distintas: Ciclo‐a‐Ciclo (Single Cycle), Multi‐Ciclo (Multi‐Cycle) y Hasta‐Breakpoint (Run‐to). Ciclo‐a‐Ciclo permite ir ejecutando el programa comprobando que sucede cada vez que transcurre un nuevo ciclo de reloj. Este modo nos permite ver con gran nivel de detalle el funcionamiento del cauce, desde cuántas instrucciones están activas, riesgos en los que incurren, paradas, etc. Para acceder a este modo hay que utilizar la opción Single cycle del menú Execute o utilizar la tecla de función F. En el modo Multi‐ciclo la ejecución del programa avanza cinco ciclos (valor por defecto que puede modificarse a través de la opción Multi Step del menú Configure o bien pulsando la combinación de teclas ctrl.+T ). Para acceder a este modo se puede utilizar la opción Multi Cycle del menú Execute o bien la tecla de función F. El modo Hasta‐breakpoint ejecuta el programa hasta encontrar un punto de parada o hasta el final del programa (normalmente la instrucción halt es la última, procediendo a detener el procesador). Este modo está disponible mediante la opción Run to del menú Execute o la tecla de función F. Los puntos de parada se fijan repicando con el ratón en una instrucción de la ventana de código pasando ésta a color azul para indicar que se ha fijado un punto de parada. Para quitarlos se procederá de idéntica forma, es decir, repicando en la instrucción que lo tenga fijado, pasando a continuación del color azul al negro original. En cualquier momento de la simulación podemos reiniciar el simulador mediante las opciones Reset MIPS64 y Full Reset del menú File. La primera opción simula un reset hardware del procesador, la segunda además borra el contenido de la memoria. OTRAS COSAS DEL SIMULADOR El simulador tiene mucha más funcionalidad que iremos viendo en las siguientes prácticas.
TAREAS A REALIZAR Para llevar a cabo las tareas es necesario configurar el simulador con las opciones Forwarding y Delay Slot inhibidas (menú Configure opciones Enable Forwarding y Enable Delay Slot) Una vez visto el funcionamiento básico del simulador se proponen las tareas siguientes: