← Organización y Arquitectura de Computadoras
Clase 02
M.I. José Antonio de Jesús Arredondo Garza · 2 sep 2026 · herramientas del curso, ensamblador en Raspberry Pi Pico y diferencias de hardware Pico 1 vs. Pico 2. Sesión corta (el profesor la terminó antes para entregar un informe de posgrado).
En corto
- Clase de arranque práctico: presentación de materiales y herramientas, no de teoría formal (no hubo diagramas de bloques, formatos de instrucción, tablas de registros ni fórmulas de rendimiento).
- Pico 2 tiene FPU (unidad de punto flotante) y la Pico 1 no: un programa en ensamblador con punto flotante para la Pico 2 no corre en la Pico 1. En alto nivel casi no se nota; en ensamblador es crítico.
- La Pico 2 expone 32 registros de punto flotante y, en teoría, una unidad MAC (multiplicación-acumulación) como la de los DSP — aún no accesible desde los ensambladores disponibles.
- El bootloader oficial todavía no distingue Pico 1 de Pico 2 (es el mismo).
- DMA (Direct Memory Access): la clave es poder direccionar directamente los registros internos de la tarjeta. La librería oficial no convenció al profesor, que hizo la suya para manejar imágenes.
🎯 Para el examen
- En las Pico se pueden usar 32 registros (los de punto flotante de la Pico 2).
- Es cómodo quedarse en alto nivel y librerías, pero la limitación real aparece cuando hay que direccionar directamente los registros internos de la tarjeta.
- No se dictaron fechas de examen, tareas ni porcentajes (la sesión se cortó).
Contexto histórico (mencionado de pasada)
Procesador IBM 180; origen del temporizador 555; nacimiento de BASIC; Texas Instruments, que empezó siendo una petrolera y pasó a ser un gigante de la electrónica — hoy destaca por sus sensores y chips biomédicos.
Raspberry Pi Pico 1 vs. Pico 2
- Ambas permiten programar en lenguaje ensamblador.
- FPU: la Pico 2 la tiene; la Pico 1 no. Consecuencia: código en ensamblador con operaciones de punto flotante compilado para la Pico 2 no corre en la Pico 1 por la ausencia física de la FPU. En lenguajes de alto nivel la diferencia casi no se ve.
- La Pico 2 tiene 32 registros de punto flotante para operaciones complejas o para implementar funciones que no existen por defecto.
- Unidad de multiplicación acumulativa (MAC): la Pico 2 teóricamente añade una unidad parecida a la de los DSP. El profesor intentó acceder a ella desde los ensambladores disponibles y no lo logró → todavía no está integrada al software de desarrollo.
- Bootloader oficial: aún no está diferenciado; es el mismo para Pico 1 y Pico 2.
DMA (Direct Memory Access) y librería propia
El profesor subraya la importancia de direccionar directamente los registros internos de las Pico. Existe una librería oficial de DMA, pero tras revisarla no le convenció; desarrolló su propia librería de DMA para acceder directamente al recurso y manejar imágenes de forma directa.
Librería AP (matemática reducida)
Librería matemática reducida, del estilo de la librería grande de Python: permite operaciones matriciales y solución de ecuaciones. No corre con el bootloader oficial, sino con un bootloader alternativo (nombre transcrito de forma imprecisa como "de Pori Bimor").
Otros procesadores y hardware mencionados
- Display gráfico ILI9488 — archivo para controlarlo con la Pico 2. Resolución citada en clase como "320 por 408" px (el ILI9488 es habitualmente 320×480).
- Microcontrolador FPU 64 — procesador canadiense de 64 bits, "no muy veloz" (40 MHz), pero con un conjunto de instrucciones en ensamblador muy potente, al punto de no necesitar componentes adicionales.
- Driver para servos y ejemplo de red neuronal en Matlab que resuelve una compuerta XOR.
Herramientas y materiales del curso
- Osciloscopio Virtual v3 — en la carpeta de materiales, ya con correcciones de errores.
- Assembler Pico — el ensamblador con el que se trabajará el curso.
- Terminal web — corre desde el navegador, sin instalación, para ejecutar programas.
- Matlab — ejemplo incluido: compuerta XOR con redes neuronales.
- Lecturas: diferencias entre microcontroladores y microprocesadores; artículos y documentales cortos; libro de dominio público "Numerical Recipes" (in C) — algoritmos de ingeniería como "recetas de cocina" (integración, derivación).
- Los proyectos del trimestre pasado ("Tomy") sirven de guía de lo que se hace en la materia.
Las notas de hardware ARM / Pico se recogen también en el Tema 5 (familias de procesadores comerciales).