Spike
Ecosistema RISC-VSpike es el simulador de referencia para el conjunto de instrucciones RISC-V, mantenido por RISC-V International.
Descripción general
Spike es el simulador de referencia para el conjunto de instrucciones RISC-V. Un simulador es un programa que imita un procesador. Otras implementaciones comparan su comportamiento con un simulador de referencia, por lo que un equipo que construye un nuevo chip RISC-V ejecuta el mismo programa en su diseño y en Spike y comprueba que ambos terminan con los mismos registros y memoria.
Spike modela harts, abreviatura de hilos de hardware. Un hart es una unidad dentro de un procesador que ejecuta su propio flujo de instrucciones. Spike cubre los conjuntos de instrucciones base de 32 y 64 bits y las extensiones estándar, incluidos los vectores. También cubre los modos de privilegio de máquina, supervisor y usuario de los que dependen los sistemas operativos.
Historial
Spike se escribió en UC Berkeley, donde el conjunto de instrucciones RISC-V se diseñó a partir de 2010, y su repositorio público data de 2011. El nombre proviene del clavo dorado que se clavó en 1869 para marcar la finalización del primer ferrocarril que cruzó Estados Unidos.
RISC-V International mantiene ahora Spike en su organización de software en GitHub. Las nuevas extensiones suelen llegar a Spike pronto, a menudo mientras sus especificaciones aún son borradores, para que los desarrolladores de hardware y compiladores tengan un modelo con el que probar.
Dónde se usa
Spike es una herramienta de línea de comandos para ingenieros. Los equipos de hardware la usan para verificar sus diseños, y los desarrolladores de compiladores la usan para probar el código generado. Ejecuta programas C ordinarios compilados para RISC-V, con la ayuda del proxy kernel, un pequeño programa que reenvía las llamadas al sistema del programa simulado al ordenador anfitrión.
