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

Slides:



Advertisements
Presentaciones similares
El modelo de Von Neumann
Advertisements

Arquitectura de Computadores I
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
TEMA 3 ILP, Panificación dinámica, Predicción de saltos, Especulación
Estructuras segmentadas
I11 A y i 11 B Séptimo semestre.
Procesadores Pipeline II
Supervisión del rendimiento de SQL Server
5. Técnicas de Simulación 1. Conceptos
Scheduling dinámico Scoreboarding.
Fermín Sánchez Carracedo Universitat Politècnica de Catalunya
PROCESADORES SUPERESCALARES
UNIDAD II: ALGORITMOS Y LENGUAJES
Ing. Esp. Ricardo Cujar. El computador: es una máquina que permite hacer tareas aritmético y lógicas de una manera fácil, consta de software y hardware.
Departamento de Ingeniería de Sistemas Universidad de Antioquia
Arquitectura de Computadores
Pipelines: Riesgos.
El procesador: la ruta de datos y el control (II Parte)
SEGMENTACIÓN DEL CAUCE
EL Sistemas Digitales Ing. José Alberto Díaz García Escuela de Ingeniería Electrónica Arquitectura Segmentada Pipeline (Segmentación)
CICLO DE VIDA DE UN PROYECTO DE SOFTWARE
Arquitectura de Conjunto de Instrucciones (ISA)
Mejoras a las Máquinas Von Neumann
Composición Interna de un Procesador
Este obra se publica bajo unalicencia de Creative Commons Reconocimiento- NoComercial-CompartirIgual 3.0 España.licencia de Creative Commons Reconocimiento-
TRADUCTOR DE UN PROGRAMA
PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES
Unidad 2: Organización del CPU
Introducción a la Ingeniería en Sistemas
INGENIERIA DE COMPUTADORES II
Organización del Computador I Verano MIPS (1 de 2) Basado en el capítulo 3 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Segmentación No Lineal
Profesor: Rodrigo Sanhueza Figueroa
Arquitectura de Máquinas Computadoras II
Administración de Memoria Memoria Virtual
Unidad 2: Segmentación Dependencias de Control Docente: ing. José Díaz Chow.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Asignación de Espacio No Contiguo
FUNDAMENTOS DE PROGRAMACIÓN ISC. GABRIEL ZEPEDA MARTÍNEZ EST. ABRAHAM F. MACHUCA VAZQUEZ.
Scheduling dinámico Algoritmo de Tomasulo.
INTRODUCCIÓN FACTORES QUE IMPULSAN LA RENOVACIÓN EN ARQUITECTURA
Organización de Computadoras
Capítulo 7 Gestión de memoria.
Funcionamiento de la CPU
Capítulo 5. El procesador: Camino de datos y control.
Unidad 2: Segmentación Excepciones en la Segmentación Docente: Ing. José Díaz Chow ARQUITECTURA DE MÁQUINAS COMPUTADORAS III.
TEMAS PRINCIPALES. ALGORITMOS. CONCEPTOS El algoritmo es un método para resolver un problema mediante una serie de pasos definidos, precisos y finitos.
FUNDAMENTOS DE PROGRAMACION
Introducción a la Informática
Departamento de Ingeniería de Sistemas Universidad de Antioquia
COMPUTO III Ing. Jimmy Ojeda Arnica.
COMPUTO III Ing. Jimmy Ojeda Arnica. METODOLOGIA DEL CURSO Objetivos del curso : Comprender el entorno de los lenguajes visuales. Comprender el entorno.
SEMANA 01_2.
Maquinas Digitales Funciones del Procesador Buscar instrucciones Interpretar instrucciones Buscar datos Procesar datos Escribir datos.
Metodología de Desarrollo Unidad Educativa Bolívar Sebastián Torres 6° 18°
Prof. Flor Narciso Departamento de Computación
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 14 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
LSI. Freddy Veloz Sistemas Operativos
PROCESADORES SUPERESCALARES
Compilador Es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa.
Preocupaciones del Analista Programador & Usuarios
PARCIAL 1 SISTEMA DE TRATAMIENTO DE INFORMACION. Concepto de Programa  El término programa (d el latín programma, que a su vez proviene de un vocablo.
PARCIAL 1 Introducción a los programas. Concepto de Programa  El término programa (d el latín programma, que a su vez proviene de un vocablo griego)
Harware Software Yuneidy moreno 7-2 Tecnología i. E. devora Arango.
PARCIAL 1 Introducción a los programas. Concepto de Programa  El término programa (d el latín programma, que a su vez proviene de un vocablo griego)
INSTITUTO TECNOLÓGICO SUPERIOR DE LIBRES FUNDAMENTOS DE DESARROLLO DE SISTEMAS INTEGRANTES:  Díaz Rojas Vianey  Ramírez Barojas Nancy Marisol  Olivarez.
Gestión de Memoria – Parte 2
VERIFICACIÓN Y VALIDACIÓN DE SISTEMAS 3.10 Fase de manejo de requerimientos 4.1 Modelado de pruebas en UML Ponente: ing. Alejandro tapia vazquez.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Pipelining Peligros (hazards).
Transcripción de la presentación:

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

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

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

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.

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

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)

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

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 +

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

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

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

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

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)

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:

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)

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

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)

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:

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

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

Datapath del DLX Corregido