VLIW

Del inglés Very Long Instruction Word. Esta arquitectura de CPU implementa una forma de paralelismo a nivel de instrucción. Es similar a las arquitecturas superescalares, 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 a 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 oposición a un procesador superescalar, en el que es el hardware en tiempo de ejecución el que planifica las instrucciones.

Un microprocesador típico VLIW es el IA-64.

Planificación

Por ejemplo, supongamos el siguiente programa para una máquina superescalar "normal":

1 Multiplicar R1 por R2 y guardarlo en R3
2 Sumar R3 con R4 y guardarlo en R5
3 Restar R1 de R4 y guardarlo en R6

En este programa, el planificador de código vería que la segunda instrucción depende de la primera (hasta que no esté calculado R3 no se puede ejecutar la suma), y que en cambio la tercera instrucción es independiente de las otras dos. Por tanto, probablemente iniciaría simultáneamente la multiplicación y la resta en unidades diferentes y, una vez acabada la multiplicación, ejecutaría la suma. Todo este trabajo de planificación lo llevaría a cabo la circuitería interna del microprocesador.

En una máquina VLIW, toda la planificación anterior la haría el compilador (o el propio programador si programa en ensamblador), y el código resultante sería algo así:

1 MULT(R1,R2,R3)        -       REST(R1,R4,R6)
2       -        SUM(R3,R4,R5)        -

Se puede ver como en cada instrucción se especifica el estado de cada unidad funcional, de modo que en la primera instrucción se activan el multiplicador y el restador, dejando el sumador ocioso al no poder calcular aún la suma, y en la siguiente instrucción se hace la suma que faltaba.

Other Languages
čeština: VLIW
Esperanto: VLIW
suomi: VLIW
magyar: VLIW
日本語: VLIW
한국어: VLIW
polski: VLIW
português: VLIW
русский: VLIW
svenska: VLIW
українська: VLIW