Prototipo VHDL de un procesador RISC con segmentación y control de riesgos

Identificadores
Statistics
Share
Metadata
Show full item recordAuthor/s
Ruiz Requejo, NicolásDate
2022Advisor
Cifredo Chacón, María Ángeles
Department
Ingeniería en Automática, Electrónica, Arquitectura y Redes de ComputadoresAbstract
A lo largo de este proyecto diseñamos el prototipo de un procesador de
conjunto reducido de instrucciones, al que hemos denominado como PeRISCore32,
empleando la técnica de segmentación y haciendo énfasis especialmente en la
gestión y resolución de los riesgos estructurales, de datos y de control que se
producen entre las instrucciones cuando tiene lugar su ejecución. De esta manera,
favorecemos el aumento de conocimiento teórico sobre el análisis de los tipos de
riesgos que pueden producirse y por otro lado demostramos su implementación
práctica mediante el diseño de un procesador dotado de los mecanismos de
resolución de riesgos, empleando el lenguaje de descripción de hardware VHDL.
Para su diseño comenzamos realizando una especificación de un subconjunto de la
arquitectura MIPS, analizando todos los riesgos encontrados para tal subconjunto.
Primero de forma teórica apoyándonos extensamente en diagramas multiciclo. Para
pasar posteriormente a describir todos los aspectos diseñados en dos etapas bien
diferenciadas. Una primera donde se desarrolla un camino de datos con la técnica de
segmentación. Y una segunda donde se diseñan e integran todos los mecanismos
necesarios para gestionar y dar solución a los riesgos. El diseño realizado se prueba
en simulación utilizando las herramientas proporcionadas por el software Vivado® y
se implementa en un dispositivo FPGA Artix 7 de Xilinx incluido en la placa de
desarrollo Nexys 4 ddr. Finalmente, aportamos los resultados de la verificación
funcional exitosa y el rendimiento alcanzado en su implementación en la FPGA Artix
7