Venus
Ecosistema RISC-VVenus es un simulador didáctico de ensamblador RV32IM de UC Berkeley, utilizado en CS 61C.
Descripción general
Venus es un simulador de RISC-V que se ejecuta en un navegador web. Un simulador es un programa que imita un procesador, de modo que puedes ejecutar código máquina sin poseer hardware RISC-V. Venus lee código ensamblador escrito para RV32IM. El código ensamblador es la forma de texto legible de las instrucciones de máquina. RV32I es el conjunto básico de instrucciones RISC-V de 32 bits, y la extensión M añade multiplicación y división.
El editor y el simulador comparten una página. Los programas solicitan servicios mediante ecall, la instrucción de RISC-V que pide algo al entorno. Venus gestiona las ecall para imprimir valores y para asignar más memoria.
Historial
Keyhan Vakil inició Venus en 2017 en UC Berkeley. El proyecto está escrito en Kotlin, un lenguaje de programación que se puede compilar a JavaScript. Esa compilación es lo que permite que el simulador se ejecute dentro de un navegador sin nada que instalar.
UC Berkeley adoptó Venus para CS 61C, su curso sobre estructuras de máquinas, donde los estudiantes escriben sus primeros programas en RISC-V. Más tarde, el curso mantuvo su propia bifurcación en venus.cs61c.org. Una bifurcación es una copia de un proyecto que se desarrolla por separado del original. Otra bifurcación, Venus164, añade funciones para el proyecto del compilador ChocoPy en el curso de compiladores de Berkeley.
Dónde se usa
Venus encaja en un primer curso de ensamblador. El estudiante abre una página, pega un programa y lo ejecuta. Su conjunto de instrucciones se mantiene en RV32IM, un conjunto pequeño que mantiene las primeras lecciones centradas en registros, memoria y flujo de control.
