Descargar

Planificación dinámica de instrucciones (página 2)

Enviado por Pablo Turmero


Partes: 1, 2
edu.red DLX CON TOMASULO: EJEMPLO 11 Instr. status Clock (Gp:) Reg (Gp:) …. (Gp:) r0 (Gp:) r1 (Gp:) r3 (Gp:) r2 (Gp:) rm (Gp:) Register Result status (Gp:) …. (Gp:) f0 (Gp:) f2 (Gp:) f6 (Gp:) f4 (Gp:) fn (Gp:) f8 (Gp:) f10

(Gp:) Busy (Gp:) Op (Gp:) Uf Entera Rs1 (Gp:) Vj (Gp:) Vk (Gp:) Qj (Gp:) Qk (Gp:) Uf FP Add Rs1 (Gp:) Uf FP Div Rs1 (Gp:) Uf FP Mult Rs1 (Gp:) Functional Unit status (Gp:) Uf Entera Rs2 (Gp:) Uf FP Add Rs2 (Gp:) Uf FP Mult Rs2 (Gp:) Uf FP Div Rs2

edu.red EJEMPLO ? CRONOGRAMA (CICLO 14) 12

edu.red TOMASULO VS. SCOREBOARD (IBM 360/91 V. CDC 6600) 13

edu.red TOMASULO: INCONVENIENTES Complejidad Retardos de 360/91, MIPS 10000, Alpha 21264, IBM PPC 620. Muchas cargas de registros asociativos por ciclo. Prestaciones limitadas por el Common Data Bus. Cada CDB debe ir a múltiples unidades funcionales. Alta capacitancia, alta densidad de cableado. El número de unidades funcionales que pueden ser completados en un ciclo está limitado a una. Múltiples CDBs => más lógica en UF para los stores asociativos. Interrupciones no-precisas. 14

edu.red EL ALGORITMO DE TOMASULO OFRECE DOS GRANDES VENTAJAS (1) La lógica de detección de riesgos está distribuida Estaciones de reserva distribuidas y bus común de datos (CDB) Si múltiples instrucciones esperan por un único resultado, y cada instrucción tiene otro operando, entonces las instrucciones pueden ser activadas simultáneamente emitiendo este resultado por el bus común de datos Si se usase un banco de registros centralizado, las unidades tendrían que leer los resultados del banco de registros cuando los buses estuviesen disponibles (2) La eliminación de las detenciones por riesgos WAW y WAR Renombrado de registros en las estaciones de reserva Almacenar operandos en las estaciones de reserva tan pronto como están disponibles. 15

edu.red TOMASULO: Estaciones de reserva: renombrado en un conjunto mayor de registros + buffers de operandos fuente. Previene que los registros sean cuellos de botella. Evita los riesgos WAR, WAW del Scoreboard. Permite desenrollado de bucles en in HW. No está limitado a bloques básicos (secuencia de código sin saltos)(unidades enteras se adelantan, más allá de los branches). Ayuda en las “cache misses” también . Últimas contribuciones. Planificación dinámica. Renombrado de registros. Desambiguación Load/store. 360/91 descendientes: Pentium II; PowerPC 604; MIPS R10000; HP-PA 8000; Alpha 21264. 16

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente