1 / 21

Unidad 2: Segmentación

2.7. Dependencias de Datos. Unidad 2: Segmentación. Docente: Ing. José Díaz Chow. Clases anteriores: Procesador segmentado adelanta la ejecución. Dependencias inherentes al solapamiento. Riesgos por dependencias: Estructurales Datos Control. Preámbulo.

micheal
Download Presentation

Unidad 2: Segmentación

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 2.7 Dependencias de Datos • ConceptosBásicos • Riesgospordependencias de datos • Reducción de LatenciasmedianteDiseño • Técnicas de Bloqueo • Datapath del DLX con DD corregidas Unidad 2: Segmentación

  4. Explicarlos riesgosde la segmentaciónasociados a lasdependencias de datos. • Clasificar los tipos de dependencias de datos y determinar en quécondicionespuedenrepresentarriesgos a los procesadoressegmentados. • Proponeralternativas de diseño para minimizarlaslatenciasporDependencias de Datos. Objetivos • Explicarlastécnicasque se emplean para garantizar la coherencia de la ejecución en casos de Dependencias de datos.

  5. Contenido: 2.7 Dependencias de Datos • ConceptosBásicos • Riesgospordependencias de datos • Reducción de LatenciasmedianteDiseño • Técnicas de Bloqueo • Datapath del DLX con DD corregidas Unidad 2: Segmentación

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

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

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

  9. Contenido: 2.7 Dependencias de Datos • ConceptosBásicos • Riesgospordependencias de datos • Reducciónde LatenciasmedianteDiseño • Técnicas de Bloqueo • Datapath del DLX con DD corregidas Unidad 2: Segmentación

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

  11. Contenido: 2.7 Dependencias de Datos • ConceptosBásicos • Riesgospordependencias de datos • Reducción de LatenciasmedianteDiseño • Técnicas de Bloqueo • Datapath del DLX con DD corregidas Unidad 2: Segmentación

  12. Posibles latencias: Reducción de latencias (1/4) • Si Tressuficiente (WB escriba antes que D/L lea), la 4ta latencia no existe.

  13. 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) Reducción de latencias (2/4) • De la S(ALU) pasan al MAR y de S(MAR) al MDRin (Elimina latencia 2 y 3)

  14. Aplicando Forwarding: 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)

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

  16. Contenido: 2.7 Dependencias de Datos • ConceptosBásicos • Riesgospordependencias de datos • Reducción de LatenciasmedianteDiseño • Técnicas de Bloqueo • Datapath del DLX con DD corregidas Unidad 2: Segmentación

  17. 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) Técnicas de Bloqueo (1/2)

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

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

  20. Contenido: 2.7 Dependencias de Datos • ConceptosBásicos • Riesgospordependencias de datos • Reducciónde LatenciasmedianteDiseño • Técnicas de Bloqueo • Datapath del DLX con DD corregidas Unidad 2: Segmentación

  21. Datapath del DLX Corregido

More Related