Implementación de un procesador RISC-V en VHDL para aplicaciones académicas, soportando programación a alto nivel y periféricos a la medida (2021)
La mayoría de los microprocesadores de los dispositivos electrónicos, computadores, celulares o relojes inteligentes, están construidos alrededor de dos arquitecturas de referencia (definidas por sus ISA – Instruction Set Architecture), la x86 y la ARM-32. Estos dos ISA pertenecen y son desarrollados únicamente por dos compañías, Intel y ARM respectivamente. Estas dos empresas acapararon casi todo el mercado electrónico mencionado anteriormente hasta hace unos años. Concretamente en 2019, cuando surgió una nueva ISA, RISC-V, que empezó a ser tenida en cuenta en este mercado. A diferencia de x86 o ARM-32, RISC-V es un conjunto de instrucciones que además de ser libre y abierto, su desarrollo no depende de empresas privadas, como lo que sucede con sus competidores. Esto en el campo comercial tiene muchas implicaciones, por ejemplo, si se requiere usar algún chip con alguna ISA comercial se pueden necesitar hasta 2 años para conseguir dicho permiso, lo que retrasaría mucho el diseño de alguna aplicación, mientras los chips basados en RISC-V pueden ser usados sin pasar por este tipo de negociaciones, lo ello tiene una ventaja comercial enorme frente a sus competidores. RISC-V al ser una ISA modular en lugar de una incremental no ve necesario el incluir las instrucciones desarrolladas desde el inicio de la arquitectura, sino que, al tener un núcleo congelado, da la posibilidad de incluir las extensiones necesarias según la aplicación a desarrollar. Esto tiene como ventaja no solo disminuir el costo de fabricación, ya que se reduce su tamaño, sino también disminuye el tiempo de ejecución de un programa implementado en dicha arquitectura. Consecuentemente, a nivel comercial ha tenido una gran acogida, contando desde 2015 con RISC-V International, una fundación que actualmente consta con más de 200 miembros, entre los cuales se destacan grandes compañías como Huawei, ZTE, Western Digital, entre otras. Sin embargo, a nivel académico son pocas las iniciativas de Universidades y de propuestas no comerciales que desarrollen procesadores RISC-V. Además, las propuestas que existen son limitadas en capacidades y documentación, por consiguiente, este trabajo de grado busca realizar una implementación que soporte programación en alto nivel y periféricos a la medida, incluyendo una buena documentación al respecto. Igualmente, busca evaluar el rendimiento del procesador desarrollado con el fin de mostrar sus capacidades y su compatibilidad para que, con este procesador libre y abierto, se pueda apoyar las clases de Organización de Computadores del Departamento de Ingeniería Electrónica de la Pontificia Universidad Javeriana en la línea de Sistemas Digitales.