Las limitaciones del procesador Superscalar son prominentes ya que la dificultad de programar la instrucción se vuelve compleja. El paralelismo intrínseco en el flujo de instrucciones, la complejidad, el costo y el problema de las instrucciones de bifurcación se resuelven mediante una arquitectura de conjunto de instrucciones superior denominada palabra de instrucción muy larga (VLIW) o máquinas VLIW .
VLIW utiliza el Paralelismo a Nivel de Instrucción , es decir, tiene programas para controlar la ejecución paralela de las instrucciones. En otras arquitecturas, el rendimiento del procesador se mejora mediante el uso de cualquiera de los siguientes métodos: canalización (dividir la instrucción en subpartes), procesador superescalar (ejecutar las instrucciones de forma independiente en diferentes partes del procesador), ejecución fuera de orden (ejecutar órdenes de manera diferente al programa) pero cada uno de estos métodos aumenta mucho la complejidad del hardware. VLIW Architecture se ocupa de ello dependiendo del compilador. Los programas deciden el flujo paralelo de las instrucciones y la resolución de conflictos. Esto aumenta la complejidad del compilador pero disminuye mucho la complejidad del hardware.
Características :
- Los procesadores en esta arquitectura tienen múltiples unidades funcionales, extraídas de la memoria caché de instrucciones que tienen la palabra de instrucción muy larga.
- Varias operaciones independientes se agrupan en una sola instrucción VLIW. Se inicializan en el mismo ciclo de reloj.
- A cada operación se le asigna una unidad funcional independiente.
- Todas las unidades funcionales comparten un archivo de registro común.
- Las palabras de instrucción suelen tener una longitud de 64 a 1024 bits, según el número de unidades de ejecución y la longitud del código necesario para controlar cada unidad.
- El compilador realiza estáticamente la programación de instrucciones y el envío paralelo de la palabra.
- El compilador verifica las dependencias antes de programar la ejecución paralela de las instrucciones.
ventajas :
- Reduce la complejidad del hardware.
- Reduce el consumo de energía debido a la reducción de la complejidad del hardware.
- Dado que el compilador se encarga de la verificación de la dependencia de datos, la decodificación y los problemas de instrucción, se vuelve mucho más simple.
- Aumenta la frecuencia de reloj potencial.
- Las unidades funcionales se colocan en correspondencia con el bolsillo de instrucciones por compilador.
Desventajas:
- Se requieren compiladores complejos que son difíciles de diseñar.
- Aumento del tamaño del código del programa.
- Mayor ancho de banda de memoria y ancho de banda de registro de archivos.
- Los eventos no programados, por ejemplo, una falta de memoria caché, podrían provocar una parada que detendría todo el procesador.
- En el caso de códigos de operación sin completar en un VLIW, se desperdicia espacio de memoria y ancho de banda de instrucciones.
Publicación traducida automáticamente
Artículo escrito por srishtiganguly1999 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA