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

 

  cambiar a curso:   2022-23   2024-25



Grado en Ingeniería Informática


TRABAJOS FIN DE GRADO
curso: 2023-24

Extending memory management functionalities in a RISC-V simulator


Tecnologías Específicas

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


Descripcion y Objetivos

La ISA (Instruction Set Architecture) o arquitectura del juego de instrucciones especifica el conjunto de instrucciones que un procesador o CPU es capaz de ejecutar y que recibe del compilador al transformar el código fuente de un programa en código que directamente ejecuta la CPU. Las ISA o arquitecturas más populares y extendidas actualmente son x86 y ARM. Mientras que la gran dominadora históricamente ha sido x86, ARM está teniendo un éxito considerable en los últimos años, gracias a que su ISA abierta se puede utilizar por diferentes fabricantes, siempre que se abone el precio de las costosas licencias, que pueden alcanzar varios millones de euros. Por ejemplo, la multinacional Apple ha migrado recientemente a la ISA ARM en sus conocidos procesadores M1 o M2. 

Como alternativa a las ISA en abierto y propietaria, en el año 2010 se propone la ISA RISC-V en la Universidad de Berkeley, California. RISC-V es una ISA también en abierto pero de hardware libre. Su utilización y modificación son gratuitas, y cualquier empresa puede fabricar procesadores basados en RISC-V. Además, la especificación de la ISA RISC-V está basada en un diseño de procesador tipo RISC (Reduced Instruction Set Computer), por lo que el número de instrucciones es reducido y compacto, y cada una de las instrucciones realiza una única operación.

El diseño y desarrollo de procesadores basados en RISC-V ha supuesto una auténtica revolución en los últimos años, ya que numerosas empresas están fabricando sus propios procesadores, que se integrarán en sistemas empotrados para aviónica, conducción automática, robótica y en sistemas de proceso de fabricación industrial. Por lo tanto, el conjunto de herramientas hardware y software de asistencia en el diseño de procesadores RISC-V también se está mejorando y enriqueciendo. Por ejemplo, los simuladores de procesadores RISC-V son un ejemplo de estas herramientas. En los últimos años, han surgido multitud de simuladores de RISC-V tanto para investigación como para propósitos pedagógicos y docentes. Uno de estos simuladores es RIPES, un herramienta que está ampliamente aceptada por la RISC-V Foundation (la principal entidad jurídica detrás del diseño de la ISA RISC-V). RIPES es open-source e incluye una interfaz de usuario (GUI) amigable, basada en Qt6 (uno de los principales componentes para la creación de interfaces gráficas en Linux y aplicaciones multiplataforma) y en el lenguaje de programación C.

Lamentablemente, al simulador RIPES aún le faltan, entre otras, ciertas funcionalidades relacionadas con la gestión de memoria (caché, caché multinivel, memoria virtual, etc.). El objetivo de este TFG es el diseño y la programación de nuevas funcionalidades relacionadas con la gestión de memoria en el simulador RIPES, así como su inclusión en la interfaz gráfica del simulador. Así mismo, se pretende que la funcionalidad desarrollada se comparta con la comunidad open-source involucrada en el desarrollo del simulador RIPES.

 


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 con los tutores, en principio quincenales, para realizar un adecuado seguimiento que garantice el éxito del trabajo, a la vez que sirva para una provechosa retro-alimentación del mismo.

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. El alumno también estudiará las diferentes propuestas para la gestión de memoria que se usan en procesadores RISC-V (1 mes).
  2. Familiarizarse con el código fuente del simulador RIPES (1 mes).
  3. Implementación de las nuevas funcionalidades (3 meses).
  4. Verificación de las funcionalidades desarrolladas (2 meses).
  5. Documentación de los resultados y redacción de la memoria del TFG (1 mes).

Competencias adquiridas:

[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.

[IS4] Capacidad de identificar y analizar problemas y diseñar, desarrollar, implementar, verificar y documentar soluciones software sobre la base de un conocimiento adecuado de las teorías, modelos y técnicas actuales.

[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.

[SIS5] Creatividad.

 


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 Harris and Sarah Harris. 2007. Digital Design and Computer Architecture. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.

- David A. Patterson and John L. Hennessy. 2017. Computer Organization and Design RISC-V Edition: The Hardware Software Interface (1st. 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.

Enlaces de consulta:

- https://riscv.org/
- https://github.com/mortbopet/Ripes

 


Tutores


GARCÍA GARCÍA, PEDRO JAVIER
ESCUDERO SAHUQUILLO, JESUS
 

Alumno




 

 

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

Curso: 2023-24
© Escuela Superior de Ingeniería Informática
Edificio Infante Don Juan Manuel
Avda. de España s/n
02071 Albacete
Tfno: 967 59 92 00 - Fax: 967 59 92 24

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