1 Pipelines Paralelismo Temporal y Espacial Ciclo de ejecuciónEspacial: Existen varias unidades funcionales (simultaneidad) Temporal: Se solapan tiempos. Ciclo de ejecución
2 Pipelines Pipeline Tipos Instrucciones Aritmeticos de Instrucciónde Procesador Uni/Multifuncionales Estáticos/Dinámicos Escalares/Vectoriales
3 Pipelines Pipelines Generales Tablas de Reservas
4 Pipelines Latencia Tiempo en que tarda en llenarse un pipe, o sea que comienza a mostrar resultados Lat = aprox (n * tK) (sin colisiones) Donde n es el nro. de la etapas y tk es el tiempo de la etapa más larga
5 Pipelines Aceleración Sk tk es la velocidad del pipeline en producciónSK = T / tk Donde T es el tiempo de ejecución de una instrucción sin pipeline
6 Pipelines (Tabla de Reserva)
7 Pipelines “voraces” Estrategia “greedy” permite latencias de 3 y 8, en promedio (3+8)/2 = 5,5
8 Pipelines “ no voraces”Latencia óptima de 4
9 Latencia Optima Vector de colisiones 0 1 2 3 4 5 6 7 1 1 1 0 0 1 1 1Se desprecia el primero
10 Latencia Optima Las posibles latencias son 3 o 4
11 Pipeline con ciclo salto incondicional
12 Pipeline con cero ciclo en salto incondicional
13 Pipelines Pipeline Sumador de Punto Flotante en 4 etapas
14 Pipelines Pipeline Vectorial
15 Pipelines y CPU
16 Pipelines (Problemas)Pipeline en Procesador RAW, WAR, WAW RAW - Si 2) extrae después que 3) escribe WAR - Si 1) escribe después que 2) extraiga WAW - Si 3) escribe después que 4) Condiciones de Salto Programa Ejemplo 1) ALMACENAR X 2) SUMAR X ..... 3) ALMACENAR X 4) ALMACENAR X
17 Predicción de saltos condicionalesEstático Nunca salta INTEL i486 Siempre Salta SUN SuperSaprc (entre 40 y 60 % de aciertos)
18 Predicción de saltos incondicionalesDinámico (Dec Alpha 21064) 77 a 79 % (100 % de error en casos TNTN ... desde estado 0
19 Predicción de saltos incondicionalesINTEL Pentium 78 a 89 % Estado 01 secuencia TNTN % mal
20 Predicción de saltos incondicionales
21 Predicción de saltos incondicionales