Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porChita Bejarano Modificado hace 8 años
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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.