Arquitectura Avanzada Profesor: Juan José Muñoz Bussi Alumno: Macarena Ramallo 2° Cuatrimestre - 2011.

Slides:



Advertisements
Presentaciones similares
Arquitectura RISC & CISC y DSP
Advertisements

Equipo #3 Unidad III: ALU Efraín Corral Eduardo Castillo Elías Alarcón
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
Tema I. LAS FRACCIONES 3º de la ESO Sara Muñoz.1ºBACH Ciencias.
Arquitectura de Computadores I
Arquitectura de Computadores I PIPELINING. Pipelining Un pipeline es una serie de etapas, en donde en cada etapa se realiza una porción de una tarea.
El Microprocesador.
PROCESADORES SUPERESCALARES
La maquina de Turing La máquina de Turing es una caja negra (tan simple como una máquina de escribir y tan compleja como un ser humano) capaz no sólo de.
Introducción a los Algoritmos
Microprocesadores.
Aproximaciones y errores de redondeo
LA UNIDAD ARITMÉTICA Y LÓGICA
El procesador: la ruta de datos y el control (II Parte)
Unidad aritmético-lógica
Dirección de la Productividad
Circuitos Combinacionales Comunes
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-
Arquitectura del Computador
DPTO. MATEMÁTICAS - I.E.S. PABLO SERRANO
TRADUCTOR DE UN PROGRAMA
EXPONENTES Y RADICALES
Ventajas de la señal digital Inconvenientes de la señal digital
circuitos vlsi TEMA 4. LÓGICA SECUENCIAL CMOS Dr. José Fco. López
Representación de Números en un Registro Binario
Introducción a la Ingeniería en Sistemas
EL MICROPROCESADOR.
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.
REGISTROS DE DESPLAZAMIENTO
Ing. Karen Torrealba de Oblitas
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.
Procesador Introducción - Funcionamiento - Memoria caché
Sistemas decimal, binario, octal y hexadecimal
Conceptos Arquitectónicos del computador
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
TEMA 2: Organización de computadores
M. en C. José Andrés Vázquez Flores
Radicales y sus operaciones
MICROCONTROLADORES NOCIONES BÁSICAS COMPUTO II. ¿QUÉ ES UN MICROCONTROLADOR? MICROCONTROLADOR = MICROPROCESADOR + MEMORIA + PERIFERICOS.
Aritmética PARA COMPUTADORAS
Unidad aritmético-lógica
Problema de inclusión en una Curva Digital Por Orellana Muñoz, Alfonso Paz Vicente, Rafael Pérez Medina, Gerardo Rodríguez Naranjo.
SUBCONJUNTOS DE LOS NÚMEROS CARDINALES
Evolución del procesador
Organización del Computador I Verano Aritmética (3 de 3) Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
LA UNIDAD ARITMÉTICA Y LÓGICA
DIAGRAMA DE FLECHAS O RUTA CRITICA
Sánchez Manjarrez Silvana Ing. Daniel Domínguez C. México, D.F. a 13 de septiembre del 2006 Arquitectura de Computadoras Arquitecturas CISC Y RISC Campus.
Rendimiento de la CPU y sus factores
Utiliza un reloj para sincronizar la entrada y salida de señales en un chip de memoria. Ahorra tiempo al ejecutar los comandos y al transmitir los datos.
HARDWARE , SOFTWARE Y AUTOMATIZACION
ARQUICTECTURA DE SERVIDORES
El microprocesador.
TEMA II FUNDAMENTOS DEL DISENO DE COMPUTADORES
LOGO CPU. COMPANY LOGO DEFINICIÓNHISTORIA CPU DE TRANSISTORE S Y DE CIRCUITOS INTEGRADOS DISCRETOS MICROPROCES ADORES OPERACIÓN DEL CPU.
TEMA 2: POTENCIAS DE BASE ENTERA
Modos de direccionamiento
CIFRAS SIGNIFICATIVAS
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
PROCESADORES.
UNIDAD 1. ORGANIZACIÓN BÁSICA Y DISEÑO DEL COMPUTADOR
UNIDAD 01. EL MICROPROCESADOR
Curso: Fundamentos de Computación
UNIDAD 2. DISEÑO LÓGICO DE PROCESADORES: UNIDAD ARITMÉTICO-LÓGICA Ing. Elizabeth Guerrero V.
Máximo nivel de producción que puede ofrecer una estructura económica determinada: desde una nación hasta una empresa, una máquina o una persona. La capacidad.
El microprocesador y su arquitectura
Arquitectura de Computadoras (Taller) Semestre II de 2008.
1 Los números reales Los números racionales Los números irracionales
Transcripción de la presentación:

Arquitectura Avanzada Profesor: Juan José Muñoz Bussi Alumno: Macarena Ramallo 2° Cuatrimestre

PROCESADORES SEGMENTADOS INTRODUCCIÓN: Los procesadores segmentados sirven para mejorar el rendimiento sin necesidad de duplicar excesivamente el hardware. Se usaron por primera vez en los años 60 para los grandes sistemas(mainframes) de altas prestaciones, y fueron muy importantes en los años 80 para el enfoque RISC del diseño de computadores (la mayoría de técnicas RISC se relacionan con el objetivo de conseguir una buena segmentación). El Intel i486 fue la primera implementación segmentada de la arquitectura IA32.La segmentación se utiliza mucho actualmente para el desarrollo de juegos de instrucciones del procesador. Actualmente, la tendencia es lograr segmentaciones más profundas para obtener frecuencias de reloj muy altas. Es un método muy eficaz para obtener un mayor rendimiento. Existen 2 tipos de segmentación: la segmentación aritmética y la segmentación de instrucciones. Este documento se centra principalmente en la segunda, aunque se verá un ejemplo de la primera.

DISEÑO SEGMENTADO: Motivaciones: La principal motivación es la de incrementar el rendimiento (o ancho de banda) sin necesidad de muchohardware. Este rendimiento se mide en tareas realizadas por unidad de tiempo. Para un sistema de unatarea por unidad de tiempo, el rendimiento sería R=1/D, donde D es la latencia de la tarea. Si haymuchas tareas, se puede incrementar el rendimiento si segmentamos (aunque puede aumentarligeramente D).La segmentación consiste en dividir el sistema original en etapas de segmentación e incrementar elbuffer entre dichas etapas. Así pues, se divide el cálculo original en k subcálculos, siendo k el número deetapas. Cada tarea puede comenzar una vez que la anterior haya finalizado su primera etapa. Esto es, sepodría iniciar una tarea no cada D unidades de tiempo, sino cada D/k unidades de tiempo; solapando elprocesamiento de hasta k cálculos.Estamos suponiendo que los buffers no implican una demora adicional, pero en la realidad sí que la hay.Si no la hubiera y el número de tareas fuese muy grande, el rendimiento sería aproximadamente k vecesel del sistema no segmentado.

EJEMPLO DE ARITMÉTICA DE SEGMENTACIÓN: Existen dos tipos de segmentación: aritmética y de instrucciones. Ahora vamos a ver un ejemplo de laaritmética de segmentación, que nos servirá para comprobar su eficacia sin necesidad de profundizar enproblemas complejos del diseño de segmentación de instrucciones.Multiplicación de coma flotante:Utilizaremos como ejemplo el diseño de un multiplicador de coma flotante segmentado. Supone unformato de coma flotante de 64 bits que utiliza la notación 128 en exceso para el exponente e (8 bits) yla notación de fracción de signo magnitud con el bit oculto para la mantisa m (57 bits, bit ocultoincluido).Este es el algoritmo de multiplicación para este diseño:1. Comprobar si algún operando es 0. En tal caso, el resultado es automáticamente 0.2. Agregar las dos características (patrones físicos de bit de los exponentes) y corregir eldesplazamiento de 128 en exceso (e1 + (e2 128)).3. Multiplicar las mantisas m1 y m2 de coma fija.4. Normalizar el producto anterior (desplazar a la izquierda un bit y disminuir el exponente en 1(la representación normalizada de la mantisa no tiene ceros iniciales).5. Redondear el resultado sumando 1 al primer bit de guarda (inmediatamente a la derecha delbit menos significativo de la mantisa) (redondear por exceso). En caso de desbordamiento de lamantisa, desplazar hacia la derecha un bit e incrementar el exponente en 1 (para mantener larepresentación normalizada de la mantisa).

SEGMENTACIÓN IDEAL: El caso ideal de segmentación sería incrementar k veces el rendimiento. En el anterior ejemplo,teniendo 3 etapas, solamente se logra un aumento del 2.3. Esto es porque la segmentación ideal se basaen 3 supuestos ideales.Subcálculos uniformes:Este supuesto indica que un cálculo puede dividirse uniformemente en subcálculos de latenciauniforme. Es decir, si T es el periodo de sincronización de un sistema no segmentado, entonces el delsegmentado sería T/k. El aumento de k veces se lograría por la reducción de k veces de este periodo.Pero en la realidad esto sería muy complicado. En el anterior ejemplo se veía que la latencia de 400 nsse dividía en 125, 150 y 125 ns (no es uniforme). Como el periodo de sincronización lo determinan laslatencias más altas, las bajas suponen una fragmentación interna (en ese ejemplo, la 1ª y la 3ª tienenuna ineficacia de 25 ns cada uno).

SEGMENTACIÓN DE INSTRUCCIONES: Los 3 puntos anteriores son solamente supuestos. En la segmentación aritmética, la realidad puedeestar cercana a esos supuestos; pero en la segmentación de instrucciones no. Esto supone un retointeresante.Diseño de la segmentación de instrucciones:Los objetivos de la segmentación de instrucciones son los tres puntos anteriormente comentados. Elcálculo a realizar es el procesamiento de una instrucción. El ciclo de instrucción es la latencia necesariapara procesarla y la necesaria para cada etapa de segmentación se denomina ciclo de máquina. El ciclode instrucción es un concepto lógico que se define en la arquitectura del sistema, mientras que el demáquina es físico que se especifica en la implementación del sistema (implica la sincronización de loselementos de almacenamiento en circuitos digitales lógicos).Tomemos el ejemplo del multiplicador de coma flotante. Solamente tiene una instrucción, la cual sepuede dividir en las siguientes etapas:1. Generación parcial del producto (125 ns).2. Reducción parcial del producto (150 ns).3. Reducción final – Normalización – Redondeo (55 – 20 – 50 ns) (juntamos los 3 para simplificar).En la página 52 se pueden observar los esquemas del ciclo de instrucción y los ciclos de máquina. Elsegundo esquema es una implementación de la arquitectura del primer esquema.

Segmentación

La segmentación es un método por el cual se consigue aumentar el rendimiento de algunos sistemas electrónicos digitales. Es aplicado, sobre todo, en microprocesadores. El nombre viene de que para impulsar el gas en un oleoducto a la máxima velocidad es necesario dividir el oleoducto en tramos y colocar una bomba que dé un nuevo impulse al gas. El símil con la programación existe en que los cálculos deben ser registrados o sincronizados con el reloj cada cierto tiempo para que la ruta crítica (tramo con más carga o retardo computacional entre dos registros de reloj) se reduzca. La ruta crítica es en realidad la frecuencia máxima de trabajo alcanzada por el conjunto. A mayor ruta crítica (tiempo o retraso entre registros) menor es la frecuencia máxima de trabajo y a menor ruta crítica mayor frecuencia de trabajo. La una es la inversa de la otra. Repartir o segmentar equitativamente el cálculo hace que esa frecuencia sea la óptima a costa de más área para el almacenamiento o registro de los datos intervinientes y de un retraso o latencia (en ciclos de reloj/tiempo) en la salida del resultado equivalente al número de segmentaciones o registros realizados. La ventaja primordial de este sistema es que, tal y como se muestra en la imagen, una vez el pipe está lleno, es decir, después de una latencia de cuatro en la imagen, los resultados de cada comando vienen uno tras otro cada flanco de reloj y sin latencia extra por estar encadenados dentro del mismo pipe. Todo esto habiendo maximizado la frecuencia máxima de trabajo.