Cómo hacer un procesador desde cero

Hoy os traemos otra interesante charla, esta vez relacionada con el desarrollo de hardware libre y en concreto de un procesador.

Rob Landley y Jeff Dionne crearon SE-Instruments para hacer un SoC, cuya CPU es completamente abierta. Se han basado en la arquitectura SuperH de Hitachi desarrollada a principios de los 90. La estrategia gira en torno a la caducidad de patentes, es decir, cogen tecnologías antiguas cuyas patentes ya no siguen en vigor e incorporan mejoras.

El proyecto J-Core.org creó un nuevo set de instrucciones basándose en SH2 que está disponible en el lenguaje de programación VHDL bajo licencia BSD. Este código es capaz de generar un integrado cargable en una FPGA de 50€ que puede arrancar cosas tan complejas como Linux.

j-core-1
Sistema mínimo necesario para ejecutar Linux

El hardware libre (o el hardware de código abierto) tiene una gran diferencia con respecto al software libre: no se pueden sacar copias con coste prácticamente nulo. Los costes iniciales de fabricar un circuito integrado son muy elevados y es por eso que se propone usar FPGAs (un integrado de lógica programable) como opción económica.

j-core-3
J-core en dos FPGAs

Pero también existe la posibilidad de usar ASICs (circuitos integrados de aplicación específica), es decir, sacar procesadores tal y como los encontramos en las tiendas. Esto se podría conseguir a través de campañas de crowdfunding en las que con cada nueva versión del núcleo, se financien los costes fijos de la producción abaratando la fabricación a un orden de magnitud de un euro por chip.

Aunque J-core se basa en SH2, la implementación es completamente nueva, creada de una sala limpia. Esto consiste en copiar un diseño usando ingeniería inversa procurando no usar ninguna implementación comercial, es decir, sin conocer absolutamente nada del diseño interno.

j-core-2
Esquema del diseño de la arquitectura SuperH

El objetivo de J-core es conseguir un procesador al que se le puedan conectar distintos periféricos como DSPs, controladoras USB, receptores de GPS, etc. Con ello se obtienen SoCs para aplicaciones muy específicas con unos costes muy reducidos en caso de fabricarlos en ASICs o unos costes comedidos si se elige la opción de usar una FPGA.

En esta charla, Landley y Dionne explican su andadura en la creación de los procesadores centrándose principalmente en la lógica de su System-on-Chip aunque también dando unas pinceladas a los procesos de fabricación. Como de costumbre, os ofrecemos el video subtitulado:

Se pueden conocer más detalles en la web del proyecto.

Ver comentarios