Rocket Chip
Ecosistema RISC-VRocket Chip genera núcleos RISC-V en orden y sistemas completos en chip a partir del código fuente Chisel. SiFive basó sus primeros núcleos comerciales en él, y Chipyard lo utiliza como base para sus diseños.
Descripción general
Rocket Chip es un generador de sistemas en chip RISC-V. Un sistema en chip es un único chip que contiene núcleos de procesador junto con cachés, controladores de memoria y conexiones a otros dispositivos. Un generador es un programa que produce un diseño de hardware a partir de un conjunto de parámetros, de modo que el mismo código puede generar un diseño pequeño de un solo núcleo o uno grande de varios núcleos.
Su núcleo principal, Rocket, es en orden, lo que significa que ejecuta las instrucciones en el orden en que el programa las enumera. Rocket tiene una canalización de cinco etapas, una disposición en la que cada instrucción pasa por cinco pasos y varias instrucciones están en curso al mismo tiempo. Implementa el conjunto de instrucciones RISC-V de 64 bits con una unidad de gestión de memoria, el hardware que subyace a la memoria virtual, por lo que puede arrancar Linux. El diseño está escrito en Chisel, un lenguaje de construcción de hardware basado en el lenguaje de programación Scala.
Historial
Rocket Chip proviene de UC Berkeley, del grupo que diseñó el conjunto de instrucciones RISC-V. Krste Asanović y sus colegas lo describieron en el informe técnico de 2016 "The Rocket Chip Generator", y Berkeley construyó con él muchos chips de investigación.
SiFive, una empresa fundada por los creadores de RISC-V, basó sus primeros núcleos comerciales en Rocket. CHIPS Alliance, un grupo de hardware abierto de la Linux Foundation, ahora aloja el proyecto.
Dónde se usa
La mayoría de los usuarios llegan a Rocket a través de Chipyard, un framework que combina Rocket, BOOM y otros bloques en chips completos. Chipyard ejecuta esos chips en simulación de software, en FPGAs o mediante herramientas de fabricación. Una FPGA es un chip que se puede reconfigurar para comportarse como un circuito diferente, y los investigadores la usan para probar un diseño a velocidad real antes de fabricarlo.
