Skip to content

Repository files navigation

ArquiLab

Plataforma interactiva de aprendizaje para estudiantes de arquitectura de computadores. Cubre los conceptos fundamentales del rendimiento de procesadores a través de lecciones teóricas, ejercicios prácticos y un simulador de microarquitectura, todo en español.

Sobre el proyecto

ArquiLab nació como herramienta de estudio para quienes se enfrentan por primera vez a temas como la ecuación del tiempo de CPU, el pipelining y la Ley de Amdahl. En lugar de leer definiciones aisladas, el estudiante construye la fórmula con sus propias manos, ordena los pasos de un cálculo real y experimenta con los parámetros físicos de un chip antes de responder preguntas de diseño.

El contenido está estructurado en tres niveles progresivos que desbloquean a medida que se completan, con un sistema de estrellas y racha de estudio para mantener el progreso visible.

Contenido

Nivel 1 — Fundamentos: La Ecuación del Tiempo de CPU Aprende qué determina la velocidad real de un procesador (NI, CPI, período de reloj) y construye la fórmula arrastrando sus componentes al lugar correcto.

Nivel 2 — Intermedio: Speedup y Pipelines con Stalls Entiende el costo de llenado del cauce segmentado, las penalizaciones por riesgos de datos y calcula la ganancia de velocidad respecto a un procesador monociclo ordenando el flujo matemático paso a paso.

Nivel 3 — Avanzado: Simulador Microarquitectónico Configura las unidades funcionales de un chip superescalar (ALUs, FPUs, unidades de memoria, frecuencia y tasa de aciertos de caché L1), predice el Speedup bajo la Ley de Amdahl y toma decisiones de diseño con restricciones reales de costo de silicio.

Tipos de ejercicio

  • Arrastrar y soltar: construir fórmulas ubicando variables y operadores en sus posiciones correctas.
  • Ordenador de pasos: secuenciar el procedimiento matemático de un problema real según dependencias lógicas.
  • Simulador interactivo: ajustar parámetros del procesador en tiempo real y responder preguntas de análisis con justificación.

Cada ejercicio incluye un sistema de tres pistas progresivas: la primera orienta conceptualmente, la segunda revela parte del proceso y la tercera asiste directamente en la resolución.

Stack

  • React 19 con TypeScript
  • Vite 6
  • Tailwind CSS 4
  • Framer Motion (animaciones)
  • KaTeX / react-katex (renderizado de fórmulas matemáticas)
  • Zustand (estado global de progreso)
  • React Router DOM 7
  • Desplegado en Vercel

Instalación y uso local

Requiere Node.js 18 o superior y pnpm.

# Clonar el repositorio
git clone https://github.com/tu-usuario/arquilab.git
cd arquilab

# Instalar dependencias
pnpm install

# Servidor de desarrollo
pnpm dev

# Build de producción
pnpm build

El servidor de desarrollo levanta en http://localhost:5173 por defecto.

Estructura del proyecto

src/
├── app/            # Enrutador, plantilla de layout y componente raíz
├── componentes/    # Componentes de ejercicios, fórmulas y diseño
├── data/           # Datos estáticos de niveles, lecciones, ejercicios y logros
├── paginas/        # Página de inicio y página 404
├── store/          # Stores de Zustand (progreso y configuración)
├── styles/         # CSS global
└── tipos/          # Tipos e interfaces TypeScript

El progreso del estudiante se persiste en localStorage a través de Zustand, sin necesidad de cuenta ni backend.

Despliegue

El proyecto está configurado para Vercel. Cualquier push a la rama principal genera un build automático usando pnpm run build con la carpeta dist como salida.

Para otros proveedores (Netlify, Cloudflare Pages, etc.), solo es necesario apuntar al mismo comando de build y configurar el rewrite de rutas a index.html para que React Router funcione correctamente.

Licencia

Este proyecto se distribuye bajo la licencia MIT. Puedes usarlo, modificarlo y distribuirlo libremente, incluso con fines educativos o comerciales, siempre que se mantenga la atribución original.


Hecho con interés genuino en que aprender arquitectura de computadores sea menos árido.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages