Unidad 3 · Multiplicadores, multiplicación y división
lunes 19 de octubre · 18:00–19:40 · en 58 días
GUÍA 19-10-26 Sistemas Embebidos
LA207 · lunes 19/10/2026 · 18:00-19:40 · Sesión 11
Unidad 3 · Multiplicadores, multiplicación y división
MULTIPLICACIÓN POR SUMAS Y DESPLAZAMIENTOS
Es el algoritmo de la multiplicación de lápiz y papel en binario: por cada bit del multiplicador que vale 1 se suma el multiplicando desplazado. Con n bits se requieren n sumas.
DOS IMPLEMENTACIONES
- Secuencial — un sumador y un registro de desplazamiento, n ciclos de reloj. Poca área, mucha latencia.
- Combinacional en arreglo — n sumadores en paralelo, resultado en un ciclo. Mucha área, poca latencia.
La elección es el intercambio central del diseño digital: área contra tiempo. No hay respuesta correcta sin conocer la restricción del sistema.
ALGORITMO DE BOOTH
Reduce el número de sumas aprovechando las cadenas de unos consecutivos: en vez de sumar por cada uno, resta al inicio de la cadena y suma al final. Además maneja números con signo de forma natural, sin casos especiales.
- Booth radix-2 examina pares de bits solapados; radix-4 examina tercias y reduce las operaciones a la mitad.
SEGMENTACIÓN
Insertar registros entre las etapas del arreglo permite subir mucho la frecuencia de reloj: el camino crítico se acorta. La latencia total en ciclos aumenta, pero el rendimiento en resultados por segundo mejora. Es la técnica clave cuando hay flujo continuo de datos.
MULTIPLICADORES DEDICADOS
Las FPGA modernas incluyen bloques DSP con multiplicadores en hardware. Describir a*b y dejar que la herramienta los infiera suele ser mejor que construir el arreglo a mano, salvo que se necesite un ancho o un comportamiento no estándar.
DIVISIÓN
- Restauradora — se resta, y si el resultado es negativo se restaura sumando de vuelta.
- No restauradora — evita la restauración alternando sumas y restas según el signo. Más rápida.
- SRT — usa una tabla para obtener varios bits del cociente por iteración.
La división es cara en hardware y no tiene bloques dedicados en la mayoría de las FPGA. Cuando el divisor es constante, conviene sustituirla por una multiplicación por el recíproco y un desplazamiento.
AVISO
La sesión del 2 de noviembre es la Evaluación 3.
Nada anotado en esta sesión todavía.