TRABAJOS FIN DE GRADO curso: 2022-23
Implementación de un procesador RISC-V en una FPGA |
Tecnologías Específicas
Ingeniería de Computadores
Descripcion y Objetivos
La ISA (Instruction Set Architecture), o arquitectura, es el repertorio de instrucciones básico de un ordenador. Sin él, cualquier fragmento de software carecería de sentido. Las arquitecturas más populares y extendidas actualmente son x86 y ARM. Mientras que la gran dominadora históricamente ha sido siempre x86, ARM le está pisando los talones en los últimos años gracias a la rápida proliferación de los dispositivos móviles. Incluso Apple ha migrado a esta arquitectura en sus dispositivos. El principal problema de estas arquitecturas, desde el punto de vista académico e investigador, es que son propietarias, requiriendo para su uso de licencias que pueden alcanzar varios millones de euros.
RISC-V es una arquitectura que, entre otras cosas, ofrece una solución a este problema. Al ser una arquitectura de código abierto, su utilización y modificación son gratuitas. Además, al ser una arquitectura RISC (Reduced Instruction Set Computer), su consumo energético es mucho menor que el que ofrecen arquitecturas CISC (Complex Instruction Set Computers). Debido a esto, han surgido proyectos de investigación, como PULP, cuyo objetivo es investigar en arquitecturas de bajo consumo. Esta línea de investigación no sería posible sin la existencia de FPGAs (Field Programmable Gate Arrays), ya que el bajo coste de estos chips programables los hace accesibles a un gran número de instituciones académicas.
Por lo tanto, el objetivo de este trabajo fin de grado es el de la implementación de un procesador basado en la ISA de RISC-V en una FPGA, así como la evaluación de sus prestaciones mediante el uso de algún tipo de benchmark, en comparación con otras arquitecturas, como x86 o ARM similares. El código fuente del procesador RISC-V se estudiará y adaptará para su posterior uso con fines académicos e investigadores.
Metodología y Competencias
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 (1 mes)
2) Estudiar las diferentes implementaciones en hardware libre de procesadores RISC-V (1 mes).
3) Familiarizarse con el entorno de programación de una FPGA e implementar el procesador RISC-V elegido (3 meses).
4) Estudio de las prestaciones del procesador RISC-V implementado en la FPGA (2 meses).
5) Documentación de los resultados y redacción de la memoria de 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.
[IC4] Capacidad de diseñar e implementar software de sistema y de comunicaciones. [IC7] Capacidad para analizar, evaluar, seleccionar y configurar plataformas hardware para el desarrollo y ejecución de aplicaciones y servicios informáticos.
[IC8] Capacidad para diseñar, desplegar, administrar y gestionar redes de computadores.
[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
- Estación de trabajo
- Placa de desarrollo de FPGA (por ejemplo, Nexys A7)
- Software de desarrollo (por ejemplo, Xilinx Vivado)
Todos estos medios están disponibles y a disposición del alumno.
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://bootcamp.uxdesign.cc/arm-vs-risc-v-3bf32a78ac3a
- https://riscv.org/
- https://github.com/aignacio/riscv_verilator_model
- https://github.com/ultraembedded/riscv
- https://github.com/embench/embench-iot
Tutores ESCUDERO SAHUQUILLO, JESUS MORÁN MUÑOZ, ANTONIO | Alumno MOYA CAÑAVERAS, MARÍA DEL PILAR
|
|