tema 3 (segunda parte) paralelismo a nivel de ... · sólo especula con instr cuyos efectos sean...

26
TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 1 TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE INSTRUCCIONES (ILP) BASADO EN TÉCNICAS DINÁMICAS ÍNDICE 3.1. Técnicas de Planificación dinámica: Algoritmo del marcador, Implementación del Algoritmo de Tomasulo, Renombrado dinámico de registros. 3.2. Enfoques del paralelismo: procesadores superescalares y supersegmentados (superpipeline). 3.3. El problema de las excepciones: interrupciones precisas. 3.4. Especulación hardware: buffer de reordenación. 3.5. Paralelismo de instrucciones disponible: en las aplicaciones: programas enteros, científicos y multimedia. 3.6. Procesadores reales encadenados y superescalares. 3.7. Organización y gestión de la memoria en procesadores avanzados.

Upload: others

Post on 01-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 1

TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE INSTRUCCIONES (ILP)

BASADO EN TÉCNICAS DINÁMICAS

ÍNDICE 3.1. Técnicas de Planificación dinámica: Algoritmo del marcador, Implementación del Algoritmo de Tomasulo, Renombrado dinámico de registros.

3.2. Enfoques del paralelismo: procesadores superescalares y supersegmentados (superpipeline).

3.3. El problema de las excepciones: interrupciones precisas. 3.4. Especulación hardware: buffer de reordenación. 3.5. Paralelismo de instrucciones disponible: en las aplicaciones: programas enteros, científicos y multimedia.

3.6. Procesadores reales encadenados y superescalares. 3.7. Organización y gestión de la memoria en procesadores avanzados.

Page 2: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 2

Esquema simplificado: Pentium 4 Netburst (CISC) (NOTA: esto debería ir tras la página 23 de la parte 1 de este tema)

> Similar a actuales Core i5 i7 > No se muestran todas las fases ni el superencad. > Búferes, colas o listas intermedias entre cada una de las fases (no se muestran todas las fases ni el superencad.)

IF 20ytes por ciclo

20bytes DEC 4 instr. por ciclo

7 µops IS

4 µops por ciclo

32 E.E. WB

4 resultados por ciclo

Alinea-miento

Cuello de Botella: m = 4 µops/ciclo

E.E. Estaciones de Ejecución (Intel las llama RS). Las ROB hacen el

papel de RS de Tomasulo

EX 11 U.F. FP+INT+ SSE+ MEM

96 ROB

ROB: ver especulación dinámica (más adelante)

EX 11 U.F. FP+INT+ SSE+ MEM

WB 4

resultados por ciclo

96 ROB

EJERC: num máximo de instr. en vuelo ?

Page 3: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 3

Esquema real: Intel Core i7 (CISC)

Más de 210 instr en vuelo: o 16 byte predecode o 18 IFU o 28 microop. o 128 ROB (RS) o 36 entradas EX

EJERC: ¿donde se ve que m=4?

Page 4: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 4

3.3, 3.4. Especulación y el problema de las Interrupciones Para aumentar el rendimiento es necesario emitir instrucciones más allá de los límites impuestos por los bloques básicos (saltos).

� BTB predice pero instrucciones predichas podrían no ser correctas (si falla predicción) ⇒ “deshacer” lo ejecutado por ellas ⇒ “Especulación”

Existe especulación basada: 1. Solo en SW. Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas)

2. Mixta. Cierto soporte hardware pero requiere SW para deshacer los efectos de las instrucciones. Poco usado. Ver Henn-Patt.

3. Sólo en HW. Hardware se encarga totalmente de gestionar la especulación. Es la más usada actualmente.

Page 5: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 5

Necesidad de la Especulación HW (I): Predicción BTB • La predicción es vital para el ILP:

o introducir hardware especial para “deshacer” o, o para que lo hecho por las instrucciones no sea definitivo hasta que el salto no se haya resuelto completamente (en EX).

o Peligro: Instr. que escriben: Con Reg. destino (en WB), Store (en MEM)

Instr anterior

Salto (mal predicho)

Instr predicha 1 Instr predicha 2

Store: Instr predicha 3 Store: Instr predicha 4

Instr predicha 5 Instr predicha 6

...

IF IS EX

IF IS

IF IS

IF IS EX

IF IS EX

ABORTAR: ¡Pero los WB y MEM ya

han escrito!

ABORTAR: Sin peligro (no han escrito en Reg

ni en Mem) IF IS

IF IS

IF IS EX WB

IF IS EX WB o o o

IF IS E1 E2

WB

EX+ME

EX+ME

WB

• Son instrucciones especulativas, se está especulando con su ejecución.

WB

Page 6: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 6

Necesidad de la Especulación HW (II): Interrupciones � Excepción, Interrupción, Trap: conceptos similares (no unívocos). � Estado preciso de CPU ⇒ como en procesador secuencial: cuando hay interrupción

o todas las instr. anteriores a la que la genera, han finalizado completamente o todas las posteriores no han empezado (o al menos no han escrito)

Llega interrupción externa

Procesador con ILP

Procesador secuencial

Fácil “cortar” aquí: estado preciso

ya han escrito! IF IS E1 E2 WB o o o

IF IS E1 E2 WB

IF IS EX ME WB

IF IS E1 E2 WB

F1 F2 F3 F4 F1 F2 F3 F4 F1 F2 F3 F4

Difícil “cortar” aquí

Tiempo (ciclos)

� Similar si una instrucción larga genera una interrupción casi al final de su EX (ej: DIVF F1, F2, F3 con F2/F3 > 10+39)

� CONCLUSIÓN: interesa que, toda instrucción termine o complete en orden.

Page 7: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 7

Implementación de la Especulación HW • Hardware de especulación para todas las instrucciones: o Todas las escrituras de MEM o WB no se hacen en el fichero de registros o en caché de datos, sino que se “guardan” en :

o “búfer de reordenación” (ROB, ReOrder Buffer) � Dispone de una entrada por cada instrucción emitida (como una R.S. especial sólo para el control de la especulación)

• En caso de acierto en la especulación se confirma, finaliza, retira o completa la instrucción (fase “commit”, “completion” CM o “retired instruction” RET). Es decir, se vuelca el contenido provisional de tales entradas del ROB sobre el fichero de registros o caché de datos (y se libera la entrada del ROB).

• Pero en caso de un error en la especulación se vacía o anula las instrucciones especulativas del ROB.

• ROB con número de entradas limitado (capacidad de instrucciones especulativas). o Agotamiento de entradas � bloqueo total

• Ejemplos procesadores reales: Nº entradas ROB o Pentium 4 , Core i7: 128 entradas (� muchas instr. en vuelo) o IBM Power 7: GCT de 120 entradas (20 entradas de 6 instr.).

Page 8: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 8

Funcionamiento de la Especulación HW • Es decir, el algoritmo de planif. dinámica

� permite ejecución fuera de orden (“out-of-order-execution”), • Y el ROB restablece tal orden:

� finalización en orden (“in-order-completion”). De ahí el nombre de Búfer de Reordenación.

• Implementación del ROB: cola circular Entrada Instr. Fase por donde va Estado

1 instr 5 EX ejecutando 2 entr. libre 3 instr 1 CM entr. libre 4 instr 2 CM entr. libre 5 instr 3 IS espera dato 6 instr 4 WB ya escribió

• Desde el punto de vista del cronograma sólo hay que añadir una fase final CM (o RET) que reordena las instr para que se “confirmen” en orden:

IF IS EX WB CM

• Típicamente un superescalar de grado m es capaz de completar o finalizar al menos m instr por ciclo.

¿Puede una instr estar en WB entre

2 CM?

Dibujar el cronograma de

esta tabla

Puntero para nueva instr.

Page 9: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 9

Ejemplo Cronograma Especulación ROB Caso: interrupción (excepción aritmética) en instrucción larga Hay que invalidar todas las instr. posteriores a la larga, antes de atender a la rutina de interrupción.

Anular las RS

Aquí se detecta la excepción

Nunca harán CM.

WB y MEM han escrito en ROB y se invalidan

Instr anterior 1Instr anterior 2

Instr larga, con excepción

Instr sig. 1Instr sig. 2Instr sig. 3

Store: Instr sig. 4Store: Instr sig. 5

Instr sig. 6Instr sig. 7

...

IF IS D4 ME WB D1 D2 D3

IF IS E1 E2 WB

IF IS E1 E2 WB

IF IS E1 E2 WB

IF IS EX ME

IF IS EX ME

IF IS EX

IF IS EX

IF IS E1 E2 WB

IF IS E1 E2 WB

CM

CM

IF IS EX WB CM

IF IS EX WB CM

Bibliografía: Henn&Patt 5ª edición (inglés): 3.6 (pag 183-).

Page 10: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 10

3.2. Resumen: Tipos de procesadores con ILP según la Arquitectura

“ESPECTRO” de máquinas con ILP (H&P)

TÉCNICAS ESTÁTICAS

TÉCNICAS DINÁMICAS

Superescalar con planificación dinámica, sin

reglas de emisión

Superescalar con planificación

dinámica, pero con reglas de emisión

Superescalar sin planificación dinámica, emisión dinámica (pero

reglas de emisión)

Superescalar sin planificación dinámica y

emisión estática

VLIW puro

• Más complejidad • Más consumo • Más compatibilidad • Menos dependencia del compilador

���� GPP

• Menos complejidad • Menos consumo • Menos compatibilidad • Más dependencia del compilador

���� Sist. empotrados

Diferencia entre estos 2

Page 11: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 11

Procesadores reales con ILP según la Arquitectura

Figura Hennessy Patterson Cap. 3

Ponerle nombre a cada fila

Page 12: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 12

3.2 Enfoques del paralelismo Proc. Súperencadenado, Superpipeline o súpersegmentado

• Reducir ττττ (periodo de reloj): � Más etapas (fases) � Sólo emite una instrucción por ciclo de reloj.

• Avance tecnológico pero no arquitectónico.

tetapa

Tiempo

Instrucciones

IF ID EX ME WB

IF ID EX ME WB

IF ID EX ME WB

IF2 EX1 IF1 ID2 ID1 EX2 M2 M1 WB2 WB1

IF2 EX1 IF1 ID2 ID1 EX2 M2 M1 WB2 WB1

IF2 EX1 IF1 ID2 ID1 EX2 M2 M1 WB2 WB1

IF2 EX1 IF1 ID2 ID1 EX2 M2 M1 WB2 WB1

IF ID EX ME WB

τreloj

CPIideal = 1 CPI >= 1 IPCideal = 1 IPC <= 1

• Realmente existen IF1, IF2, ID1, ID2, .... • El fabricante hablará de 10 fases y periodo τreloj (ν=1/τreloj).

Esquema comparativo con RISC de 5 etapas

desfasadas

Page 13: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 13

Ejemplos de Superencadenados • Ej: Pentium P6 (Pentium Pro, PII y similar al PIII y Core i gama baja): IFU1 IFU2 IFU3 DEC1 DEC2 RAT ROB DIS EX RET1 RET2 IF1 IF2 IF3 IS1 IS2 IS3 IS4 IS5 EX1 WB1 WB2

• Ej P4 mínimo 20 etapas (los hubo de 31 etapas : Prescott )

Algunas etapas “Drive” no hacen nada útil (solo trasportan la señal)

• Hallar la A entre RISC y la versión RISC3 (superencad. 15 etapas)

Datos: frec. RISC3=2.7 frec. RISC CPIRISC3= 1.35CPIRISC

• Hallar tb. Rend/Potencia entre RISC y RISC3, suponiendo Potencia proporcional a frec NOTA: Se suele usar la medida rendimiento MIPS/mW en empotrados.

EJEMPLO:

Page 14: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 14

Evolución y saturación de la frecuencia CPU

• Intel 80386 20MHz consumía ~ 2 W

• Intel Core i7 (3.3GHz) consume 130 W

• Problema: disipar calor de un chip de 1.5 x 1.5 cm2

Page 15: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 15

Comparación: Rendimiento y potencia (consumo) Intel Core i7 (superescalar dinámico) con Intel Atom230 (superescalar estático)

Rendimiento: barras � Core i7 entre 4 a 10 veces más rápido Rend/consumo: líneas � Atom230 aprox. 2 veces más eficiente

Page 16: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 16

Desventajas Proc. Superpipeline (I) En principio Superencadenado de 10 etapas es similar a superescalar de 5 etapas. Pero • El tiempo para concluir n etapas es superior al de 1 etapa original por los latches (registros temporales)

• CPIbloqueo, Pfallo_cache, Pfallo_BTB,… crecen Ejemplo :

τetapa IF ID EX ME WB

IF2 EX1 IF1 ID2 ID1 EX2 M2 M1 WB2 WB1

τreloj

IF2 EX1 IF1 ID2 ID1 EX2 M2 M1 WB2 WB1 - - -

SuperescalarOtraLoadALU

OtraOtr

IF ID EX ME WB -

Superencaden.OtraLoad

ALU

OtraOtr

Bloqueo (Latencia de acceso a memoria) por dependencia RAW

IF ID EX ME WB

IF ID EX ME WB -

IF2 EX1 IF1 ID2 ID1 EX2 M2 M1 WB2 WB1 - - -

IF2 EX1 IF1 ID2 ID1 EX2 M2 M1 WB2 WB1

Hallar A si se

repiten estas 4

Page 17: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 17

Superescalares y Superpipeline • Uniendo ambos conceptos (procesadores reales): > emitir m instrucciones por ciclo de reloj > Además etapas supersegmentadas : IF1 IF2 ID1 ID2,….

IF2 EX1 IF1 ID2 ID1 EX2 M2 M1 WB2 WB1

IF2 EX1 IF1 ID2 ID1 EX2 M2 M1 WB2 WB1

IF2 EX1 IF1 ID2 ID1 EX2 M 2 M1 WB2 WB1

IF2 EX1 IF1 ID2 ID1 EX2 M 2 M1 WB2 WB1

IF2 EX1 IF1 ID2 ID1 EX2 M2 M 1 WB2 WB1

IF2 EX1 IF1 ID2 ID1 EX2 M2 M 1 WB2 WB1

IF2 EX1 IF1 ID2 ID1 EX2 M2 M1 W B2 WB1

IF2 EX1 IF1 ID2 ID1 EX2 M2 M1 W B2 WB1

Instruccio nes

Tiempo

τ relo j

• Nº instr. “en vuelo”: Nºfases×m . • Ej. Pentium4: 20×3=60 (en realidad tiene más en colas intermedias).

¿Ninstr. en vuelo?

Page 18: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 18

3.5 Límites del ILP (Superescalares) > Se han acercado al Data Flow Limit, límite del flujo de datos (grafo de dependencias).

� Aumentar m más supone: • Mucha más complejidad • Poco incremento de IPCreal

> La complejidad de varios factores de la fase IS crece con m2 (m = grado superescalaridad) - Superescalares Dinámicos

o Número de RS proporcional a “Nº instr. en vuelo” = Nº fases x m o Número de CDB proporcional a m o Conclusión: Número de comparadores en RS proporcional a m2

• Miles de comparadores y siempre activos � zona de mayor temperatura

Page 19: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 19

Ejemplo: Causas bloqueos Superescalares Dinám. > Si nada lo impide se alcanza el límite IPC=IPCideal=m > Si se agotan las R.S. o las etiquetas habrá bloqueos de emisión. Causas posibles:

1. Muchas RAW en cadena (en registros o en memoria). 2. Balanceo de UF respecto a Instrucciones

o Si número de UF de un tipo < número de instrucciones/ciclo de ese tipo o Típico: Menor número de puertos al caché que instr. Ld/St

3. Muchos fallos caché (aunque sea non-blocking) 4. Muchos fallos de BTB hacen que se “vacíen” las RS 5. UF no segmentada (EX varios ciclos)

Hacer un cronograma, mostrando el estacionario del bucle, para cada una de estas causas, con Alg. Tomasulo (IF IS EX WB) Notar que:

� Ritmo ocupación RS en IS es distinto del ritmo de liberación en WB � Bloqueo total se produce si se van acumulando instrucciones hasta que se llena la cola de R.S. completamente (p.ej. en un bucle).

EJEMPLOS DE BLOQUEOS

Page 20: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 20

Causas limitantes del ILP en proc reales (I) • Realidad: grado m superescalaridad no ha aumentado en los últimos años.

o Algunas técnicas son muy sofisticadas, pero no aumentan mucho IPC p. ej. • Especulación datos (predicción de valores) • Ejecución ambas ramas de un salto

• ¿Qué dos factores limitan más el paralelismo extraíble en benchmarks reales?

o Fallos en la predicción de saltos. • BTB cada vez más sofisticada, compleja y grande.

o Accesos a memoria de datos (caché): • Cachés muy sofisticados para reducir fallos de acceso • Aunque AB altísimo • Latencia de acceso decrece poco • Muchos accesos (y dependencias) en memoria (CISC)

� Si en un PC el AB=24 GB/s y se ejecuta un programa con un 20% instr. Ld/st (cada una de 32 bits) , ¿cuál es el MIPS de pico?

� Comparar con MIPS pico por m=4, frec= 3 GHz

Page 21: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 21

Causas limitantes del ILP en proc reales (II) Fallos en la predicción de saltos.

Instrucciones abortadas por fallo de predicción en Intel Core i7

(benchmark SPEC 2006)

INT FP

Page 22: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 22

Causas limitantes del ILP en proc reales (III) Accesos a memoria de datos: evolución AB/latencia

Page 23: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 23

Causas limitantes del ILP en proc reales (IV) Evolución Familia IBM Power PC

Page 24: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 24

Estudio de ILP disponible (real) (I) • Caso real: Intel Core i7 (su CPI ideal = 0.25 pues m=4)

CPI para SPEC2006 (Intel Core i7): CPI mayor (y más variable) en INT que en FP

• Programas INT más algorítmicos / Programas FP: más vectoriales

INT FP

Page 25: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 25

Estudio de ILP disponible (teórico) (II)

ILP ideal (con simulador usando una traza) ILP para procesadores “realizables” • ventana de infinitas instrucciones • predicción saltos perfecta • Toda dirección Ld/ST conocida • Infinitas UF • Duración toda UF=1 ciclo • Cache perfecto 100 % acierto • Infinita planificación estática y dinámica • SOLO LIMITA LAS PRESTACIONES EL DATA FLOW LIMIT

• Ventana de 64 instrucciones • Predicción saltos: BTB 1K entradas • Toda dirección Ld/ST comparada dinámicam. • Emite hasta 64 inst/ciclo sin reglas emisión • Duración toda UF=1 ciclo • Cache perfecto 100 % acierto (64 puertos) • Planificación dinámica: 64 etiq FP y 64 INT • …DEMASIADO OPTIMISTA...

0 50 100 150 200

gcc

espresso

li

fpppp

doduc

tmcatv

ILP ideal

ILP realizable

FP

INT

Instr emitidas/ciclo

¿Cuáles son muy optimistas?

Page 26: TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE ... · Sólo especula con instr cuyos efectos sean fáciles de deshacer. Ver ejemplos en planificación de trazas) 2. Mixta. Cierto soporte

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 26

CONCLUSIONES • Cuidar en superescalares dinámicos:

o Accesos a memoria o Saltos condicionales

• Usar Técnicas estáticas es otra alternativa que no debe olvidarse (VLIW).

o Todavía no se ha llegado al límite del ILP extraído estáticamente o La responsabilidad de aumentar rendimiento recae actualmente cada vez más sobre programador y software

• Paralelismo de datos DLP:

o Núcleos vectoriales. tema 4

• Paralelismo de hilos y procesos TLP o Multicore, multicomputadores. tema 5