Principios básicos de la segmentación

Documentos relacionados
UNIDAD DE CONTROL SEGMENTADA PLANIFICACIÓN DE PIPES ESTÁTICOS

Arquitectura de Computadoras

UNIDAD DE CONTROL SEGMENTADA OPTIMIZACIÓN EN LA PLANIFICACIÓN DE PIPES

Riesgos en la Segmentación

SEGMENTACIÓN Y PROCESADORES SEGMENTADOS

Rendimientos y costes

Arreglos (vectores y matrices)

TEMA 3 PROCESADORES VLIW (Very Long Instruction Word)

Arquitecturas Paralelas Examen de Febrero 24 Enero 2005

Arquitectura de Computadores Problemas (hoja 2). Curso

Universidad Carlos III de Madrid Electrónica Digital Ejercicios

Lógica Secuencial. Dr. Andrés David García García Escuela de Ingeniería y Ciencias Campus Estado de México

Electrónica. Tema 6 Circuitos Secuenciales. Tema 1 Fundamentos de semiconductores

ALGORITMOS II PSEUDOCODIGOS INTRODUCCION AL PSEINT CORPODICES VICTOR ANDRES OCHOA CORREA

Registros y latches multibit. EL-3213 Circuitos Digitales I. Registro de 8 bits (octal register) Otros registros de 8 bits. 74x175

EL-3213 Circuitos Digitales I. Registros y latches multibit

Programación lineal: Algoritmo del simplex

Tema 7: Problemas clásicos de Programación Lineal

Ejercicio 1) Un sistema realiza una gestión de memoria virtual mediante

Computación 1. Programación, Constantes, Variables y Condiciones

VALOR: $ ,- (UF ,-)

Tema 1. Modelos lineales y solución gráfica. 1.1 El modelo lineal

Lógica Secuencial. Circuitos Digitales, 2º de Ingeniero de Telecomunicación ETSIT ULPGC

ÍNDICE CAPÍTULO 1. CÓDIGOS DE NUMERACIÓN CAPÍTULO 2. ÁLGEBRA DE CONMUTACIÓN Y FUNCIONES LÓGICAS... 37

TUTORIAL PSEINT. Ing. Ronald Rentería Ayquipa. Fundamentos de Programación

TEMA 3 TRANSFORMACIÓN DE CLAVES (HASHING)

max z = c T x sujeto a Ax b

Fundamentos de los Computadores Grado en Ingeniería Informática Análisis y diseño de sistemas secuenciales

7. PROGRAMACION LINEAL

Programación Lineal. - Si no: Sea j tal que c

Dualidad 1. 1 Formas simétricas. 2 Relación primal-dual. 3 Dualidad: el caso general. 4 Teoremas de dualidad. 5 Condiciones de holgura complementaria.

Método simplex para redes (representaciones gráficas) Cálculo del flujo de un árbol de expansión

Ejercicios para el 3er parcial

INFORMÁTICA MATLAB GUÍA 3 Operaciones con Matrices

TEMA 3 PROCESADORES VECTORIALES

Capítulo Siete PROGRAMACIÓN DE LA PRODUCCIÓN

CAPÍTULO 8: Planeamiento y Diseño del Proceso

ESTIMACIÓN DE TIEMPO Y COSTO DE PRODUCTOS SOFTWARE

MÉTODO SIMPLEX REVISADO O FORMA MATRICIAL

Temas 13 y 14. Acceso múltiple de paquetes: el protocolo Aloha. Eytan Modiano Instituto Tecnológico de Massachusetts. Eytan Modiano Diapositiva 1

OPTIMIZACIÓN DEL PROCESO DE EJECUCIÓN DE PRUEBAS FUNCIONALES RELATIVAS A LA PRODUCCIÓN AEROESPACIAL.

Tema 3 Optimización lineal. Algoritmo del simplex

13-Bloques Básicos Secuenciales

Teoría de grafos y optimización en redes

Examen de Conocimientos sobre Algoritmos para el Ingreso a la Licenciatura en Ingeniería en Software GUÍA PARA EL SUSTENTANTE

TRANSFERENCIA EN E T N RE E R EG E ISTROS 1

Capítulo 3 CICLO DE VIDA DE UN PROGRAMA. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Algoritmo de ramificación y acotación

Aplicación de la lógica secuencial asíncrona en automatización

EXAMEN DE ARQUITECTURA II Septiembre, 2010

UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE ELECTROTECNIA Y COMPUTACION DEPARTAMENTO DE ARQUITECTURA Y SISTEMAS

Tutorías con Grupos Reducidos (TGR) Parte 1: Evaluación de prestaciones

Pipelining. Introducción

Capítulo 6: EVALUACIÓN Y COMPARACIÓN DE MÉTODOS

EL Sistemas Digitales

1. Método general. 2. Análisis de tiempos de ejecución. 3. Ejemplos de aplicación Problema de las 8 reinas Problema de la mochila 0/1.

Arquitectura de Computadoras Trabajo Práctico N 7 Pipeline de Instrucciones Primer Cuatrimestre de 2010

Apellidos Nombre Grupo. Arquitectura e Ingeniería de Computadores. Examen Final (Teoría parte primer cuatrimestre). 18/06/2012

Análisis de Algoritmos CB-102

Estructuras de datos: vectores en C. Clase 7 y 8 Introducción a la Computación Patricia Borensztejn

Algoritmos en Árbol y Grafo Computación Pipeline

Gestión de Procesos en la Gestión de la Calidad. Ing. Gustavo Jara Rivas UDEP

UNIDAD 7 Recursividad Concepto. Algoritmos recursivos. Seguimiento de la recursión. Algunos métodos recursivos de búsqueda y ordenación: M-Sort y

Comenzaremos presentando la idea principal del método de Karmarkar, para después describir los detalles de cómputo del algoritmo.

EJERCICIO DE MAXIMIZACION

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Sistemas Operativos. Dr. Luis Gerardo de la Fraga. Departamento de Computación Cinvestav

PROBLEMA 1. Considere el siguiente problema de programación lineal:

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Universidad Euskal Herriko del País Vasco Unibertsitatea Arquitectura de Computadores I Sistema de memoria 1

El método simplex 1. 1 Forma estándar y cambios en el modelo. 2 Definiciones. 3 Puntos extremos y soluciones factibles básicas. 4 El método simplex.

TEMA 5.3 SISTEMAS DIGITALES

Organización de Computadoras Apunte 5: Circuitos Lógicos Secuenciales

Apuntes de Computación Científica I 1. Optimización

A l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información 1º año

Una ecuación lineal de n-incógnitas es una igualdad de la forma:

Relación de Ejercicios. Programación Paralela 4º de Grado en Ingeniería Informática.

Para cada problema realizar: Análisis Diseño Diagramas de Flujo

Arquitectura de Computadores I. Sistema de memoria 3 (Solución): Segmentación + Bancos

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

PARADIGMA y LENGUAJES DE PROGRAMACIÓN

Cómo censar viviendas en un día y no morir en el intento

Unidad 2. La lógica de programación. Tema 4. Arreglos y estructuras de repetición

Tema 7. Mejora del rendimiento: introducción a la segmentación y a las arquitecturas paralelas

COMPUTADORES VECTORIALES (DLXV)

Teoría de redes y optimización en redes

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.

Primero se inicializan dos puntos (tantos como clusters queremos) al azar. Estos puntos se denominan centroides del cluster.

Tema 1: PROCESADORES SEGMENTADOS

Arquitectura de Computadoras Trabajo Práctico N 8 Pipeline de Instrucciones 1 Primer Cuatrimestre de 2016

Tipos De Datos. Numéricos. Alfanuméricos (string) Arreglos (Vectores, Matrices) Estructurados Registros (Def. Por el Archivos Usuario) Apuntadores

ALGORITMOS DE PROGRAMACIÓN NO EXPULSIVOS

Análisis de sensibilidad 1

Programación II. Mario Aldea Rivas Programación II 05/05/11 1

IN4703 Gestión de Operaciones. Programación de Operaciones (Operations Scheduling)

Estructura y Tecnología de Computadores II (Gestión y Sistemas)

ARQUITECTURA SPARC: MODOS DE DIRECCIONAMIENTO

Tema 2. Algoritmos y Programas. Técnicas Informáticas Físicas

Transcripción:

Principios básicos de la segmentación Curso 2011-2012

Qué es la Segmentación? Qué ocurre si una U.F. no es lo suficientemente rápida? Solución tecnológica: Acelerarla con componentes más rápidos. Limitada. Solución arquitectónica: Segmentación.

Definición de Segmentación La segmentación es una técnica por la que se divide una U.F. en varias etapas más rápidas, a fin de mejorar el rendimiento de la misma. Gracias a la segmentación, se permite la coexistencia de distintos datos en las etapas de la U.F.

Segmentación lineal Todas las etapas de la unidad se ejecutan en orden secuencial. No hay posibilidad de lazos hacia atrás. Cada etapa ha de producir su resultado antes del siguiente ciclo de reloj. Los resultados de cada etapa se guardan en registros (latches). input L L L L L F1 F2 F3 F4 output

Tabla de reserva Tabla en la que se indica la ocupación de cada etapa frente al tiempo (ciclos de reloj). En una unidad con segmentación lineal, la tabla de reserva es trivial: siempre es una diagonal, ya que no hay posibilidad de vuelta atrás. F1 F2 F3 F4 Tiempo 1 2 3 4

Métricas de la segmentación lineal (I) Tiempo de ejecución de n datos en una U.F. segmentada con k etapas: T k = [ k + ( n 1)] τ k corresponde al número de ciclos de iniciación. Después, se necesita un único ciclo por dato. Tiempo de ejecución de n datos en la misma U.F. sin segmentar: T 1 = n k τ

Métricas de la segmentación lineal (II) Speed-up de una unidad segmentada frente a una no segmentada: SU k = T T 1 k = [ k n k τ = + ( n 1)] τ n k k + ( n 1) Máximo S.U.: Cuando n tiende a infinito, S.U. tiende a k. Límite teórico difícil de conseguir. Es conveniente que k sea arbitrariamente grande para maximizar el S.U.?...

Métricas de la segmentación lineal (III) Eficiencia: Speed-up conseguido por etapa. E k = SU k k = k n + ( n 1) Límite inferior: 1/k (cuando n=1) Límite superior: 1 (cuando n )

Métricas de la segmentación lineal (IV) Throughput: Número de tareas por segundo. H k = n [ k + ( n 1)] τ Óptimo: 1 (cuando n ). En este caso, el tiempo de iniciación de la unidad es despreciable.

Segmentación no lineal Las etapas no se ejecutan en orden secuencial. Sí hay posibilidad de lazos hacia atrás. Cada etapa se puede visitar más de una vez en cada iniciación de datos. La tabla de reserva no es única en este tipo de sistemas. Depende del algoritmos de encaminamiento de datos.

Segmentación no lineal Máquina input F1 F2 F3 output Tiempo 1 2 3 4 5 6 7 Etapa F1 F2 F3

Segmentación no lineal Máquina input F1 F2 F3 output Tiempo 1 2 3 4 5 6 7 Etapa F1 F2 F3

Segmentación no lineal Máquina input F1 F2 F3 output Tiempo 1 2 3 4 5 6 7 Etapa F1 F2 F3

Segmentación no lineal Máquina input F1 F2 F3 output Tiempo 1 2 3 4 5 6 7 Etapa F1 F2 F3

Segmentación no lineal Máquina input F1 F2 F3 output Tiempo 1 2 3 4 5 6 7 Etapa F1 F2 F3

Segmentación no lineal Máquina input F1 F2 F3 output Tiempo 1 2 3 4 5 6 7 Etapa F1 F2 F3

Segmentación no lineal Máquina input F1 F2 F3 output Tiempo 1 2 3 4 5 6 7 Etapa F1 F2 F3

Segmentación no lineal Máquina input F1 F2 F3 output Tiempo 1 2 3 4 5 6 7 Etapa F1 F2 F3

Latencia y colisión Latencia: Número de ciclos de reloj entre dos iniciaciones consecutivas. La latencia óptima es 1. Siempre es posible en segmentación lineal. Pocas veces posible en no lineal. Colisión: Situación en la que datos de dos inicializaciones distintas tratan de acceder a la misma etapa. Latencia prohibida: Aquella que produce una colisión.

Latencia en la segmentación lineal Tiempo Etapa 1 2 1 3 2 3 1 2 3 1 2 3 1 2 3 Segmentación lineal: Latencia 1 siempre alcanzable

Latencia en la segmentación no lineal H G F Z E Z D Z Z C Z Z B Z A 7 6 5 4 3 2 1 Latencia 1: Prohibida

Latencia en la segmentación no lineal Latencia 2: Prohibida 1 2 3 4 5 6 7 A Z B Z Z C Z Z D Z E F G H

Latencia en la segmentación no lineal Latencia 3: Permitida 1 2 3 4 5 6 7 A Z B Z Z C Z Z D E F G H

Latencia en la segmentación no lineal Latencia 1: Prohibida Latencia 2: Permitida Cómo identificar todas las latencias prohibidas?

Identificación de latencias prohibidas Latencias prohibidas: Distancias entre cada uno de los pares de marcas en la tabla de reserva. Toda latencia prohibida es siempre menor que el número de columnas en la tabla de reserva.

Ciclo de Latencia y Latencia Media Ciclo de latencia: Secuencia de latencias que se repiten sin que exista colisión. No puede contener latencias prohibidas. Ej.: (1,3)=1,3,1,3,1,3,1,. Ciclo constante: Aquel que sólo tiene una latencia. Ej.: (3)=3,3,3,3,3,3,3,. Latencia media: Suma de las latencias de un ciclo, entre el número de ciclos. Ej.: AL(1,3)=(1+3)/2=2 AL(3)=3/1=3

Mínima Latencia Media (MAL) Objetivo: Encontrar el ciclo de latencia con la mínima latencia media (MAL). Al minimizar la latencia se consigue un mayor rendimiento de la unidad funcional.

Vector de Colisión Sea m la máxima latencia prohibida de una tabla de reserva. Se define Vector de Colisión, al vector C=(C m, C m-1,, C 2, C 1 ), siendo C n igual a 1 si la latencia n es prohibida, y 0 si es permitida. Ej.: Sistema con latencias prohibidas 2,4,5,7 C=(1011010).

Pasos para calcular el ciclo de latencia óptimo Calcular el Vector Inicial de Colisión. Calcular el Diagrama de Estado de la Tabla de Reserva. Sobre el Diagrama, identificar todos los ciclos de latencia que sean greedy (aquellos en los que se elige la menor latencia posible en cada estado). Calcular la latencia media de cada uno de estos ciclos. La menor es la MAL.

Algoritmo para calcular el Diagrama de Estados Se parte del Vector de Colisión Inicial, que es el Estado inicial del Diagrama. Se identifican las latencias permitidas. Cada latencia da lugar a un arco. El estado destino de cada arco se calcula mediante la operación lógica: C ( n final = C r actual ) + ( Cinicial ) n C r es el desplazamiento lógico a la derecha de C (n posiciones, siendo n la latencia del arco). + es la operación O-lógica. Si C final da lugar a un nuevo estado, se añade al diagrama y se repite el proceso.

Ejemplo de cálculo de ciclos de latencia Latencias prohibidas: 1, 3, 4, 5 Latencias permitidas: 2, 6+ Vector de colisión inicial: C=(1,1,1,0,1)

Ejemplo de cálculo de ciclos de latencia 6+ 11101 Toda latencia mayor que C m es siempre permitida, y genera un arco hacia el estado inicial

Ejemplo de cálculo de ciclos de latencia 6+ 11101 2 11111 Latencia 2: C final = (00111) + (11101) = (11111)

Ejemplo de cálculo de ciclos de latencia 6+ 11101 2 6+ 11111 Desde (11111) no hay latencias permitidas, excepto 6+, que retorna al estado inicial. Todos los estados han sido explorados: Diagrama de Estados final.

Ejemplo de cálculo de ciclos de latencia 6+ 11101 2 6+ 11111 Ciclos de latencia: Desde (11101): (6): No greedy; (2,6): Greedy Desde (11111): (6,2): Greedy. Igual que (2,6) Único ciclo greedy: (2,6) AL(2,6)=4 MAL

Ejemplo de cálculo de ciclos de latencia Lat 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 F1 1 1 1 2 2 2 3 3 3 4 F2 1 1 2 2 3 3 4 4 F3 1 1 2 2 3 3 6+ 11101 6 6 6 2 6+ 11111 Planificación 1: Latencias ias= = <6, < 6, 6, 6, 6,..> Ciclo de latencias= = (6)( AL = 6 6+ Lat 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 F1 1 2 1 1 2 2 3 4 3 3 4 4 5 6 5 F2 1 1 2 2 3 3 4 4 5 5 6 6 F3 1 2 1 2 3 4 3 4 5 2 6 2 6 2 11101 2 6+ 11111 Planificación 2: (Greedy( Greedy) Latencias ias= = <2, < 6, 6 2, 6, 2, 6,..> Ciclo de latencias = (2,( 6) 6 AL = (2+6)/2 = 4 =MAL

Es este el mejor rendimiento alcanzable? La mínima latencia media (MAL) asociada al mejor ciclo greedy es óptima para la tabla de reserva inicial. Sin embargo, puede no ser óptima para el sistema. Solución: Calcular otra tabla de reserva para el mismo sistema que derive en una mejor latencia media. En general, MAL tiene como: límite inferior el máximo número de marcas en cualquier fila de la tabla de reserva límite superior la latencia media del mejor ciclo greedy.

Modificación de la Tabla de Reserva output input S1 S2 S3 1 2 3 4 5 S1 S2 S3 Vector de Colisión Inicial 1011

Modificación de la Tabla de Reserva 5+ 1011 3 Ciclo greedy: (3) MAL=3 Es posible mejorarlo? El número máximo de marcas en una fila de la tabla de reservas es 2. Se puede alcanzar MAL=2 modificando la tabla?

Modificación de la Tabla de Reserva output D1 input S1 S2 S3 D2 S1 S2 S3 1 2 3 4 D1 5 6 7 Vector de Colisión Inicial D2 100010

Modificación de la Tabla de Reserva 4, 7+ 5 100011 5 3 4, 7+ 5 100010 3 100110 1 4, 7+ 4 1 7+ 110011 3 Ciclo greedy: (1,3) MAL=2 Introduciendo retrasos en el sistema se ha modificado la tabla de reserva, y se ha conseguido un ciclo mejor. Contradictorio?

Métricas de la segmentación no lineal (I) Throughput: Número de tareas iniciadas por ciclo de reloj. Depende de la latencia: H(3) = 1/3 x1 - - x2 - - x3. H(1,3) = 2/4 = 1/2 x1x2 - - x3x4 - - x5.

Métricas de la segmentación no lineal (II) Eficiencia: % de utilización de las etapas en estado estacionario (tras las inicialización). 1 2 3 4 5 6 7 8 8 9 10 11 12 13 14 15 16 17 18 19 20 21 S1 1 2 1 3 2 E(3) 3 = 2 6/9 2 = 466.7% 4 3 3 5 5 4 4 6 6 S2 1 1 2 2 3 3 3 4 4 5 5 S3 1 1 2 2 2 3 3 4 4 5 5 Estacionario 1 2 3 4 5 6 7 8 9 10 11 11 12 13 14 15 16 17 18 19 20 21 S1 1 2 3 4 1 2 5 6 3 4 4 3 3 5 5 4 4 6 6 S2 1 2 1 2 3 4 3 4 5 6 E(1,3) 3 = 12/12 4 = 4100% 5 5 S3 1 2 1 2 3 4 3 4 5 3 4 4 5 5 Estacionario