Hola,
Quería compartir una noticia que para mí es muy importante: En el grado de Igeniería de Robótica Software de la URJC [1], que se ha empezado a impartir este curso (18/19), vamos a dar el procesador Risc-V [2] en la asignatura de Arquitectura de Ordenadores, en el segundo cuatrimestre, a estudiantes de primer año.
El Risc-V es una arquitectura abierta de procesadores (ISA), que define el formato de las instrucciones (pero no su implementación). Cualquier fabricante puede implementar esta arquitectura libremente, sin tener que pagar licencias. Esta arquitectura es modular, de forma que permite implementar diferentes gamas de procesadores.
El picorv32 [3] es la implementación que hizo Clifford, del juego de instrucciones RISC-V RV32IMC. Implementa todas las instrucciones definidas ahí. Dentro de la familia Risc-v esta es la gama más baja, pensada para sistemas empotrados. Este procesador lo podemos sintetizar en las FPGAs libres de gama baja (ice40 4/8K). En este post[4] ya comenté que lo habíamos sintetizado en la Alhambra II, añadiendo además las configuraciones para hacerlo desde Apio/Icestudio. También se puede sintetizar en la tinyFPGA Bx, la Lattice Breakboard y la nueva icebraker (y en principio en cualquiera que tenga una ICE40 4/8K)
El Risc-v tiene mucho futuro, y creo que jugará un papel muy importante a medio-corto plazo en la industria. En este artículo divulgativo de Xataca [5] podéis encontrar más información fácilmente entendible.
Educativamente, este procesador es un bombazo. Y combinado con las FPGAs libres las posibilidades son increibles: podemos enseñar arquitectura de ordenadores sintetizando procesadores reales, añadiendo instrucciones nuevas, incluyendo los periféricos que queramos... y podemos abordar todos los niveles (que se hará en diferentes asignaturas): Desde la programación en ensamblador para conocer los detalles, pasando a la programación en C directa del procesador (sin SO) hasta añadir la capa del SO (Linux) y trabajando a nivel de aplicación. Sobre este sistema, ya podemos montar ROS para trabajar con Robots. Y todo. Absolutamente todo con herramientas libres: lo que nos permite entender todos los detalles, y modificar todo lo que queramos a cualquier nivel.
Esta es una labor que nos llevará muchísimo tiempo. Pero yo todo el contenido que vaya generando lo iré publicando y haciéndolo accesible para todo el mundo. El SAV es fuerte en mucho, y quieren las cosas ya. Yo lo entiendo (a mí me pasa lo mismo). Pero sólo puedo pedir paciencia. Y mi compromiso de que todo estará ahí. Sólo necesito tiempo para irlo sacando
Saludos, Obijuan