Está en la página 1de 19

AT5118 Arquitectura e Ingeniera de Computadores I

Juan Antonio Maestro


Procesadores superescalares y VLIW
AT5118 Arquitectura e Ingeniera de Computadores I
Juan Antonio Maestro
Curso 2011-2012
AT5118 Arquitectura e Ingeniera de Computadores I
Juan Antonio Maestro
Se puede incrementar el ILP?
Hasta ahora, el CPI terico (ptimo) es 1.
Qu ocurre si se quiere incrementar el
ILP, y hacer CPI < 1?
Es preciso lanzar ms de una instruccin por ciclo
de reloj.
Esto genera tcnicas ms complejas para
resolucin de:
dependencias de datos (planificacin).
dependencias de control (especulacin).
AT5118 Arquitectura e Ingeniera de Computadores I
Juan Antonio Maestro
Alternativas para incrementar el ILP
Alternativas:
Superescalar:
Lanzamiento de 1- 8 instrucciones por ciclo.
Planificacin esttica (compilador).
Planificacin dinmica (procesador).
VLIW:
Lanzamiento de un nmero fijo de instrucciones por
ciclo.
Slo planificacin esttica (compilador).
AT5118 Arquitectura e Ingeniera de Computadores I
Juan Antonio Maestro
Superescalar (basado en el DLX)
Se pueden lanzar hasta dos instrucciones
por ciclo (CPI terico = 0.5):
1: Load, store, salto, operacin entera en ALU
2: Operacin en Punto Flotante.
AT5118 Arquitectura e Ingeniera de Computadores I
Juan Antonio Maestro
Superescalar (basado en el DLX)
Si la 1 instruccin es un Load de Punto Flotante, se
crea un riesgo que afecta a las 3 siguientes
instrucciones (el resultado no se puede utilizar por la
otra instruccin de ese ciclo ni por las dos del
siguiente).
Lo mismo ocurre con el riesgo de control si la 1
instruccin es un salto.
Implica traer y decodificar 64 bits por ciclo.
Se duplican recursos (puertos de memoria, de
registros, ).
Unidades Funcionales segmentadas o duplicadas.
AT5118 Arquitectura e Ingeniera de Computadores I
Juan Antonio Maestro
Superescalar simple: Ejemplo
Loop: LD F0,0(R1)
ADDD F4,F0,F2
SD 0(R1),F4
SUBI R1,R1,#8
BNEZ R1,Loop
Desenrollar 5 veces y planificar:
12 ciclos 2.4 ciclos por elemento
Planificacin no superescalar: 3.5 ciclos
por elemento
AT5118 Arquitectura e Ingeniera de Computadores I
Juan Antonio Maestro
Desventajas del Superescalar simple
Desventajas del modelo simplificado:
CPI = 0.5 slo alcanzable cuando el
50% son instrucciones en Punto
Flotante.
Planificacin esttica. No adaptable
a cambios en la ejecucin.
AT5118 Arquitectura e Ingeniera de Computadores I
Juan Antonio Maestro
Superescalar con planificacin dinmica
4 ciclos
por
iteracin
Extensin del algoritmo de Tomasulo.
Dos instrucciones por ciclo: Etapa de lanzamiento dividida en dos
subciclos, a fin de evitar riesgos de datos.
Estaciones de reserva separadas para Enteros y Punto Flotante.
AT5118 Arquitectura e Ingeniera de Computadores I
Juan Antonio Maestro
VLIW
Se lanza un conjunto de instrucciones
simultneamente (nmero fijo).
El compilador realiza una organizacin de
cdigo para evitar dependencias.
Las instrucciones tienen un ancho de bits
elevado.
El compilador planifica instrucciones
cruzando fronteras de salto (Trace Scheduling)
AT5118 Arquitectura e Ingeniera de Computadores I
Juan Antonio Maestro
VLIW: Ejemplo
7 iteraciones en 9 ciclos:
1.3 ciclos por iteracin
Ocupacin menor del 50%
AT5118 Arquitectura e Ingeniera de Computadores I
Juan Antonio Maestro
Incrementar el ILP mediante tcnicas software
Mecanismos software para incrementar
el paralelismo a nivel de instruccin:
Desenrollado de bucles. (Tema anterior)
Software pipelining.
Planificacin de trazas.
AT5118 Arquitectura e Ingeniera de Computadores I
Juan Antonio Maestro
Software pipelining
Reorganizacin de bucles: Cada instruccin
pertenece a una iteracin distinta, de tal
manera que no existan dependencias de
datos.
AT5118 Arquitectura e Ingeniera de Computadores I
Juan Antonio Maestro
Software pipelining
Es un desenrollado de bucles
simblico, con la ventaja de
que el cdigo es ms corto y
el rendimiento ms alto
AT5118 Arquitectura e Ingeniera de Computadores I
Juan Antonio Maestro
Planificacin de trazas
Mecanismo por el que se definen los bloques de cdigo
con mayor probabilidad de ejecucin a travs de saltos:
Seleccin de trazas: Se escogen los bloques lineales ms
probables.
Compactacin de trazas: Se optimiza el cdigo de esos
bloques.
Es preciso un mecanismo de anulacin, en el caso de que
la ejecucin no sea la prevista.
AT5118 Arquitectura e Ingeniera de Computadores I
Juan Antonio Maestro
Planificacin dinmica con especulacin
Lanzamiento de instrucciones ms all de saltos, antes
de que se sepa si el salto se va a tomar o no:
Especulacin.
Es preciso un mecanismo de anulacin de instrucciones
(si la prediccin de salto fue errnea) que deshaga las
operaciones realizadas.
Una instruccin deja de ser especulada cuando el salto
del que depende se resuelve (Commit).
Las instrucciones se ejecutan fuera de orden, pero se
resuelven en orden.
AT5118 Arquitectura e Ingeniera de Computadores I
Juan Antonio Maestro
Planificacin dinmica con especulacin
Las instrucciones no
resueltas se almacenan
en el Buffer de
reordenamiento.
Proporciona los
operandos hasta que
se ejecuta el commit
de la instruccin.
Reorder buffer
AT5118 Arquitectura e Ingeniera de Computadores I
Juan Antonio Maestro
Algoritmo de Tomasulo especulativo
Issue: Lanza la instruccin si hay una ER libre, y
queda alguna entrada en el Buffer de reordenamiento.
Enva los operandos a la ER si estn en los registros o
en el Buffer.
Ejecucin: Chequea los riesgos RAW.
Escritura de resultados: Cuando se genera el
resultado, mandarlo por el CDB al Buffer y a cada ER
que lo necesite.
Commit: Cuando el salto del que depende la
instruccin se resuelve, se elimina dicha instruccin del
Buffer de Reordenamiento.
AT5118 Arquitectura e Ingeniera de Computadores I
Juan Antonio Maestro
Ejemplo de planificacin dinmica y especulacin
Reservation stations
Reorder buffer
FP register status
LD F6,34(R2)
LD F2,45(R3)
MULTD F0,F2,F4
SUBD F8,F6,F2
DIVD F10,F0,F6
ADDD F6,F8,F2
AT5118 Arquitectura e Ingeniera de Computadores I
Juan Antonio Maestro
Ejemplo de planificacin dinmica y especulacin
Reservation stations
Reorder buffer
FP register status
Loop: LD F0,0(R1)
MULTD F4,F0,F2
SD 0(R1),F4
SUBI R1,R1,#8
BNEZ R1,Loop
Especuladas

También podría gustarte