0% encontró este documento útil (0 votos)
202 vistas3 páginas

Simulador Simula3MS para MIPS

Este documento presenta Simula3MS, un simulador de arquitectura de computadores desarrollado por un grupo de investigación español. El simulador permite ejecutar código ensamblador MIPS en diferentes configuraciones de procesador (monociclo, multiciclo, segmentado) para apoyar la enseñanza. Incluye un editor de código, depurador gráfico y subconjunto de instrucciones MIPS. El documento también incluye una guía práctica introductoria al lenguaje ensamblador MIPS y al uso del
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
202 vistas3 páginas

Simulador Simula3MS para MIPS

Este documento presenta Simula3MS, un simulador de arquitectura de computadores desarrollado por un grupo de investigación español. El simulador permite ejecutar código ensamblador MIPS en diferentes configuraciones de procesador (monociclo, multiciclo, segmentado) para apoyar la enseñanza. Incluye un editor de código, depurador gráfico y subconjunto de instrucciones MIPS. El documento también incluye una guía práctica introductoria al lenguaje ensamblador MIPS y al uso del
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Universidad del Valle – Facultad de Ingenierías

Escuela de Ingeniería Eléctrica y Electrónica

Grupo de Arquitecturas Digitales y Microelectrónica, GADyM

Curso: Arquitectura de Computadores

Profesor: Rubén Darío Nieto Londoño, Ph.D.

Aclaraciones:

La información aquí consignada ha sido tomada de la pagina Web del Grupo de Arquitectura de
Computadores de la Universidad de la Coruña, España. La guía para la práctica ha sido
facilitada por la profesora Patricia González, quien pertenece al grupo de investigación
mencionado.

Sobre SIMULA3MS

Introducción (Tomado de http://simula3ms.des.udc.es/)

“Simula3MS 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 las prácticas de las asignaturas
de Estructura de Computadores. Actualmente cuenta con tres opciones de simulación diferentes:
entrada/salida, técnicas de salto y camino de datos. Esta última opción permite escoger entre diferentes
configuraciones del camino de datos: monociclo, multiciclo, segmentado básico, Marcador y algoritmo
de Tomasulo.
Los simuladores de los procesadores son ampliamente utilizados en docencia debido a que ofrecen un
entorno de programación menos peligroso y mejor que una máquina real porque pueden detectar
errores, ofrecer más posibilidades que un ordenador real y no modifican elementos físicos del
computador.
Simula3MS es un simulador orientado al estudio de las asignaturas de Estructura de Computadores, en
el cual se pueden observar y aplicar los conocimientos adquiridos en las clases de teoría. Cuenta con
un entorno de trabajo gráfico y de fácil manejo que permite depurar cómodamente los programas,
observar la evolución de la memoria, así como la ejecución de las instrucciones sobre distintos caminos
de datos. La presencia de las distintas implementaciones en la misma herramienta permite observar las
diferencias de ejecución de un mismo código según cuales sean las características del procesador.
Simula3MS implementa un subconjunto de instrucciones basadas en el repertorio de instrucciones del
procesador MIPS R2000/R3000. Consta de una primera parte que incluye un editor y que permite
analizar sintácticamente las instrucciones antes de pasar a observar la ejecución de las mismas. Una
vez analizadas sintácticamente las instrucciones se puede seguir la evolución del segmento de datos, así
como de los registros y del resto de elementos de la ventana de ejecución. Por otra parte, Simula3MS
cuenta con un coprocesador de punto flotante en todas sus configuraciones, e incluye dos técnicas de
gestión de entrada/salida: encuesta e interrupciones.”
“El simulador necesita la Máquina Virtual Java 1.5 para poder ejecutarse. Si no tiene instalado Java en su
máquina puede descargarlo de java.sun.com e instalarlo. Una vez descargado el fichero con extensión .zip de
esta página, descomprímalo para obtener el Simula3MS.jar, y simplemente haga doble clic sobre el fichero con
extensión .jar para ejecutar el programa o ejecute la sentencia java -jar Simula3MS.jar.

El programa se suministra de forma libre, se permite su uso, modificación y distribución, pero no su apropiación
para crear software propietario, secreto y no accesible a la comunidad. Esta es una apuesta por la defensa del
software libre, por la expansión del conocimiento científico y el trabajo colaborativo. Esperamos que sea de
utilidad y nos gustaría que si encuentra algún error, que lo habrá, contacte con nosotros. Además toda
sugerencia será bien recibida.”

Sesión I
Introducción al lenguaje ensamblador
El objetivo de esta sesión es introducir el lenguaje ensamblador del MIPS y el simulador que utilizaremos para la
realización de las prácticas.

Al analizar esta sesión de prácticas se conocerá la arquitectura del procesador monociclo simulado y su
representación grafica, en concreto: el segmento de datos, el segmento de texto y los registros de propósito
general.

Carga y ejecuta el siguiente código:

# programa primero.s

# segmento de texto
.text
.globl main
main:

# cargar los operandos


la $t0,numA
la $t1,numB
lw $t2,0($t0)
lw $t3,0($t1)

# operar
add $a0,$t2,$t3

# almacenar el resultado
sw $a0,0($t0)

# finalizar
addi $v0,$0,10
syscall

# segmento de datos
.data
numA: .word 3
numB: .word 6
Cuestionario
1. Explica lo que hace el código
2. Utilizando la siguiente tabla indica en la segunda columna el valor de los
registros implicados en la instrucción en curso después de que esta se haya
ejecutado. En la tercera columna explica brevemente lo que hace la
instrucción.

3. ¿Cuál es la finalidad de la instrucción syscall?


4. ¿Cuántos ciclos tarda en ejecutarse el programa anterior?
5. ¿Qué queda almacenado en el registro $a0 al final de la ejecución? Indícalo
en hexadecimal, binario y decimal.
6. ¿Cuál es la dirección en memoria de la instrucción add?
7. ¿Cuál es la dirección en memoria del número 6 (numB)?
8. Si quisiera imprimir este número por pantalla, ¿qué instrucciones
necesitaría añadir y dónde? Hazlo y pruébalo.

También podría gustarte