Segmentación No Lineal

Slides:



Advertisements
Presentaciones similares
Santiago D. Costarelli – Darío G. Uberti Manassero
Advertisements

Procesadores Superescalares
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
TEMA 3 ILP, Panificación dinámica, Predicción de saltos, Especulación
Estructuras segmentadas
Planificación de Monoprocesadores
Scheduling dinámico Scoreboarding.
Estructuras de Repetición Algoritmos
PROCESADORES SUPERESCALARES
Curso de Programación I Parte I
Sistemas Operativos Funcionamiento general de una computadora bajo el control de un programa.
PROCESADORES SUPERESCALARES Y VLIW
Pipelines: Riesgos.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Tarea procesada de forma totalmente secuencial
El procesador: la ruta de datos y el control (II Parte)
Teoría de lenguajes y compiladores
EL Sistemas Digitales Ing. José Alberto Díaz García Escuela de Ingeniería Electrónica Arquitectura Segmentada Pipeline (Segmentación)
Unidad aritmético-lógica
EMISION MULTIPLE DE INSTRUCCIONES
Unidad 3. Arquitecturas SIMD
Este obra se publica bajo unalicencia de Creative Commons Reconocimiento- NoComercial-CompartirIgual 3.0 España.licencia de Creative Commons Reconocimiento-
Procesadores VLIW y procesadores vectoriales
TEMA II PROCESADORES SUPERESCALARES Fuente imágenes: Prof. Morillo.
Práctica 7 AOC. Gestión de la pila Una pila es una estructura de datos caracterizada por que el último dato que se almacena es el primero que se obtiene.
PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES
INGENIERIA DE COMPUTADORES II
Sistemas Operativos Procesos.
Unidad 2: Segmentación 2.7. Dependencias de Datos Docente: Ing. José Díaz Chow.
P(C) = m * nMAXIMO GRADO DE PARALELISMO WSBS ha sido llamado el procesamiento en serie de bits, ya que se procesa un bit por vez (n = m = 1). Es el procesamiento.
Clase 10: Estructuras de datos y arreglos.
Profesor: Rodrigo Sanhueza Figueroa
Arquitectura de Máquinas Computadoras II
Pipelines Paralelismo Temporal y Espacial Ciclo de ejecución
Unidad 2: Segmentación Dependencias de Control Docente: ing. José Díaz Chow.
WHILE Estructuras Repetitivas
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.),
Procesadores VLIW y procesadores vectoriales
Asignación de Espacio No Contiguo
Conceptos Arquitectónicos del computador
ARQUITECTURAS SIMD Clase Práctica No Vector Processor M-M 1. Estime el tiempo de ejecución de una suma vectorial en un Vector Processor M-M basado.
Scheduling dinámico Algoritmo de Tomasulo.
ISF5501 Ingeniería de Software
Organización de Computadoras
Juego de Preguntas y Respuestas
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
Capítulo 7 Gestión de memoria.
Unidad 2: Segmentación Excepciones en la Segmentación Docente: Ing. José Díaz Chow ARQUITECTURA DE MÁQUINAS COMPUTADORAS III.
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Tema VII Memoria Virtual.
Arquitectura de Von Neumann
Nombre: Cristian Achina Curso: 4to «A» Fecha:
Este obra se publica bajo unalicencia de Creative Commons Reconocimiento- NoComercial-CompartirIgual 3.0 España.licencia de Creative Commons Reconocimiento-
INGENIERÍA DE SOFTWARE
Cap. 6: Pipelining. Encauzamiento de procesadores
LSI. Freddy Veloz Sistemas Operativos
Capítulo 8 Segmentación de Instrucciones.
ARQUITECTURA ALTERNATIVA DE SERVIDORES SISTEMAS OPERTIVOS DE RED En un sistema operativo de red los usuarios saben que están conectados a la red y que.
PROCESADORES SUPERESCALARES
MÓDULO INTRODUCCIÓN AL CICLO DE VIDA DEL SOFTWARE
Proceso de desarrollo de Software
3.4 PROCESAMIENTO DE LAS INSTRUCCIONES DE SALTO
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
Modelo de procesos de software
Objetivos de la prueba Los objetivos principales de realizar una prueba son: Detectar un error. Tener un buen caso de prueba, es decir que tenga más probabilidad.
Planificación de CPU Conceptos Básicos Criterios de Planificación Algoritmos de Planificación Planificación con Múltiples Procesadores Planificación Real-Time.
P ROCESO DE E NSAMBLADO Cámara Vázquez Berenice Rubí.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Unidad de Control Ubicación: Es uno de los tres bloques funcionales principales en los que se divide una unidad central de procesamiento (CPU). Realizar.
Hiperpipeline Superescalares Arquitectura de Computadoras 2012.
Transcripción de la presentación:

Segmentación No Lineal 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. 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 etapas anteriores (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:

Representación de Cauces NL Tabla de Reserva del cauce: Sj \Ti 1 2 3 4 5 6 7 8 X  

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 Cauces lineales: Segmentados de instrucciones Cauces aritméticos simples Cauces no-lineales: Cauces aritméticos en P.F Segmentados escalares/S.E.: Multiciclos

Procesadores Multiciclo DLX Multiciclo

Mejoras de la Técnica Más de 1 instrucción por ciclo Superpipelining: Tiempo de etapa es una fracción (p.e. ½) del período de reloj Superescalar: Procesador con varias unidades funcionales 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 incrementan por la no linealidad de implementación: Unidades en PF pueden hacer que instrucciones posteriores concluyan antes. Para aprovechar la multiplicidad de unidades funcionales, tenemos en ejecución múltiples operaciones 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 CPUs NoLineales 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 Datos provocan riesgos 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: Aplican las mismas dependencias R-D. ADDF f5, f2, f7 MULF f18, f5, f9 Posible implementación de forwarding Detección previa de Dependencia, marcaje de registro y no emisión de MULF hasta que resultado disponible o f5 consistente. Pueden aparecer dependencias D-R (WAR) y R-R (WAW) debido a que las operaciones duran tiempos diferentes y a la ejecución en desorden.

Riesgos de la Segmentación NL Requerido garantizar secuencia correcta de los cálculos. Necesario mecanismo de control que trate las dependencias estructurales y de datos integralmente. Dos enfoques se han empleado: 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 detectar Dependencias estructurales Detectar Dependencias de Datos y Leer Operandos Cada instrucción pasa por el marcador que lleva un tablero de DD Emite la instrucción si no hay dependencias Controla la escritura ordenada 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 emiten si hay estaciones de reserva disponibles. Estaciones de reserva controlan cada unidad de ejecución. Llevan copia de las operaciones y los datos Estructura de datos de control de los registros y DD Implementa forwarding para mejorar 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 orden pero finalización puede ser en desorden. Escrituras en orden.

Riesgos de la Segmentación NL En Cauces Aritméticos: Dependencias Estructurales en etapas del cauce: Provocan riesgos de Colisión. Detección en Tabla de reserva Etapas utilizadas más de una vez por funció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 cauces aritméticos: Basada en mecanismo de bloqueo de colisiones. Permite detectar las secuencias de inicializaciones más provechosas. Minimiza las penalizaciones  mejor desempeñ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.

Algoritmo de Planificación. (P1) Análisis de colisiones en tabla de reservas: Sj \Ti 1 2 3 4 5 6 7 8 X   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  F  Ci = 0  i  F’   C = ( 10110001) (P3) Diagrama de estados (Base de la estrategia) - Primer estado es C. - Se simula cada nuevo estado del registro de bloqueo luego de cada posible inicialización (latencias libres): A cada estado existente se desplaza i ciclos a la derecha i  F’ y se aplica OR con C. Si el resultado es diferente de algún estado existente, es un nuevo estado.

Algoritmo de Planificación.

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  

Algoritmo de Planificación. (P4) Determinar ciclos simples (lm, mlm, ca) 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 ) (P5) Estrategia: Secuencia que favorecen los ciclos avariciosos