Arquitectura VLIW y Superescalar: Diferencias, Ventajas y Desventajas
Clasificado en Informática
Escrito el en español con un tamaño de 2,87 KB
Arquitectura VLIW (Very Long Instruction Word)
La arquitectura VLIW (Very Long Instruction Word) de CPU implementa una forma de paralelismo a nivel de instrucción. Es similar a las arquitecturas superescalares, ya que ambas usan varias unidades funcionales (por ejemplo, varias ALUs, varios multiplicadores, etc.) para lograr ese paralelismo. Los procesadores con arquitecturas VLIW se caracterizan, como su nombre indica, por tener juegos de instrucciones muy simples en cuanto al número de instrucciones diferentes, pero muy grandes en cuanto al tamaño de cada instrucción. Esto es así porque en cada instrucción se especifica el estado de todas y cada una de las unidades funcionales del sistema, con el objetivo de simplificar el diseño del hardware al dejar todo el trabajo de planificar el código en manos del programador/compilador. En cambio, en un procesador superescalar, es el hardware en tiempo de ejecución el que planifica las instrucciones.
Ventajas de VLIW
- Permite un mayor número de unidades de ejecución.
- Tiene una frecuencia de reloj mayor.
Inconvenientes de VLIW
- No tiene compatibilidad con procesadores secuenciales.
- No permite programar en ensamblador.
Arquitectura Superescalar
Las arquitecturas superescalares son un tipo de microarquitectura de procesador capaz de ejecutar más de una instrucción por ciclo de reloj. El término "superescalar" se emplea por oposición a la microarquitectura escalar, que sólo es capaz de ejecutar una instrucción por ciclo de reloj. Un procesador superescalar es un procesador de tipo MIMD (Multiple Instruction Multiple Data). Una arquitectura superescalar tiene las prestaciones de la segmentación, permitiendo además la existencia simultánea de varias instrucciones en la misma etapa. Para ello es necesaria la duplicación de recursos y la utilización de diversas técnicas que permitan optimizar su utilización. Como puede iniciarse la ejecución de varias instrucciones en el mismo ciclo, puede alcanzarse una productividad mayor que una instrucción por ciclo de reloj. En la práctica se consiguen aceleraciones cercanas a dos. La microarquitectura superescalar utiliza el paralelismo de instrucciones además del paralelismo de flujo, este último gracias a la estructura en pipeline.
Ventajas de la Arquitectura Superescalar
- El hardware resuelve todo: detecta el paralelismo, emite, renombra registros, etc.
- Compatibilidad binaria: se pueden agregar unidades funcionales.
Inconvenientes de la Arquitectura Superescalar
- Hardware muy complejo, se llega rápidamente a un límite.
- Ventana de ejecución limitada por el hardware, lo cual limita la capacidad de detección de instrucciones paralelas.