5.3 Introducción a VonSim
VonSim2 (Facundo Quiroga 2020) es una herramienta diseñada específicamente para la enseñanza y el aprendizaje de la arquitectura y organización de computadoras, que sirvió de referencia por su enfoque educativo e interfaz intuitiva. A partir de esta herramienta se desarrolló VonSim83 (Ruiz 2025a), adaptado para operar con registros y memoria de 8 bits, y diseñado para favorecer el aprendizaje progresivo.
VonSim ofrece una arquitectura detallada con un amplio repertorio de instrucciones y componentes. Aunque esta riqueza funcional es valiosa, puede resultar abrumadora para estudiantes en etapas iniciales. Por esta razón, VonSim8 implementa una simplificación estratégica para reducir la carga cognitiva en los primeros niveles de aprendizaje, promoviendo una asimilación progresiva de los conceptos fundamentales de la arquitectura de computadoras. A partir de esta base, se introdujeron diversas modificaciones en los componentes, instrucciones y funcionalidades del simulador, priorizando aquellos aspectos conceptuales que se abordan en el programa de la asignatura.
Las siguientes características posicionan a VonSim como una solución educativa integral:
Entorno integrado de desarrollo y simulación: incluye un editor de código ensamblador con resaltado de sintaxis y un simulador para la ejecución de programas, facilitando el aprendizaje práctico. (Facundo Quiroga 2020).
Fundamento en arquitectura real: basado en el procesador Intel 8088, ofrece una referencia histórica y técnicamente relevante. (Intel Corporation 1979).
Componentes esenciales para el estudio: incorpora cuatro registros multipropósito de 16 bits, memoria principal de 32 kB, bus de direcciones de 16 bits y bus de datos de 8 bits, entre otros. (Stallings 2021).
Gestión completa de interrupciones: Implementa tanto interrupciones por software (entrada/salida de datos) como interrupciones por hardware mediante un controlador de interrupciones programable (PIC), cubriendo aspectos fundamentales de la operación del sistema (John L. Hennessy and Patterson 2017a).
Simulación de periféricos: incorpora dispositivos como reloj, llaves, luces e impresora, inspirados en los especificados por la familia iAPX 88 de Intel, permitiendo simular interacciones complejas con el sistema.
Enfoque pedagógico mediante simplificaciones estratégicas: no pretende ser un emulador fiel del 8088, sino una herramienta educativa que implementa simplificaciones deliberadas (repertorio de instrucciones reducido y codificación simplificada) para facilitar la comprensión en contextos educativos (Patt and Patel 2019).
Desarrollo académico especializado: fue creado por Facundo Quiroga, Manuel Bustos Berrondo y Juan Martín Seery, con la colaboración de Andoni Zubimendi y César Estrebou, específicamente para las cátedras de Organización de Computadoras y Arquitectura de Computadoras de la Facultad de Informática de la Universidad Nacional de La Plata, garantizando su alineación con objetivos curriculares específicos.
Fundamento en experiencia previa: se basa en el simulador MSX88, desarrollado en 1988 por Rubén de Diego Martínez para la Universidad Politécnica de Madrid, aprovechando décadas de experiencia acumulada en simuladores educativos.
Accesibilidad y sostenibilidad: distribuido bajo licencia GNU Affero General Public License v3.0 con código fuente disponible en GitHub, y documentación bajo licencia CC BY-SA 4.0, facilitando su estudio, modificación y mejora continua (Open Source Initiative 2024).
5.3.1 Stack tecnológico
El proyecto VonSim está desarrollado íntegramente en TypeScript, lo que permite aprovechar el tipado estático, lograr mayor robustez del código y contar con mejor soporte para autocompletado y detección temprana de errores durante el desarrollo.
La organización del código sigue una arquitectura de monorepositorio, compuesto por diversos paquetes especializados que cumplen funciones específicas:
- vonsim/assembler: ensamblador que traduce el código en lenguaje ensamblador a binario ejecutable.
- vonsim/simulator: motor que ejecuta los programas ensamblados.
- vonsim/app: aplicación web que proporciona la interfaz gráfica de usuario e integra el simulador.
- vonsim/common: utilidades compartidas entre los distintos módulos.
- eslint-config-vonsim: paquete para la configuración de reglas de estilo y buenas prácticas mediante ESLint.
- vonsim/scripts y vonsim/tsconfig: paquetes de soporte con scripts de desarrollo y configuraciones específicas para TypeScript.
- vonsim/docs: módulo destinado a la gestión de la documentación del proyecto.
Para el desarrollo y la ejecución del proyecto se utilizan herramientas modernas como Node.js v22 y el gestor de paquetes pnpm v10. Asimismo, el repositorio incluye una serie de scripts predefinidos para facilitar las tareas de instalación, compilación y despliegue: pnpm install, pnpm dev, pnpm docs:dev y pnpm build.
Bibliografía
VonSim: https://vonsim.github.io/↩︎