Procesadores superescalares

Slides:



Advertisements
Similar presentations
ALGORITMOS.
Advertisements

RECTAS EN EL ESPACIO. Algebra lineal Rectas en el espacio.
METODOLOGÍA DE LA INVESTIGACIÓN CURSO: DESARROLLO DE COMPETENCIAS CURSO HUMANISTA 2009.
Conexión Total Red Educativa Nacional Resultados Gestión 2009 Marzo 02 de 2010.
Definición La resolución de problemas ayuda a reducir o eliminar los pensamientos negativos que llevan a la persona a creerse incapaz de manejar una decisión,
INSTRUCCIONES PARA INGRESAR A LA PLATAFORMA CAPACITACIÓN - 01.
MÉTODO DE GAUSS SISTEMAS DE ECUACIONES LINEALES Tema 3.6 * 1º BCS.
Unidad 1: ECUACIONES DIFERENCIALES DE PRIMER ORDEN
Probabilidad Profr. Eliud Quintero Rodríguez.
Guía del Auxiliar de Conversación Presentaciones y recursos
Ecuaciones diferenciales
APLICACIÓN DE LAS PILAS: BACKTRACKING
Algoritmos y programas
CALIDAD La calidad es una propiedad inherente de cualquier cosa que permite que esta sea comparada con cualquier otra de su misma especie.
DNS POR: YOINER ALEJANDRO BETANCUR DURANGO JHON JAIME CIRO MOSQUERA ADMON. DE REDES DE COMPUTADORES SENA “CTMA” MEDELLIN 2011.
(UN MODELO PARA CREAR EQUIPOS DE ALTO RENDIMIENTO)
FRACCIONES.
LAS FRACCIONES.
FRACCIONES EQUIVALENTES operador de una cantidad
Ejercicios clase anterior
Números Decimales 1º ESO Colegio Divina Pastora (Toledo)
Fracciones y su Clasificación
SOCIEDADES DE INVERSIÓN PROYECTO DE SOCIEDAD DE INVERSION A LA MEDIDA.
Los Números Racionales
Roger Fabián Urióstegui Ejercicios. Pagina 18 Ejercicios. 1.-Organice los números 15,7,3,32,6,18, en orden: a)De menor a mayor: 3,6,7,15,18,32 b)De mayor.
ANALISIS DE VENTAS.
Para otros usos de este término, véase Moda (desambiguación).
Fundamentos de Programación Netbeans – If –Else - Switch
TEMA 5. La economía monetaria
FUNDAMENTOS DE ELECTRONICA DIGITAL I
CAPÍTULO 3 DISEÑO DE CIRCUITOS IMPRESOS. GENERALIDADES PARA UN DISEÑO DE CIRCUITO IMPRESO Para todo diseño de un circuito impreso, lo primero y más importante.
Sólo es digno de ser el seguidor de una Religión, aquel que al recordar el daño que otro le ha hecho, no buscará de hacerle ningún mal. G. I. Gurdjieff.
Russ Shafer-Landau El punto de partida para estudio de la ética es para algunos un problema, pues se piensa que no hay un punto apropiado donde apalancar.
Ejercicios de Física en la Kinesiología
SEGURIDAD Y SALUD EN EL TRABAJO SUBPROGRAMA DE SEGURIDAD INDUSTRIAL PROGRAMA DE PROTECCION CONTRA CAIDAS RESPONSABILIDADES.
“Fructificar la razón: trascender nuestra cultura” U NIVERSIDAD DE Q UINTANA R OO Reunión de Equipo Directivo 1 “Fructificar la razón: trascender nuestra.
Geometría de Proporción Prof: Isaías Correa M.. Geometría de Proporción I.
PLAN DE MEJORA PRÁCTICA EMPRESARIAL
La Importancia de la Intranet en el modernismo empresarial.
AUDITORIA INFORMATICA Unida I Informática Empresarial
Si mueres antes que yo, pregunta si puedes
La gestión de los recursos humanos es consubstancial al elemento de integración principal de la sociedad actual: la organización, están conformadas por.
Si mueres antes que yo, pregunta si puedes llevar contigo a un amigo. Si vives cien días, yo quiero vivir 100 menos uno, para no tener que vivir sin tí.
@ Angel Prieto BenitoApuntes 2º Bachillerato C.S.1 MATEMÁTICAS A. CS II TEMA 1 Sistemas de ecuaciones lineales.
Constante de Velocidad de Reacción knknknkn. Velocidad o rapidez de reacción Es el número de moles por unidad de volumen de una sustancia que reaccionan.
Introducción a programación web Martin Esses. Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada.
Introducción Programación Lineal (PL) Muchas personas clasifican el desarrollo de La Programación Lineal (PL) entre los avances científicos mas importantes.
TELEFONÍA IP. DIRECCIÓN GENERAL DE TECNOLOGÍAS DE LA INFORMACIÓN TELEFONÍA IP.
El gerundio Nuevas Vistas ¿Que es el gerundio? El gerundio es otra forma del verbo que no especifica la persona, el numero, el tiempo, el modo.
Instituciones educativas Brigadas de Amor Cristiano Nombre del trabajo: el compañerismo Catedrático: Boris Aparicio Asignatura: Computación Alumnas: Alejandra.
UNIDAD 5 PRODUCTOS Y COCIENTES NOTABLES. MAPA DE NAVEGACIÓN Exponentes y Radicales Índice Objetivo General Ejemplos Objetivo 1 Objetivo 2 Objetivo 3 Objetivo.
SUMADEENTEROS. Jorge recibe como regalo de cumpleaños dinero por parte de algunos parientes. Su abuela le da un sobre con $15, su padrino le regala $50.
¿SOY UN EMPRENDEDOR? EMPRENDIMIENTO GRADOS 8VO & 9NO.
El Contratante debe ingresar a la pagina de Coomeva Ingresar al link de Oficina Virtual de Usuarios Coomeva medicina.
MAXIMO COMUN DIVISOR. Es el mayor de los divisores comunes a dos o mas números. Un número entero d se llama máximo común divisor (MCD) de los números.
ECUACIONES Y POTENCIAS 2do trimestre. Ecuaciones Para organizar mejor el procedimiento de resolver una ecuación vamos a definir dos operaciones: Reducir.
Capìtulo 19 La Maximizaciòn del Beneficio. Beneficio Econòmico u Una empresa emplea los factores j = 1…,m para producir los bienes i = 1,…n. u Los volùmenes.
ENERGÍA CONCEPTOS BÁSICOS. ENERGÍA La energía es una magnitud física que asociamos con la capacidad que tiene los cuerpos para producir trabajo mecánico,
 1. Pasado 1. Pasado        
MAPAS DE PROGRESO DEL APRENDIZAJE: LA PROPUESTA NACIONAL DE ESTÁNDARES DE APRENDIZAJE.
SISTEMAS DE NUMERACIÓN Facultad de Ingeniería.  Conjunto de símbolos y reglas que permiten representar datos numéricos. Sistema de numeración posicional:
Estadística Administrativa II USAP 1. Números índice Número índice es una herramienta muy utilizada en Macroeconomía que permite conocer el comportamiento.
Blueberry Field Day Diseño y Manejo de Sistemas de Fertirriego en Arándanos.
 Son inevitables.  Siempre va a existir diferencias de opiniones entre los miembros del equipo.  Es un error tratar de suprimirlos.  Proporcionan.
Soluciones o Disoluciones
XXXV COLOQUIO DE INVESTIGACIÓN DE LA FES IZTACALA 24 y 25 de AGOSTO 2016 INSTRUCTIVO DE REGISTRO PARA: CARTEL.
Organización del Computador 1 Lógica Digital 2 Circuitos y memorias.
Intervalos de Confianza Inferencia Estadística. Intervalos de Confianza Métodos de estimación: Estimación puntual: utilización de datos de la muestra.
Matemática Financiera Matemática Financiera Ciencias Administrativas Ciencias Administrativas Interés Simple.
Análisis, Diseño e Implementación de Bases de Datos Análisis, Diseño e Implementación de Bases de Datos Conceptos Generales.
Presentation transcript:

Procesadores superescalares Introducción

Introducción El término “superescalar” (superscalar) fue acuñado a fines de los 80s. Todas las CPUs modernas son superescalares. Es un desarrollo de la arquitectura con pipeline. Las etapas del pipeline se replican y en cada ciclo de reloj se emiten varias instrucciones. Las instrucciones pueden terminar en desorden. Las instrucciones pueden emitirse en desorden. Se generan nuevos peligros por dependencias. Universidad de Sonora Arquitectura de Computadoras

Introducción Al emitir varias instrucciones por ciclo el CPI (ciclos por instrucción) es menor a 1. Una CPU de 6 GHz que emite 4 instrucciones a la vez puede ejecutar hasta 24 mil millones de instrucciones por segundo para un CPI de 0.25. En vez de CPI se usa IPC (instrucciones por ciclo de reloj) = 1 / CPI. Un CPI de 0.25 es igual a un IPC de 4. Universidad de Sonora Arquitectura de Computadoras

Historia El primer paso hacia una arquitectura superescalar fue agregar otra unidad de ejecución al pipeline. Supercomputadoras como Control Data 6600 y 7600, Cray-1 y algunas mainframes de IBM. Universidad de Sonora Arquitectura de Computadoras

Historia El siguiente paso es duplicar el pipeline. Universidad de Sonora Arquitectura de Computadoras

Definiciones Grado. Número de instrucciones que el CPU intenta ejecutar (no hay garantía que lo pueda lograr). Scheduling. En que orden se ejecutan las instrucciones. Hay dos opciones: Estático, cuando el hardware no tiene control. Dinámico, cuando el hardware puede reordenar. Emisión (issue). Una instrucción se emite cuando sus operandos son obtenidos (fetched). Universidad de Sonora Arquitectura de Computadoras

Definiciones Ejecución. Una instrucción se ejecuta, después de ser emitida, cuando sus operandos están listos. Hay dos opciones: En orden del programa. Fuera de orden. Especulación. Se intenta adivinar los brincos y el resultado de algunas otras instrucciones como por ejemplo que un lw/sw consecutivos no se refieren a la misma dirección. Universidad de Sonora Arquitectura de Computadoras

Definiciones Compromiso (commit). Una instrucción se compromete cuando es seguro que se va a completar. En MIPS, la instrucción se compromete cuando llega al final de la etapa MEM. Escribir (write back). Después de ejecutarse, la instrucción escribe el resultado. Retiro. Después de escribir, la instrucción es retirada del pipeline. También se dice que la instrucción ha sido completada. Universidad de Sonora Arquitectura de Computadoras

Clasificación Superescalares estáticos. Superescalares dinámicos. El scheduling es estático. Las instrucciones se emiten y ejecutan en orden. La emisión es dinámica. El hardware puede decidir no emitir todas las instrucciones que puede si hay dependencias. Superescalares dinámicos. Las instrucciones se emiten en orden, pero se ejecutan fuera de orden (scheduling dinámico). Universidad de Sonora Arquitectura de Computadoras

Clasificación Superescalares dinámicos con especulación. Ejecución fuera de orden (scheduling dinámico). Capacidad para especular brincos. Universidad de Sonora Arquitectura de Computadoras

Clasificación Universidad de Sonora Arquitectura de Computadoras

Peligros (hazards) Los superescalares tienen tres clases de peligros: estructurales, de datos y de control. Hay tres peligros de datos: RAW (read-after-write), WAW (write-after-write) y WAR (write-after-read). Los peligros de datos se generan por dependencias entre instrucciones. Además de la dependencia de datos, también conocida como dependencia de datos verdadera que puede producir un peligro RAW, hay dos dependencias de nombre. Universidad de Sonora Arquitectura de Computadoras

Dependencias de nombre Dependencias de salida. Dos instrucciones guardan sus resultados en la misma parte. Si son ejecutadas fuera de orden, la primera instrucción sobrescribe el resultado de la segunda. Puede producir un peligro WAW. Ejemplo: 1. add $t0, $t1, $t2 2. lw $s0, 4($t0) 3. add $t0, $t2, $t3 Universidad de Sonora Arquitectura de Computadoras

Dependencias de nombre Hay una dependencia de salida entre 1 y 3. El orden de ejecución 3-2-1 genera un peligro WAW. Universidad de Sonora Arquitectura de Computadoras

Dependencias de nombre Antidependencias. La primera instrucción necesita un valor que la segunda instrucción actualiza. Si son ejecutadas fuera de orden, la primera instrucción lee el valor actualizado. Puede producir un peligro WAR (write-after-read). Ejemplo: 1. add $t4, $t0, 1 2. move $t0, $a0 La instrucción 2 no puede correr antes de la 1. Universidad de Sonora Arquitectura de Computadoras

Dependencias de nombre Dos soluciones básicas: Renombrar los registros. Usar un buffer para reordenar (reorder buffer o ROB). Universidad de Sonora Arquitectura de Computadoras

Renombrar registros El hardware mantiene una lista grande de registros. Los registros son invisibles al programador y no necesariamente son registros físicos. Se asignan dinámicamente según se necesitan. Puede haber varias versiones de un registro físico al mismo tiempo. Universidad de Sonora Arquitectura de Computadoras

Renombrar registros Ejemplo: 1. mul r2, r2, r3 ; r2 = r2 * r3 2. add r4, r2, 1 ; r4 = r2 + 1 3. add r2, r3, 1 ; r2 = r3 + 1 4. div r5, r2, r4 ; r5 = r2 / r4 Hay una dependencia de salida entre 1 y 3. Hay una antidependencia entre 2 y 3. Hay una dependencia de datos entre 3 y 4. La instrucción 3 no puede comenzar hasta que la 1 haya terminado y la 2 haya comenzado. Universidad de Sonora Arquitectura de Computadoras

Renombrar registros Los registros se pueden etiquetar: 1. mul r2_b, r2_a, r3_a ; r2 = r2 * r3 2. add r4_b, r2_b, 1 ; r4 = r2 + 1 3. add r2_c, r3_a, 1 ; r2 = r3 + 1 4. div r5_b, r2_c, r4_b ; r5 = r2 / r4 Ahora la instrucción 3 puede comenzar porque usa un registro r2 “diferente” que 1 y 2. Las etiquetas funcionan como historia de cada registro: r2_c es la versión mas nueva de r2, mientras que r2_a es la versión mas vieja. Universidad de Sonora Arquitectura de Computadoras

ROB Provee registros adicionales. Mantiene el resultado de una instrucción desde que termina hasta que se compromete. Cada entrada en el ROB tiene 4 campos: Tipo de instrucción: brinco, sw u operación de registro. Registro destino si es sw u operación de registro. Valor de la instrucción. Indicador si la instrucción terminó y el valor es válido. Las entradas están ordenados en cola (FIFO). Universidad de Sonora Arquitectura de Computadoras

ROB Universidad de Sonora Arquitectura de Computadoras

ROB Si una instrucción necesita el valor de un registro, primero debe buscarlo en el ROB, de atrás hacia delante, y si no lo encuentra entonces lo toma del registro físico. Universidad de Sonora Arquitectura de Computadoras

Conclusión Los procesadores superescalares son una extensión de la arquitectura pipeline simple que emiten y pueden ejecutar varias instrucciones a la vez. Producen mas peligros y requieren soluciones mas sofisticadas que el pipeline simple. Pueden alcanzar CPIs menores a 1. Universidad de Sonora Arquitectura de Computadoras