330 likes | 580 Views
Unidad 2: Segmentación. Segmentación No Lineal. Docente: Ing. José Díaz Chow. Objetivos (1/2). Explicar el concepto de segmentación no lineal y su diferencia con la segmentación lineal.
E N D
Unidad 2: Segmentación SegmentaciónNo Lineal Docente: Ing. José Díaz Chow
Objetivos (1/2) • Explicar el concepto de segmentación no lineal y su diferencia con la segmentación lineal. • Utilizar diferentes formas de representar y describir las funciones y operación de los cauces no lineales. • Exponer el campo de aplicación de los cauces no lineales y las diferentes implementaciones en uso hoy día.
Objetivos (2/2) • Enumerar los tipos de dependencias y sus riesgos asociados que pueden darse en los cauces no lineales. • Conocer técnicas para tratar los riesgos por dependencias estructurales, específicamente en la prevención de colisiones y maximizar el rendimiento del cauce.
Contenido • 2.10 Segmentación no lineal • Segmentación general o no-lineal • Representaciones • Implementaciones • Riesgos de la Segmentación NL • Planificación de recursos
Segmentación no lineal • Segmentación no limitada por relación de precedencia lineal entre las subtareas • Excención y multiplicidad de etapas • Repetición de etapas (loops) • Retorno a etapasanteriores (feedback) • Multiples trayectorias (multifunción y dinámicos)
Contenido • 2.10 Segmentación no lineal • Segmentación general o no-lineal • Representaciones • Implementaciones • Riesgos de la Segmentación NL • Planificación de recursos
Representación de Cauces NL • Diagramas de bloques y descripción: • Grafo de precedencia y trayectorias:
Sj \Ti 0 1 2 3 4 5 6 7 8 1 X X 2 X X X 3 X 4 X X 5 X X Representación de Cauces NL • Tabla de Reserva del cauce:
Contenido • 2.10 Segmentación no lineal • Segmentación general o no-lineal • Representaciones • Implementaciones • Riesgos de la Segmentación NL • Planificación de recursos
Implementaciones • Cauceslineales: • Segmentados de instrucciones • Caucesaritméticos simples • Cauces no-lineales: • Caucesaritméticos en P.F • Segmentadosescalares/S.E.: Multiciclos
ProcesadoresMulticiclo • DLX Multiciclo
Mejoras de la Técnica Más de 1 instrucciónporciclo • Superpipelining: • Tiempo de etapaesunafracción (p.e. ½) del período de reloj • Superescalar: • Procesador con variasunidadesfuncionales y/o cauces de ejecución.
Contenido • 2.10 Segmentación no lineal • Segmentación general o no-lineal • Representaciones • Implementaciones • Riesgos de la Segmentación NL • Planificación de recursos
Riesgos de la Segmentación NL • Riesgos se incrementanpor la no linealidad de implementación: • Unidades en PF puedenhacerqueinstruccionesposterioresconcluyan antes. • Para aprovechar la multiplicidad de unidadesfuncionales, tenemos en ejecuciónmúltiplesoperaciones en PF en paralelo. • Dependencias estructurales: Colisiones en Unidades funcionales o en etapas de cauces aritméticos. • Dependencias de datos: Problemas de Coherencia. • Dependencias de control: Requerido garantizar la coherencia cuando hay operaciones en PF multiciclo.
Riesgos de la Segmentación NL • En CPUsNoLineales de Instrucciones: • Dependencias estructurales: Colisiones en Unidades funcionales, cuando dos operaciones iguales: ADDF f23, f2, f7 ADDF f18, f5, f9 • Dependencias de datos: Dependencias de Datosprovocanriesgos de incoherencia de resultados: ADDF f5, f2, f7 MULF f18, f5, f9
Riesgos de la Segmentación NL • Detección de dependencias estructurales por el código de operación. ADDF f23, f2, f7 ADDF f18, f5, f9 MULF f17, f4, f11 • Se detiene la emisión de nuevas instrucciones del mismo tipo. • Pérdida de eficiencia • Si no hay DD, se debería de adelantar MULF: Ejecución en desorden para mayor eficiencia
Riesgos de la Segmentación NL • Dependencias de Datos: • Aplicanlasmismasdependencias R-D. • ADDF f5, f2, f7 • MULF f18, f5, f9 • Posibleimplementación de forwarding • Detecciónprevia de Dependencia, marcaje de registro y no emisión de MULF hasta queresultadodisponible o f5 consistente. • Puedenaparecerdependencias D-R (WAR) y R-R (WAW) debido a quelasoperacionesdurantiemposdiferentes y a la ejecución en desorden.
Riesgos de la Segmentación NL • Requeridogarantizarsecuenciacorrecta de los cálculos. • Necesariomecanismo de control quetratelasdependenciasestructurales y de datosintegralmente. • Dos enfoques se hanempleado: • Uso del marcador (Scoreboard) • Algoritmo de Tomasulo
Riesgos de la Segmentación NL • Scoreboad o Marcador: • Estructura de datos y control centralizada. • D/L se divide en dos etapas: • Decodificar y detectarDependenciasestructurales • DetectarDependencias de Datos y Leer Operandos • Cadainstrucciónpasapor el marcadorquelleva un tablero de DD • Emite la instrucciónsi no hay dependencias • Controla la escrituraordenada de resultados
Riesgos de la Segmentación NL • Tomasulo: • Estructura de datos y control distribuida (estaciones de reserva). • Carga de instrucciones en una cola y se emitensi hay estaciones de reservadisponibles. • Estaciones de reservacontrolancadaunidad de ejecución. Llevancopia de lasoperaciones y los datos • Estructura de datos de control de los registros y DD • Implementa forwarding paramejorar la eficiencia
Riesgos de la Segmentación NL • Tomasulo:
Riesgos de la Segmentación NL • Tomasulo: • Emisión en orden • Control entre estaciones de reserva (Tabla de datos) • Ejecución en ordenperofinalizaciónpuedeser en desorden. • Escrituras en orden.
Riesgos de la Segmentación NL • En Cauces Aritméticos: • DependenciasEstructurales en etapas del cauce: • Provocanriesgos de Colisión. • Detección en Tabla de reserva • Etapasutilizadasmás de unavezporfunción. • Implementación de un Mecanismo de bloqueo. • Vector de Colisiones. • Mejora de la eficiencia: Planificación de recursos
Contenido • 2.10 Segmentación no lineal • Segmentación general o no-lineal • Representaciones • Implementaciones • Riesgos de la Segmentación NL • Planificación de recursos
Planificación de Recursos • Planificación de recursos en caucesaritméticos: • Basada en mecanismo de bloqueo de colisiones. • Permitedetectarlassecuencias de inicializacionesmásprovechosas. • Minimizalaspenalizaciones mejordesempeño del Cauce.
Mecanismo de bloqueo • Uso de vector de colisiones para bloquear las inicializaciones de nuevas tareas en latencias prohibidas (aquellas latencias o pulsos de reloj en las cuales, si se inicia, habrá una colisión). • El vector de colisiones se implementa como un registro binario de desplazamiento: • En cada pulso de reloj el registro desplaza una posición a la derecha. Se verifica si bit desplazado es 1 ó 0. Si es 1 se bloquea la inicialización y si es 0 se permite. • Cuando se permite la inicialización, se hace un OR del registro con el valor del vector de colisiones original a fin de reservar las prohibiciones que la nueva inicialización va a generar.
Sj \Ti 0 1 2 3 4 5 6 7 8 1 X X 2 X X X 3 X 4 X X 5 X X Algoritmo de Planificación. • (P1) Análisis de colisiones en tabla de reservas: • Lista de latencias prohibidas F (y libres F’). F = { 1, 5, 6, 8 } F’ = { 2, 3, 4, 7 }
Algoritmo de Planificación. • (P2) Vector de colisiones (Elemento de bloqueo) C = (Cn. . . C1) | Ci = 1 i FCi = 0 i F’ C = ( 10110001) • (P3) Diagrama de estados (Base de la estrategia) - Primer estadoes C. - Se simulacadanuevoestado del registro de bloqueoluego de cadaposibleinicialización (latenciaslibres): A cadaestadoexistente se desplazaiciclos a la derechai F’ y se aplicaOR con C. Si el resultadoesdiferente de algúnestadoexistente, es un nuevoestado.
Algoritmo de Planificación. En base los estados generados a partir de las transiciones en las diferentes latencias libres posibles, creamos un diagrama de estados que caracteriza el funcionamiento del cauce en todos sus estados posibles.
Algoritmo de Planificación. Diagrama de Estados del cauce
Ciclo simple Latencia media (lm) ¿Es Avaricioso? ( 7 ) 7 ( 3, 7 ) 5 ( 3, 4 ) 3.5 SI, y tiene la mlm ( 4, 3, 7 ) 4.6 ( 4, 7 ) 5.5 ( 2, 7 ) 4.5 ( 2, 2, 7 ) 3.6 SI ( 3, 4, 7 ) 4.6 Algoritmo de Planificación. • (P4) Determinar ciclos simples (lm, mlm, ca) • (P5) Estrategia: Secuenciaquefavorecenlos ciclosavariciosos