¿Qué es RISC-V?

El procesador RISC-V está últimamente en boca de todos los aficionados a la electrónica. En realidad RISC-V no es un microprocesador propiamente dicho, sino que es una serie de documentos que definen cómo debe ser un procesador capaz de ejecutar programas compilados para dicha arquitectura. A partir de esta documentación se pueden realizar implementaciones concretas del procesador que integren todo o únicamente parte de la especificación.

RISC-V es la evolución de los procesadores RISC creados en la Universidad de Berkley en California. En sus famosos libros, John L. Hennessy y David A. Patterson definieron la arquitectura RISC y el primer procesador RISC, el DLX. A partir de ahí se creo el MIPS y muchos otros procesadores, por ejemplo el famoso OpenRISC, uno de los primeros procesadores de código abierto totalmente funcional. RISC-V es la versión 5, de ahí el V, de estas familias de procesadores.

Hace unos días subimos a Youtube un nuevo video hablando sobre qué es el procesador RISC-V, su historia y qué aplicaciones tiene.

En este artículo vamos a hacer un rápido repaso a los puntos mas destacados que comentamos en el video, aunque si no queréis leer y preferís verlo os dejamos aquí el video.

Como ya os hemos comentado anteriormente, RISC-V, no es en si mismo un procesador, cuando hablamos de él, nos referimos a toa una familia de procesadores que son capaces de ejecutar un juego de instrucciones definido por un consorcio internacional que define como debe ser un microprocesador que pueda llevar esta etiqueta. Estas especificaciones las podéis encontrar en este enlace.

A partir de esto, se pueden crear diferentes implementaciones del procesador. De hecho ya hay bastantes, creadas por universidades a lo largo y ancho del mundo, aparte de otras implementaciones que se están creando para aplicaciones industriales, sobre todo en China. Dentro de la página de RISC-V hay una lista de implementaciones.

Estas implementaciones pueden ser Cores, las cuales son solo el procesador o el System On Chip (SoC). Para entender la diferencia tenemos que comprender que un procesador no funciona aislado, sino que necesita un bus, controladores de memoria, memoria, periféricos y otras cosas.

Cuando descarguéis un core tenéis que crear vosotros la infraestructura para poder hacer que funcione. Sin embargo al utilizar un SoC ya tendrías todo lo necesario para poder ejecutar un sistema RISC-V completo. Eso sí, tened en cuenta que el SoC probablemente funcione solo para la placa de desarrollo con FPGA para la que esté diseñado.

Si queréis utilizar otra diferente tendríais que portar todo para funcionar en vuestra placa, y creedme que no es algo sencillo. Es por esto que utilizar un sistema basado en RISC-V no está actualmente al alcance del aficionado medio a la electrónica.

Rendimiento del RISC-V

Todo el mundo se pregunta, podrá ser RISC-V una alternativa a ARM o a los procesadores de Intel con arquitectura x86. La respuesta es que a medio plazo podría serlo. El rendimiento de un procesador RISC-V depende de la microarquitectura utilizada en su desarrollo y la tecnología. Es posible hacer procesadores RISC-V muy pequeños, lentos, pero de bajo consumo para aplicaciones IoT, y también es posible crear procesadores RISC-V para aplicaciones de grandes servidores, ya se está haciendo y se espera que en unos años estén disponibles.

¿Como usar un RISC-V en FPGA?

A día de hoy ya es posible utilizar procesadores RISC-V y jugar con ellos. En sucesivos videos y artículos veremos cómo poner en marcha alguno. Ya os aviso que no es algo sencillo. Lo más fácil es optar por algún SoC que este soportado por alguna placa asequible. Por ejemplo nosotros hemos escogido la Lichee Tang RISC-V/FPGA board, que por solo unos 20€ tiene una FPGA con un procesador RISC-V Hummingbird E200 precargado en una FPGA Anlogic, marca de la que debo reconocer nunca había oido hablar.

Para poder poner el marcha esta placa hay un excelente tutorial en el siguiente enlace.