Arquitectura VLIW y Algoritmo de Tomasulo: Optimizando el Rendimiento en Sistemas con Recursos Compartidos
Clasificado en Informática
Escrito el en español con un tamaño de 3,23 KB
Arquitectura VLIW (Very Long Instruction Word)
- Una alternativa a la arquitectura convencional es la arquitectura LIW (Long Instruction Word) o VLIW (Very Long Instruction Word).
- Las arquitecturas VLIW utilizan múltiples unidades funcionales independientes. En lugar de intentar emitir múltiples instrucciones independientes a las unidades, una VLIW empaqueta múltiples operaciones en una instrucción muy larga, de ahí su nombre.
- Una instrucción VLIW podría incluir dos operaciones enteras, dos operaciones en punto flotante, dos referencias a memoria y un salto. Una instrucción tendrá un conjunto de campos para cada unidad funcional, quizá de 16 a 24 bits por unidad, dando una longitud de instrucción entre 112 y 168 bits.
- Para mantener ocupadas las unidades funcionales, debe haber suficiente trabajo en una secuencia de código lineal para mantener planificadas las instrucciones. Esto se realiza desenrollando bucles y planificando código a través de bloques básicos, utilizando una técnica llamada planificación de trazas (trace scheduling).
- Además de eliminar saltos desenrollando bucles, la planificación de trazas proporciona un método para mover instrucciones a través de puntos de salto.
Algoritmo de Tomasulo
- Técnica de planificación dinámica de instrucciones con gestión distribuida. Inicialmente, en el IBM/360 (1967, Robert Tomasulo).
Riesgos de Datos y Control
Fue creado para evitar los riesgos de datos y de control. Al empezar a ejecutar instrucciones antes de terminar las anteriores, puede provocar que se necesite leer/escribir un registro antes de que este haya sido escrito/leído por la instrucción anterior/siguiente.
- RAW (Read After Write): una instrucción posterior trata de leer un operando antes de que lo escriba una anterior.
- WAR (Write After Read): una instrucción posterior trata de escribir su resultado antes de que lo haya leído una anterior.
- WAW (Write After Write): una escritura posterior se produce antes que otra escritura anterior en el mismo destino.
Características del Algoritmo de Tomasulo
- Este algoritmo se puede aplicar a otro tipo de sistemas donde hay ciertos recursos compartidos por diversos agentes, y se quieren gestionar los recursos de forma distribuida.
- Durante su ejecución provoca un reordenamiento dinámico en la ejecución (fase EX) de las instrucciones, aunque la emisión sigue siendo en el orden del código original.
- Permite la ejecución de instrucciones no dependientes de otras anteriores (aunque estas últimas estén bloqueadas esperando por algún operando fuente).
- Realiza un renombrado dinámico de registros para evitar riesgos por dependencias (WAR, WAW) entre instrucciones. Todos los registros de destino se renombran y el nuevo nombre que toman se llama etiqueta (tag).
- También tiene como objetivo conseguir el rendimiento óptimo de una instrucción por ciclo.
- No hay un módulo que centralice la supervisión.
- Técnica de renombrado de registros para solucionar los riesgos WAR y WAW.