Universidad de Castilla-La Mancha
 
Escuela Superior de Ingeniería Informática

 

  cambiar a curso:   2023-24   2025-26



Grado en Ingeniería Informática


TRABAJOS FIN DE GRADO
curso: 2024-25

Implementación del Soporte para Punto Flotante en el Simulador RISC-V Ripes


Tecnologías Específicas

Ingeniería de Computadores
Ingeniería del Software
Tecnologías de la Información
 


Descripcion y Objetivos

RISC-V, una ISA desarrollada en 2010 en la Universidad de California, Berkeley, ha experimentado un crecimiento notable en diversas áreas tecnológicas, como la electrónica y la informática. Inicialmente concebido como un recurso educativo, RISC-V ha captado el interés de fabricantes de hardware, programadores y compañías de tecnología en la nube. Además de su valor didáctico, uno de los principales objetivos de este proyecto ha sido establecerse como una alternativa abierta y libre frente a arquitecturas propietarias como ARM y x86-64, utilizadas ampliamente por gigantes como Intel y AMD. El respaldo constante por parte de la industria, los gobiernos y las universidades ha hecho que la aspiración de convertir a RISC-V en el "Linux del hardware" esté cada vez más cerca de ser una realidad.

El concepto RISC-V se fundamenta en una arquitectura de tipo RISC, cuyo objetivo es reducir la complejidad de las instrucciones que se le dan al procesador, haciendo que cada una sea más simple y rápida de ejecutar. Esto contrasta con la arquitectura CISC, donde las instrucciones son más complejas pero menos frecuentes. En un sistema RISC, cada operación individual tiene una única función, como mover datos entre registros o realizar una operación aritmética, lo que le da mayor eficiencia en ciertas aplicaciones.

Para poder entender en profundidad y trabajar con esta arquitectura abierta, es esencial contar con simuladores que reproduzcan con precisión los comportamientos del hardware real. Estos simuladores permiten visualizar y analizar cómo funcionarán las implementaciones finales, lo que los convierte en una herramienta fundamental en el desarrollo y la optimización de sistemas basados en RISC-V.

Por lo tanto, el objetivo de este trabajo fin de grado es el de extender la funcionalidad de uno de los simuladores de RISC-V más ampliamente utilizados en la actualidad. En concreto, se pretende añadir la capacidad de ejecutar instrucciones en punto flotante. De manera más especifica, se necesita modificar el simulador para incluir:
i)   El formato de las instrucciones de punto flotante
ii)  La ejecucion de las instrucciones en punto flotante.
iii) Estadisticas de las instrucciones en punto flotante
iV)  Visualizacion de las instrucciones en punto flotante

 

 

 


Metodología y Competencias

Para el desarrollo de este TFG se usará una metodología ágil basada en Scrum. Se mantendrán reuniones periódicas, en principio quincenales, con los tutores para realizar un adecuado seguimiento que garantice el éxito del trabajo, a la vez que sirva para una provechosa retro-alimentación del mismo. 

Las tareas que se deben realizar para lograr el objetivo principal del trabajo seguirán las etapas utilizadas habitualmente en este tipo de trabajos, que en general consiste en motivar y justificar la conveniencia de realizar este trabajo; familiarizarse con el simulador aprendiendo su manejo, como está implementado y los datos que ofrece; realizar las implementaciones necesarias; recoger datos y analizarlos para extraer las conclusiones más relevantes.

Para alcanzar los objetivos del TFG, las actividades principales a realizar por el alumno son las siguientes (se indica el tiempo estimado de realización en meses, asumiendo una dedicación de 8 meses, 37,5 horas/mes y 300 horas de dedicación total al TFG):

  1. Conocer con un nivel de detalle adecuado a la carga del TFG el estado del arte de las arquitecturas x86, ARM y la especificación RISC-V. Su conocimiento es esencial, y para realizar esta tarea se consultará diversa documentación (1 mes).
  2. Familiarizarse con la funcionalidad y el código fuente del simulador de RISC-V, conocido como Ripes (2 meses).
  3. Añadir funcionalidad dedicada a la ejecucion de instrucciones en punto flotante en el simulador Ripes (3 meses).
  4. Validación y estudio de las prestaciones de las técnicas implementadas en el simulador (1 mes).
  5. Documentación de los resultados y redacción de la memoria de TFG (1 mes).


Las competencias desarrolladas a lo largo de este proyecto son:

[CO19] Ejercicio original a realizar individualmente y presentar y defender ante un tribunal universitario, consistente en un proyecto de naturaleza profesional en el ámbito de la tecnología específica de la Ingeniería en Informática que ha realizado el estudiante. En este ejercicio se deben sintetizar e integrar las competencias adquiridas en las enseñanzas.

[IC3] Capacidad de analizar y evaluar arquitecturas de computadores, incluyendo plataformas paralelas y distribuidas, así como desarrollar y optimizar software para las mismas.

[TI2] Capacidad para seleccionar, diseñar, desplegar, integrar, evaluar, construir, gestionar, explotar y mantener las tecnologías de hardware, software y redes, dentro de los parámetros de coste y calidad adecuados.

[UCLM3] Correcta comunicación oral y escrita.

[INS1] Capacidad de análisis, síntesis y evaluación.

[INS2] Capacidad de organización y planificación.

 

 


Medios a utilizar

Todos los recursos software que se utilizarán para la realización de este TFG son de libre disposición. Cualesquiera medios hardware requeridos por el alumno o alumna para su realización podrán ponerse a su disposición en la ESII o en el I3A.

 

 


Bibliografía

Material de consulta:

- David A. Patterson and John L. Hennessy. 2021. Computer Organization and Design RISC-V Edition: The HardwareSoftware Interface (2nd. ed.). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.

- David Patterson and Andrew Waterman. 2017. The RISC-V Reader: An Open Architecture Atlas. Strawberry Canyon.

Toda la bibliografía está disponible y a disposición del alumno.

Enlace al simulador:

https://github.com/mortbopet/Ripes

 

 


Tutores


RODRÍGUEZ SANCHEZ, RAFAEL
ESCUDERO SAHUQUILLO, JESUS
 

Alumno




 

 

Sindicación  Sindicación  Sindicación  Sindicación

Curso: 2024-25
© Escuela Superior de Ingeniería Informática
Edificio Infante Don Juan Manuel
Avda. de España s/n
02071 Albacete

informatica.ab@uclm.es
aviso legal
generar código QR de la página