Emulador RISC-V: una buena herramienta de aprendizaje

En artículos previos he comentado sobre RISC-V, y también sobre multitud de herramientas y recursos que puedes usar para trabajar y aprender sobre esta arquitectura, e incluso placas de hardware que puedes emplear si eres desarrollador.

En este otro artículo te voy a presentar un interesante recurso de aprendizaje sobre RISC-V. Un emulador web que te permitirá saber cómo funciona de forma detallada, incluso hacer un seguimiento de las instrucciones por las diferentes etapas.

Este simulador se llama emulsiV, y es de código abierto. Puedes revisar el código fuente en su sitio de GitHub. Y, para comenzar a probarlo, puedes acceder a su interfaz web desde aquí.

Ha sido creado por el ESEO francés y está especialmente diseñado para el aprendizaje. Y no es más que una implementación visual de un procesador RISC-V muy simple llamado Virgule.

Virgule es un núcleo de 32-bit que implementa un subconjunto mínimo de la ISA RISC-V, lo que es ideal para evitar una mayor complejidad y hacerlo más claro para los que comienzan a aprender sobre arquitectura.

En cuanto a su funcionamiento, es sencillo:

  • En la barra superior tienes:
    • Herramientas de zoom.
    • Descargar el código cargado en la memoria en hexadecimal.
    • Cargar tu propio código en hexadecimal y ejecutarlo para ver cómo funcionaría.
    • Ejemplos precargados como Hello, para un simple hola mundo, un echo, etc.
    • La casilla de animación que debes activar para generar la animación y poder hacer un seguimiento de los datos e instrucciones a través del path de la arquitectura.
    • También puedes seleccionar la velocidad a la que se van ejecutando las instrucciones.
    • Tienes los botones de control Reset/Pause/Run/Step. El primero resetea el programa, el segundo pone en pausa la ejecución, el tercero ejecuta el programa que haya en memoria y el último ejecutaría paso a paso.
    • A la derecha tienes unos indicadores de la etapa en la que se encuentra cada instrucción: Fetch (ciclo de búsqueda), Decode (decodificación), ALU (unidad aritmético-lógica), Compare (comparación), Mem/Reg (ciclos de acceso a memoria y registros) y PC (registro Program Counter o contador de programa, que apunta a la siguiente instrucción de la memoria a ejecutar).
  • En la zona media puedes ver el diagrama de la arquitectura donde puedes ver cómo corren las instrucciones a través de las distintas unidades.
  • En la zona baja puedes encontrar el E/S, con la entrada de datos, un recuadro negro con la salida de texto con los resultados que e irán mostrando (p.e.: Hello si has ejecutado el ejemplo del hola mundo), estado del GPIO y bitmap.

Por cierto, admite código generado por un compilador de C, para los programas que desees cargar para tus pruebas.

Más información – Documentación de emulsiV

Si necesitas otro emulador RISC-V más avanzado – WebRISC-V

Isaac

Apasionado de la computación y la tecnología en general. Siempre intentando desaprender para apreHender.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

A %d blogueros les gusta esto:

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar