Você está na página 1de 16

Planificacin de cdigo

Contar con un set de instrucciones simples permite implementarlas en un pipe. Permite ordenar cdigo con mayor eficiencia. Ejemplo: sumar dos palabras y almacenar el resultado.
En un set complejo requiere 1 instruccin. Con un RISC, 4 instrucc. (2 loads, 1 suma, 1 store)

01/10/2010

U.N. San Luis - Guillermo Aguirre

Planificacin dinmica
Hasta ahora si forwarding no alcanzaba, haba que detener el fetch y la decodificacin de nuevas operaciones. Una alternativa es organizar las instrucciones para reducir los stalls. Esttica vs dinmica. Ventajas:
Resuelve referencias a una celda. El cdigo corre bien en distintos pipes.
01/10/2010 U.N. San Luis y Tomasulo, IBM 360/91 Scoreboard, CDC 6600- Guillermo Aguirre

Planificacin dinmica - Concepto


Despacho y ejecucin en orden: una limitacin.
Stall detiene tambin a operaciones independientes. div.d f0, f2, f4 add.d f10, f0, f8 sub.d f8, f8, f14

No siempre ejecutar en el orden del programa. Dividir la etapa ID en dos:


Issue: decodificacin y hazards estructurales. Leer operandos: si no hay hazard, lee los operandos.
01/10/2010 U.N. San Luis - Guillermo Aguirre

Planificacin dinmica - Riesgos WAR y WAW


div.d add.d sub.d mul.d f0, f2, f4 f6, f0, f8 f8, f10, f14 f6, f10, f8

Antidependencia entre add y sub. Si hace sub antes de add hay riesgo WAW, entre add y mul.

01/10/2010

U.N. San Luis - Guillermo Aguirre

MIPS usando Scoreboard

01/10/2010

U.N. San Luis - Guillermo Aguirre

Etapas en Scoreboarding (1)


Etapa de issue: controla que la unidad funcional est disponible y que no haya otra instruccin que tenga el mismo destino. Con esto se evitan hazards estructurales y hazard WAW. Se despacha la instruccin y se actualizan las estructuras de datos. Si hay WAW o hazard estructural se genera un stall.
01/10/2010 U.N. San Luis - Guillermo Aguirre

Etapas en Scoreboarding (2)


Etapa de lectura de operandos : Controla si los operandos estn disponibles. Resuelve RAW dinmicamente. Si es posible se leen los operandos desde los registros para comenzar la ejecucin.

01/10/2010

U.N. San Luis - Guillermo Aguirre

Etapas en Scoreboarding (3)


Etapa de ejecucin : Hace la ejecucin y notifica al scoreboard que se ha completado la ejecucin. Reemplaza la etapa de EX en el pipeline clsico.

01/10/2010

U.N. San Luis - Guillermo Aguirre

Etapas en Scoreboarding (4)


Etapa de escritura: Se chequea por hazards WAR y se hace un stall de la instruccin a punto de finalizar, si es necesario. Si el resultado se escribe en un operando fuente de alguna instruccin activa anterior, la instruccin no puede finalizar y debe esperar que la otra lea el operando.
01/10/2010 U.N. San Luis - Guillermo Aguirre

Scoreboard
DIV.D ADD.D SUB.D F0,F2,F4 F10,F0,F8 F8,F8,F14

01/10/2010

U.N. San Luis - Guillermo Aguirre

Ejemplo ScoreBoard - Ciclo 3

01/10/2010

U.N. San Luis - Guillermo Aguirre

Ejemplo ScoreBoard - Ciclo 9

01/10/2010

U.N. San Luis - Guillermo Aguirre

Ejemplo ScoreBoard - Ciclo 17

01/10/2010

U.N. San Luis - Guillermo Aguirre

Ejemplo ScoreBoard - Ciclo 62

01/10/2010

U.N. San Luis - Guillermo Aguirre

Factores limitantes
Cantidad de paralelismo disponible entre las instrucciones. Nmero de entradas en el ScoreBoard. Nmero y tipo de unidades funcionales. Presencia de antidependencias y dependencias de salida
01/10/2010 U.N. San Luis - Guillermo Aguirre

Algoritmo de Scoreboard (1) Issue


Esperar que Unidad Funcional[FU] no est ocupada y Result[D] est en blanco Tareas Busy[FU]yes;Op[FU]op; Fi[FU]D Fj[FU]S1; Fk[FU]S2; QjResult[S1]; QkResult[S2]; Rjnot Qj; Rknot Qk; result[D]FU
01/10/2010 U.N. San Luis - Guillermo Aguirre

Algoritmo de Scoreboard (2) Lectura de registros y ejecucin


Esperar que Rj y Rk sean verdaderos La FU finalice Tareas Rjno; Rkno; Qj0; Qk0

01/10/2010

U.N. San Luis - Guillermo Aguirre

Algoritmo de Scoreboard (3) Escritura de resultados


Esperar que Tareas

f(( f( Si Qj[f]=FU then Rj[f]yes); Fj[f]Fi[FU]Rj[f]=no f( Si Qk[f]=FU then Rk[f]yes); )( Fk[f]Fi[FU]Rk[f]=no Result[Fi[FU]]0; Busy[FU]No ))

01/10/2010

U.N. San Luis - Guillermo Aguirre

MIPS usando Tomasulo

01/10/2010

U.N. San Luis - Guillermo Aguirre

Renombramiento de registros
Ejemplo de potenciales WAR y WAW.
Original DIV.D F0,F2,F4 WAR WAW ADD.D F6,F0,F8 S.D F6, 0(R1) SUB.D F8,F10,F14 MUL.D F6,F10,F8
01/10/2010

Renombramiento DIV.D F0,F2,F4 ADD.D S,F0,F8 S.D S, 0(R1) SUB.D T,F10,F14 MUL.D F6,F10,T

U.N. San Luis - Guillermo Aguirre

10

Etapas en Tomasulo (1)


Etapa de issue: Obtiene la instruccin. Si hay ER despacha la instruccin. Los oprandos son: el valor del registro o bien el tag de la ER que lo produce. As, se renombran registros, evitando WAR Y WAW. Si no hay ER se produce stall

01/10/2010

U.N. San Luis - Guillermo Aguirre

Etapas en Tomasulo (2)


Etapa de ejecucin: Se observa el CDB esperando los operandos. Cuando se cargan los valores de los operandos, la unidad ejecuta. Esta demora evita RAW.

01/10/2010

U.N. San Luis - Guillermo Aguirre

11

Etapas en Tomasulo (3)


Etapa de escritura de resultados : Cuando el resultado est disponible se copia en el CDB. Los buffers de salida aqu tambin escriben hacia la memoria.

01/10/2010

U.N. San Luis - Guillermo Aguirre

Caractersticas del esquema de Tomasulo


Las estaciones de reservacin. Deteccin de riesgos y control de ejecucin distribuidos. Los resultados son pasados directamente a las unidades que los usan. Bus comn de resultado. CDB en 360/91

01/10/2010

U.N. San Luis - Guillermo Aguirre

12

Ejemplo de Tomasulo - Ciclo 3

Rpido despacho

Renombramiento

Load 1 ha finalizado. Alguien espera ese valor?


01/10/2010 U.N. San Luis - Guillermo Aguirre

Ejemplo de Tomasulo - Ciclo 9

01/10/2010

U.N. San Luis - Guillermo Aguirre

13

Ejemplo de Tomasulo - Ciclo 12

Todas las instrucciones cortas ya han terminado


01/10/2010 U.N. San Luis - Guillermo Aguirre

Ejemplo de Tomasulo - Ciclo 16

01/10/2010

U.N. San Luis - Guillermo Aguirre

14

Ejemplo de Tomasulo - Ciclo 55

01/10/2010

U.N. San Luis - Guillermo Aguirre

Ejemplo de Tomasulo - Ciclo 56

01/10/2010

U.N. San Luis - Guillermo Aguirre

15

Ejemplo de Tomasulo - Ciclo 57

01/10/2010

U.N. San Luis - Guillermo Aguirre

Tomasulo Vs ScoreBoard
Ventana Hazard Estructural WAR WAW Resultados Control
01/10/2010

14 Stall Evita renombrando Evita renombrando Difunde Distribuido


U.N. San Luis - Guillermo Aguirre

5 stall Stall Stall En registros Score

16

Você também pode gostar