miércoles 30 de septiembre · 18:00–19:40 · en 39 días
CN113 · miércoles 30/09/2026 · 18:00-19:40 · Sesión 7
Práctica 3 · Algoritmos de multiplicación
Describir e implementar algoritmos optimizados de multiplicación y división, con simulación e implementación.
Por cada bit del multiplicador que vale 1 se suma el multiplicando desplazado. Se implementa hoy en versión secuencial.
1. Registros para multiplicando, multiplicador y acumulador.
2. Máquina de estados que controla las n iteraciones.
3. En cada iteración: si el bit menos significativo del multiplicador es 1, sumar; luego desplazar ambos.
4. Señal de listo cuando termina.
Describir también la versión de un solo ciclo con productos parciales sumados en árbol, y comparar contra la secuencial.
Anotar los números de ambas: es el intercambio área contra tiempo hecho medición, y es exactamente lo que la rúbrica pide en comparación teórico-práctica.
Un bloque secuencial necesita protocolo: una señal de inicio para arrancar, una de listo para avisar, y datos válidos solo cuando listo está activa. Definirlo bien desde el principio evita la mayoría de los errores de integración.
Generar con Python todos los productos de 8 por 8 bits y compararlos automáticamente contra la simulación. Son 65 536 casos: es una prueba exhaustiva y corre en segundos.
Continúa la Práctica 3 con el algoritmo de Booth y la división.
Nada anotado en esta sesión todavía.