Unidades 4 y 5 · Microprogramación y diseño con dispositivos reconfigurables
lunes 9 de noviembre · 18:00–19:40 · en 79 días
GUÍA 09-11-26 Sistemas Embebidos
LA207 · lunes 09/11/2026 · 18:00-19:40 · Sesión 14
Unidades 4 y 5 · Microprogramación y diseño con dispositivos reconfigurables
MICROPROGRAMACIÓN
En lugar de describir la unidad de control con lógica cableada, se guarda la secuencia de señales de control en una memoria. Cada palabra de esa memoria es una microinstrucción que fija el valor de todas las señales para un ciclo.
- Ventaja: modificar el comportamiento es reescribir la memoria, no rediseñar la lógica.
- Desventaja: más lento, porque cada paso requiere un acceso a memoria.
Es la razón histórica de que las máquinas CISC sean microprogramadas y las RISC cableadas, tema que se cruza directamente con Arquitecturas Computacionales.
FORMATO DE MICROINSTRUCCIÓN
- Horizontal — un bit por señal de control. Palabras anchas, máximo paralelismo, sin decodificación.
- Vertical — campos codificados que se decodifican. Palabras estrechas, menos paralelismo, un nivel más de retardo.
MÁQUINAS DE ESTADO ENLAZADAS
Un controlador complejo se descompone en varias máquinas que se comunican: una principal que secuencia las etapas y varias subordinadas que ejecutan cada etapa y avisan al terminar con una señal de hecho.
Es el equivalente en hardware de descomponer un programa en funciones. Una sola máquina con cuarenta estados es imposible de depurar; cuatro de diez estados no lo son.
DESCOMPOSICIÓN DE SHANNON
f(x₁,…,xₙ) = x₁·f(1,x₂,…) + x₁'·f(0,x₂,…). Cualquier función se parte en dos funciones de una variable menos, seleccionadas por un multiplexor.
Es exactamente lo que hace una FPGA: si una función excede las entradas de una LUT, se descompone recursivamente y se implementa con varias LUT y multiplexores. Entender Shannon es entender cómo la herramienta mapea la lógica.
MEMORIA EN SISTEMAS RECONFIGURABLES
- Memoria distribuida — las LUT usadas como pequeñas RAM. Poca capacidad, muy flexible.
- Bloques de RAM dedicados — kilobits por bloque, con puertos configurables.
- RAM de doble puerto — permite cruzar dominios de reloj y construir FIFOs.
MAPEO Y RUTEO
El mapeo agrupa la lógica en LUT y registros; el emplazamiento decide en qué bloque físico va cada uno; el ruteo conecta. En FPGA el retardo de ruteo suele dominar sobre el de la lógica, y por eso dos síntesis del mismo código pueden dar frecuencias distintas.
TAREA
Avanzar el proyecto final. Se entrega a partir del 23 de noviembre en el horario y aula de la clase.
Nada anotado en esta sesión todavía.