La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Unidad 2: Segmentación 2.7. Dependencias de Datos Docente: Ing. José Díaz Chow.

Presentaciones similares


Presentación del tema: "Unidad 2: Segmentación 2.7. Dependencias de Datos Docente: Ing. José Díaz Chow."— Transcripción de la presentación:

1

2 Unidad 2: Segmentación 2.7. Dependencias de Datos Docente: Ing. José Díaz Chow

3 Preámbulo Clases anteriores: Procesador segmentado adelanta la ejecución. Dependencias inherentes al solapamiento. Riesgos por dependencias:  Estructurales  Datos  Control

4 Unidad 2: Segmentación 2.7 Dependencias de Datos Conceptos Básicos Riesgos por dependencias de datos Reducción de Latencias mediante Diseño Técnicas de Bloqueo Datapath del DLX con DD corregidas

5 Objetivos Explicar los riesgos de la segmentación asociados a las dependencias de datos. Clasificar los tipos de dependencias de datos y determinar en qué condiciones pueden representar riesgos a los procesadores segmentados. Proponer alternativas de diseño para minimizar las latencias por Dependencias de Datos. Explicar las técnicas que se emplean para garantizar la coherencia de la ejecución en casos de Dependencias de datos.

6 Unidad 2: Segmentación Contenido: 2.7 Dependencias de Datos Conceptos Básicos Riesgos por dependencias de datos Reducción de Latencias mediante Diseño Técnicas de Bloqueo Datapath del DLX con DD corregidas

7 Conceptos Básicos (1/3) Lecturas y escrituras deben mantener un orden Instrucciones en los programas establecen una R de dependencia en los datos P.Ej: Orden lógico (algoritmo), Precedencia. Dos niveles: Programa a Alto Nivel (Compilador) Programa a Bajo Nivel (CPU)

8 Conceptos Básicos (2/3) Ejemplo: A = A + B * C Compilador A = R10, B = R11, C = R12, Tmp = R21 MULT R21, R11, R12 ADD R10, R10, R21

9 Conceptos Básicos (3/3) Tipos de Dependencias de Datos: Instrucciones son funciones (D,R) D(i)  D(j)   (RAR: No riesgo, Requisitos Estruct.) D(i)  R(j)   (WAR: No en DLX - ejecución en orden) R(i)  D(j)   (RAW: Problema típico. Ejemplo) R(i)  R(j)   (WAW: No en DLX, solo escribe en Wb) j = i + n | n  E +

10 Unidad 2: Segmentación Contenido: 2.7 Dependencias de Datos Conceptos Básicos Riesgos por dependencias de datos Reducción de Latencias mediante Diseño Técnicas de Bloqueo Datapath del DLX con DD corregidas

11 Riesgos por Dep. de Datos Incoherencias = Resultados equivocados - Prohibitivo. Requiere Bloqueo Latencias = Pérdida de eficiencia - Mejoras de Diseño Regresemos a nuestro ejemplo:

12 Unidad 2: Segmentación Contenido: 2.7 Dependencias de Datos Conceptos Básicos Riesgos por dependencias de datos Reducción de Latencias mediante Diseño Técnicas de Bloqueo Datapath del DLX con DD corregidas

13 Reducción de latencias (1/4) Si Tr es suficiente (WB escriba antes que D/L lea), la 4ta latencia no existe. Posibles latencias:

14 Reducción de latencias (2/4) Forwarding, bypassing o cortocircuito Técnica de diseño que consiste en proporcionar el resultado, inmediatamente esté disponible. En el DLX, los resultados están disponibles al final de la etapa ALU (Permite elimina latencia 1) De la S(ALU) pasan al MAR y de S(MAR) al MDRin (Elimina latencia 2 y 3)

15 Reducción de latencias (3/4) OP(i) – OP(i+1) : S(ALU)  E(A)|E(B) OP(i) - OP(i+2) : S(MAR)  E(A)|E(B) OP(i) - OP(i+3) : S(MDRin)  E(A)|E(B) Aplicando Forwarding:

16 Reducción de latencias (4/4) Forwarding no resuelve todos los casos Ejemplo: LOAD(i) – OP(i+1) - Impráctico buscar que S(MEM)  E(ALU)

17 Unidad 2: Segmentación Contenido: 2.7 Dependencias de Datos Conceptos Básicos Riesgos por dependencias de datos Reducción de Latencias mediante Diseño Técnicas de Bloqueo Datapath del DLX con DD corregidas

18 Técnicas de Bloqueo (1/2) No todos los segmentados implementan Forwarding. Bloqueo es indispensable. En caso de latencias obligatorias, es necesario garantizar la coherencia mediante bloqueo. Dos tratamientos:  Hardware (CU)  Software (Compiladores y Programador)

19 Técnicas de Bloqueo (1/2) Interlock, bloqueo por Hardware o burbuja. - Detección de dependencias en la UC. En el DLX :  NOP en IR2  Bloquear carga del IR: Ld_IR  Bloquear carga del PC: Ld_PC Tratamiento por Hardware:

20 Técnicas de Bloqueo (2/2) Tratamiento por Software: Compilador optimizador introduce NOPs Compilador optimizador reordena código Programador usa NOPs en Assembler Programador reordena código en Assembler

21 Unidad 2: Segmentación Contenido: 2.7 Dependencias de Datos Conceptos Básicos Riesgos por dependencias de datos Reducción de Latencias mediante Diseño Técnicas de Bloqueo Datapath del DLX con DD corregidas

22 Datapath del DLX Corregido


Descargar ppt "Unidad 2: Segmentación 2.7. Dependencias de Datos Docente: Ing. José Díaz Chow."

Presentaciones similares


Anuncios Google