6 / 24 · Concepto
Planifica los recursos compartidos con una FSM
Acumula cuatro valores con un sumador mientras defines las transiciones de estado y la captura.
Las lecciones se pueden leer gratis. Inscríbete para guardar el progreso.
El estado de control expresa una planificación de operaciones
Un recurso compartido exige planificar las operaciones a lo largo del tiempo. Considera la suma de x0 a x3 con un sumador y un acumulador de diez bits. Captura los cuatro operandos al aceptar una solicitud. Los cambios externos posteriores no deben alterar una solicitud pendiente. El controlador selecciona un operando, habilita la acumulación y decide cuándo pasa a ser válido el resultado.
Usa los estados IDLE, ADD0, ADD1, ADD2, ADD3 y DONE. El flanco de aceptación en IDLE captura las entradas y pone acc a cero. Los cuatro flancos siguientes suman un operando almacenado cada uno. Inmediatamente después del flanco ADD3, la suma final está almacenada y el estado pasa a DONE. DONE conserva el resultado hasta que el consumidor lo acepta. Esta versión sencilla vuelve a IDLE en ese flanco y no acepta simultáneamente una nueva solicitud.
| Flanco | Estado anterior | Acción | acc nuevo |
|---|---|---|---|
| 0 | IDLE | Capturar 3,5,7,9 y poner acc a cero | 0 |
| 1 | ADD0 | Sumar 3 | 3 |
| 2 | ADD1 | Sumar 5 | 8 |
| 3 | ADD2 | Sumar 7 | 15 |
| 4 | ADD3 | Sumar 9, entrar en DONE | 24 |
| 5 | DONE | El consumidor acepta el resultado | 24 |
Distingue entre estar disponible después del flanco 4 y transferirse en el flanco 5. Las detenciones del consumidor pueden prolongar DONE indefinidamente. Reutilizar recursos reduce el hardware aritmético, pero limita el rendimiento respecto a una estructura segmentada que acepta entradas en cada ciclo. Admitir la finalización simultánea y una nueva solicitud requiere una prioridad explícita entre la entrega del resultado anterior y la inicialización de la nueva solicitud.
- IDLE: Aceptar y capturar los cuatro valores
- ADD0..ADD3: Reutilizar un sumador en cuatro flancos
- DONE: Conservar el resultado hasta que se consuma
Deriva las señales de control del estado: habilitación del acumulador en los estados ADD, selección del operando correspondiente al estado y validez del resultado en DONE. Da valores predeterminados a las salidas combinacionales de control. Define la aceptación de modo que una solicitud activada continuamente no se repita por accidente. El reinicio vuelve a IDLE y descarta el trabajo pendiente. Una implementación basada en un contador puede reducir la codificación de estados, pero sigue necesitando la misma planificación flanco a flanco.
Inténtalo tú
¿Cuáles son los valores de acc después de ADD0 a ADD3 para cuatro entradas de 255? ¿Qué debe ocurrir cuando ready de salida vale cero en el flanco 5?
Leer la explicación
Los valores son 255, 510, 765 y 1020, y todos caben en diez bits. Con ready=0 no se produce ninguna entrega; conserva DONE, acc=1020 y valid=1.