PROCESADORES SUPERESCALARES Y VLIW

Slides:



Advertisements
Presentaciones similares
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities scuola.
Advertisements

SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
1 Datos sobre webloggers Datos extraidos de la encuesta a webloggers disponibles en la web de los autores.
Revisión Nº:Descripción:Fecha: 00Elaboración de la documentación30/06/11 Copia Controlada :Nº: F /REV. 00 ACCESO A LA WEB DEL CPR DE TARAZONA Cód.:
Procesadores Superescalares
DATSI, FI, UPM José M. Peña Programación en C DATSI, FI, UPM José M. Peña Programación en C.
Los números del 0 al cero uno dos tres cuatro cinco 6 7 8
1 LA UTILIZACION DE LAS TIC EN LAS MICROEMPRESAS GALLEGAS. AÑO mayo 2005.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN EL COMERCIO GALLEGO (Resumen COMERCIO AL DETALLE) Noviembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS (MICROEMPRESAS, resultados provisionales) 29 de julio de 2004.
AYUDA A LA FUNCIÓN DOCENTE Internet
TEMA 5.- 1ª PARTE. EL A.O. Y SUS APLICACIONES
TEMA 2 MÚLTIPLOS Y DIVISORES
02- Plan Organización Docente v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
02- PLAN DOCENTE Febrero 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
01- OFERTA FORMATIVA v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
Respuestas Buscando a Nemo.
ABECEDARIO FIGURAS GEOMÉTRICAS NÚMERO
Integrantes: Andres Marin Castelblanco Karem Moreno Pacheco Alexandra Ardila.
TEMA 3 ILP, Panificación dinámica, Predicción de saltos, Especulación
Teoría de Sistemas Operativos Memoria
GESTION DE DISPOSITIVOS
Los Objetos de la Clase Escriban la palabra (the word) en español para los objetos de la clase (#1-20).
CLASE 3 SOFTWARE DEL MICROPROCESADOR
1 XML Extensible Markup Language HTML HyperText Markup Language normas06_01.xml.
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities alimentazione.
C ONFIGURACIÓN C UENTAS D E C ORREO ZTE N281. C ONFIGURACIÓN C UENTAS D E C ORREO ZTE N281 1-Ingrese a menú 2-Ingrese a Mensajes 3-Ingrese a Correo 4-Seleccione.
1. Apoyo exterior sobre ala inferior de viga de acero
Banco Río, siempre pensando en su comodidad, ha diseñado el Cajero Auto Bank, para servirlo cómodamente a su auto, así, apreciado cliente, tiene la posibilidad.
-17 Expectativas sobre la situación económica (Europa) Septiembre 2013 Indicador > +20 Indicador 0 a +20 Indicador 0 a -20 Indicador < -20 Total Unión.
Autodesk Civil 3D 2007 Essentials
Phone2Wave-Server Manual de Operación.
Arboleda Campestre Diagonal. 21B con 17 Avenida Caneyes
PROCESADORES SUPERESCALARES
EL OSO APRENDIZ Y SUS AMIGOS
1 SEGUNDO FORO REGIONAL HERMOSILLO, SON Sistema Nacional de Transparencia Fiscalización y Rendición de Cuentas:
50 principios 1. Los clientes asumen el mando.
Proyecto para Centros que trabajan una vez por semana.
Ecuaciones Cuadráticas
Foto N° 01: Vista de ubicación de perforación TB-1 Foto N° 02: Caja de Muestras N° 1 de la perforación TB-1, ubicada en la Cárcava 3.
Hazards.
ENTRADA / SALIDA 1.
Arquitectura de Computadores
El procesador: la ruta de datos y el control (II Parte)
SEGMENTACIÓN DEL CAUCE
INTRODUCCIÓN A LA PROGRAMACIÓN
COMPONENTE LEGAL COMPONENTE ADMINISTRATIVO INSTRUMENTO DE SUPERVISIÓN PARA EL SERVICIO INTERVENCIONES DE APOYO Hoja de registro y calificaciónF025.PR02.PZ1102/01/2007.
JORNADA 1 DEL 24 DE MARZO AL 30 DE MARZO EQUIPO 01 VS EQUIPO 02 EQUIPO 03 VS EQUIPO 06 EQUIPO 05 VS EQUIPO 10 EQUIPO 07 DESCANSA EQUIPO 08 VS EQUIPO 13.
CULENDARIO 2007 Para los Patanes.
EMISION MULTIPLE DE INSTRUCCIONES
BEATRIZ LAFONT VILLODRE
JORNADA 1 DEL 24 DE MARZO AL 30 DE MARZO EQUIPO 01 VS EQUIPO 07 EQUIPO 03 VS EQUIPO 06 EQUIPO 04 VS EQUIPO 05 EQUIPO 02 VS EQUIPO 08.
Módulo 2: Condiciones Generales de Trabajo
CURSO MULTIHAZ HYPACK ®
MSc. Lucía Osuna Wendehake
Calendario 2009 “Imágenes variadas” Venezuela Elaborado por: MSc. Lucía Osuna Wendehake psicopedagogiaconlucia.com Enero 2009.
Tema 3. Optimización de Código
Teoría de Sistemas Operativos
Estructuras de control
Manual de Procedimientos Procedimiento de ejecución del programa de
CHAPTER 4 VOCABULARY: PART II
PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES
Segmentación No Lineal
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
Scheduling dinámico Algoritmo de Tomasulo.
Organización de Computadoras
PROCESADORES SUPERESCALARES
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Hiperpipeline Superescalares Arquitectura de Computadoras 2012.
Transcripción de la presentación:

PROCESADORES SUPERESCALARES Y VLIW 1

PROCESADORES SUPERESCALARES Y VLIW Introducción El modelo VLIW El cauce superescalar Superescalar con algoritmo de Tomasulo 2 2

PROCESADORES SUPERESCALARES Y VLIW Introducción 3 3

¿Podemos obtener un CPI inferior a 1? Introducción Las técnicas vistas hasta ahora tienen como objetivo aprovechar al máximo el pipeline de forma que el CPI alcance el valor ideal de 1. ¿Podemos obtener un CPI inferior a 1? Sí, si logramos que todas las etapas del pipeline puedan procesar más de una instrucción por ciclo. Procesadores superescalares y VLIW 4

PARALELISMO A NIVEL DE INSTRUCCIONES (ILP) Introducción PARALELISMO A NIVEL DE INSTRUCCIONES (ILP) Número de instrucciones de un programa que pueden ejecutarse en paralelo (de media). ADD R1,R2,R3 SUB R4,R5,R6 AND R7,R8,R9 Paralelismo de grado 3 ADD R1,R2,R3 SUB R4,R5,R1 AND R7,R8,R4 Paralelismo de grado 1 PARALELISMO A NIVEL DE MÁQUINA (MLP) Número máximo instrucciones que la máquina puede ejecutar en paralelo. A ese número se le llama grado de paralelismo del procesador. Procesadores superescalares y VLIW 5

Los procesadores actuales Introducción Los procesadores actuales Utilizan las técnicas de aceleración vistas anteriormente. Procesan más de una instrucción por ciclo. Procesadores VLIW Procesadores superescalares Veremos dos tipos Procesadores superescalares y VLIW 6

PROCESADORES SUPERESCALARES Y VLIW El modelo VLIW 7 7

VLIW = Very Long Instruction Word El modelo VLIW VLIW = Very Long Instruction Word El compilador empaqueta varias operaciones en una nueva instrucción. Cada campo de la nueva instrucción está “especializado” en una UF determinada. En cada ciclo se emite sólo una de las nuevas instrucciones. El compilador se encarga de empaquetar correctamente las instrucciones evitando los problemas (dependencias, disponibilidad del hardware, etc…) Procesadores superescalares y VLIW 8

El modelo VLIW Compilador Emisión Comportamiento ideal. Inst. 01 Inst. 02 Inst. 03 Inst. 04 Inst. 05 Inst. 06 Inst. 07 Inst. 08 Inst. 09 Inst. 10 Inst. 11 Inst. 12 Inst. 13 Inst. 14 Inst. 15 Inst. 16 Inst. 11 Inst. 14 Inst. 16 Inst. 15 Compilador Inst. 06 Inst. 08 Inst. 10 Inst. 09 Inst. 05 Inst. 07 Inst. 12 Inst. 13 Emisión Inst. 03 Inst. 01 Inst. 02 Inst. 04 UF1 UF2 UF3 UF4 Procesadores superescalares y VLIW 9

El modelo VLIW Compilador Emisión Normalmente no se pueden llenar todos los campos. Inst. 10 Inst. 14 Inst. 11 Inst. 01 Inst. 06 Inst. 12 Inst. 01 Inst. 02 Inst. 03 Inst. 04 Inst. 05 Inst. 06 Inst. 07 Inst. 08 Inst. 09 Inst. 10 Inst. 11 Inst. 12 Inst. 13 Inst. 14 Inst. 15 Inst. 16 Inst. 16 Inst. 15 Compilador Inst. 08 Inst. 09 Inst. 05 Inst. 07 Inst. 13 Emisión Inst. 03 Inst. 02 Inst. 04 UF1 UF2 UF3 UF4 Procesadores superescalares y VLIW 10

El modelo VLIW Ventajas: Hardware más simple ya que el compilador se encarga de un gran número de tareas. Mayor número de unidades funcionales ya que queda libre mucho espacio en el chip. Procesadores superescalares y VLIW 11

Complejidad del compilador al tenerse que ocupar de numerosos asuntos. El modelo VLIW Inconvenientes: Complejidad del compilador al tenerse que ocupar de numerosos asuntos. Dificultad para rellenar todos los campos de las instrucciones. Mayor tamaño del código debido al problema anterior. Incompatibilidad del código de cara a versiones con nuevas distribuciones de las unidades funcionales. Procesadores superescalares y VLIW 12

PROCESADORES SUPERESCALARES Y VLIW El cauce superescalar 13 13

Procesador superescalar: El cauce superescalar Procesador superescalar: El hardware resuelve los problemas en tiempo de ejecución. Se emite un número variable de instrucciones en cada ciclo. El código es compatible. El hardware aumenta su complejidad. Procesadores superescalares y VLIW 14

El cauce superescalar Procesadores superescalares y VLIW 15 UF1 UF2 Inst. 01 Inst. 02 Inst. 03 Inst. 04 Inst. 05 Inst. 06 Inst. 07 Inst. 08 Inst. 09 Inst. 10 Inst. 11 Inst. 12 Inst. 13 Inst. 14 Inst. 15 Inst. 16 UF2 UF4 UF3 Procesadores superescalares y VLIW 15

El cauce superescalar El cauce se estructura en varias etapas que presentan distintas variantes y que vamos a detallar. Procesadores superescalares y VLIW 16

Buffer de instrucciones El cauce superescalar Etapa de extracción Se encarga de la captación de instrucciones desde la caché Tiene que ser capaz de leer varias instrucciones por ciclo. Las instrucciones leídas se almacenan en un buffer. Este proceso se realiza en orden. Buffer de instrucciones Caché (I) L1 Extracción Procesadores superescalares y VLIW 17

Etapa de decodificación El cauce superescalar Etapa de decodificación Extrae instrucciones del buffer y las decodifica. Debe decodificar varias instrucciones por ciclo. Las instrucciones decodificadas se almacenan en la ventana de instrucciones. Este proceso se realiza en orden. Buffer de instrucciones Ventana de instrucciones Decodificación Procesadores superescalares y VLIW 18

Etapa de decodificación El cauce superescalar Etapa de decodificación Esta etapa se vuelve demasiado costosa ya que hay que realizar numerosas tareas (buscar operandos, examinar dependencias, …) y para varias instrucciones. En un ciclo no hay tiempo. Como aumentar el ciclo de reloj sería un error, lo que se hace es dividir la etapa en dos: Buffer de instrucciones Ventana de instrucciones Decodificación Decodificación  Decodifica y envía a la ventana de instrucciones. Emisión  Se encarga del resto. Procesadores superescalares y VLIW 19

Etapa de pre-decodificación El cauce superescalar Etapa de pre-decodificación Se puede facilitar el trabajo de la etapa ID haciendo una decodificación previa entre L2 y L1. A cada instrucción, o conjunto de ellas, se añaden algunos bits (típicamente de 4 a 7) para notificar ciertas características. El aumento en la longitud de las instrucciones implica un aumento en el ancho de banda de los buses. Caché (I) L1 Extracción Caché L2 Pre-decodificación Procesadores superescalares y VLIW 20

Ancho de banda necesario El cauce superescalar Etapa de pre-decodificación EJEMPLO: Un procesador capta 4 instrucciones de 32 bits por ciclo, a cada una de las cuales la etapa de pre-decodificación añade 4 bits. Caché (I) L1 Extracción Caché L2 Pre-decodificación Ancho de banda necesario 4 x 32 = 128 bits/ciclo 4 x (32 + 4) = 144 bits/ciclo Procesadores superescalares y VLIW 21

Ventana de instrucciones El cauce superescalar Estructura de la ventana de instrucciones No se guardan instrucciones sino la información necesaria para ejecutarlas. La información se guarda en orden. Ventana de instrucciones Operación Destino OK 1 Operando 1 OK 2 Operando 2 Operación a realizar. Valor del operando o elemento que lo generará. Puede indicar un registro, una posición de memoria o un almacenamiento temporal. Indica si el operando está disponible. Procesadores superescalares y VLIW 22

Ventana de instrucciones El cauce superescalar Etapa de emisión Si una instrucción está lista para ejecutarse y está disponible la U.F. que necesita, ésta se envía a la etapa de ejecución. Se pueden emitir varias instrucciones por ciclo. Si dos instrucciones compiten por una U.F. la emisión decidirá quién tiene prioridad. Ventana de instrucciones Ejecución Emisión Procesadores superescalares y VLIW 23

Ventana de instrucciones El cauce superescalar Etapa de emisión Emisión alineada: Hasta que no se vacían todas las instrucciones de la ventana no se pueden meter otras. Emisión no alineada Se pueden meter nuevas instrucciones siempre que haya sitio. Emisión en orden. Emisión fuera de orden. Ventana de instrucciones Ejecución Emisión El máximo rendimiento se obtiene con emisión no alineada y fuera de orden. Procesadores superescalares y VLIW 24

El cauce superescalar Etapa de ejecución Ejecución INT + - FP * / MEM Bcc . . . . Procesadores superescalares y VLIW 25

Ventana de instrucciones El cauce superescalar Variante con estaciones de reserva Puede enviar una instrucción por ciclo. Puede enviar dos instrucciones por ciclo. Ventana de instrucciones INT + - FP * / MEM Bcc . . . . Estaciones de reserva por cada U.F. o grupo homogéneo de U.F.’s. La instrucción espera en la E.R. hasta que se pueda ejecutar. Procesadores superescalares y VLIW 26

Decodificación / Emisión El cauce superescalar Variante con estaciones de reserva La emisión se divide en dos: Decodificación / Emisión INT + - FP * / MEM Bcc . . . . Decodificación / Emisión Decodificación y envío a las E.R.’s Envío (Dispatch) Envío a las U.F.’s Procesadores superescalares y VLIW 27

Consistencia secuencial El cauce superescalar Etapa de finalización Etapa en la que se finaliza la instrucción y se actualizan los registros. Finalización Ejecución Memoria: Orden en que se realizan los accesos a memoria en relación con el orden del programa. Consistencia secuencial Procesador: Orden en que se actualizan los registros en relación con el orden del programa. Procesadores superescalares y VLIW 28

El orden del programa debe coincidir con el de finalización. El cauce superescalar Etapa de finalización Consistencia fuerte: El orden del programa debe coincidir con el de finalización. Consistencia débil: El orden del programa puede ser distinto al de finalización. Hay que resolver los posibles riesgos. Finalización Ejecución Procesadores superescalares y VLIW 29

Consistencia de memoria El cauce superescalar Etapa de finalización Consistencia de memoria ¿Qué ocurre si esta instrucción se retrasa? (Por ejemplo, un fallo de caché) LD R1,200(R0) DMUL R1,R1,R1 SD R1,200(R0) AND R3,R4,R5 DSLLV R6,R7,R8 LD R2,400(R0) DADD R2,R2,R2 SD R2,400(R0) No pueden ejecutarse por riesgo RAW Sí se pueden ejecutar (emisión fuera de orden) Procesadores superescalares y VLIW 30

Consistencia de memoria El cauce superescalar Etapa de finalización Consistencia de memoria Ésta no presenta dependencias, por lo tanto . . . LD R1,200(R0) DMUL R1,R1,R1 SD R1,200(R0) AND R3,R4,R5 DSLLV R6,R7,R8 LD R2,400(R0) DADD R2,R2,R2 SD R2,400(R0) Consistencia débil: Puede ejecutarse y acabar incluso antes que los accesos a memoria anteriores. Consistencia fuerte: No puede ejecutarse. Procesadores superescalares y VLIW 31

Consistencia de memoria El cauce superescalar Etapa de finalización Consistencia de memoria Direcciones diferentes ¿Direcciones diferentes? LD R1,200(R0) DMUL R1,R1,R1 SD R1,200(R0) AND R3,R4,R5 DSLLV R6,R7,R8 LD R2,400(R0) DADD R2,R2,R2 SD R2,400(R0) LD R1,200(R9) DMUL R1,R1,R1 SD R1,200(R9) AND R3,R4,R5 DSLLV R6,R7,R8 LD R2,400(R10) DADD R2,R2,R2 SD R2,400(R10) Problemas Puede hacerse “adelantamiento especulativo” y en caso de fallo anular las instrucciones ejecutadas erróneamente. Procesadores superescalares y VLIW 32

Consistencia de memoria El cauce superescalar Etapa de finalización Consistencia de memoria En los adelantamientos se suele dar prioridad a LOAD frente a STORE ya que la carga de un elemento puede a su vez hacer esperar a otras instrucciones. LD R1,200(R0) DMUL R1,R1,R1 SD R1,200(R0) DADD R2,R1,R3 Influye en las siguientes. No influye en las siguientes. La tendencia actual es la consistencia de memoria débil ya que permite grandes ahorros de tiempo. Procesadores superescalares y VLIW 33

Consistencia de procesador El cauce superescalar Etapa de finalización Consistencia de procesador La tendencia actual es la consistencia de procesador fuerte. Motivos: Los tiempos involucrados son menores que los de los accesos a memoria y no compensan una complicación excesiva del hardware. Estructuras como el Buffer de Reordenamiento (ROB) permiten de forma simple la finalización en orden con una emisión y ejecución fuera de orden. Procesadores superescalares y VLIW 34

Consistencia de procesador El cauce superescalar Etapa de finalización Consistencia de procesador La información de las instrucciones se introduce en el ROB en orden. Una instrucción se saca cuando ella y sus predecesoras han finalizado. En ese momento se actualizan los registros. Permite el renombrado de registros y la ejecución especulativa Se retiran varias instrucciones por ciclo. Banco de registros con varios puertos de escritura. Procesadores superescalares y VLIW 35

Consistencia de procesador El cauce superescalar Etapa de finalización Consistencia de procesador Puntero de cabeza Puntero de cola Implementación: Buffer circular. Destino Valor OK U.F. Estado Registro destino Emitida / Ejecutando / Finalizada Resultado de la operación U.F. que realiza el cálculo Validez del campo “valor” Procesadores superescalares y VLIW 36

Cauce completo con ventana de instrucciones El cauce superescalar Cauce completo con ventana de instrucciones Pre-decodificación Buffer de instrucciones Ventana de instrucciones Caché (I) L1 Caché L2 Extracción Finalización Ejecución Decodificación Emisión Procesadores superescalares y VLIW 37

Cauce completo con estaciones de reserva El cauce superescalar Cauce completo con estaciones de reserva Extracción Caché (I) L1 Buffer de instrucciones Decodificación / Emisión Pre-decodificación Estaciones de reserva Envío Caché L2 Ejecución Finalización Procesadores superescalares y VLIW 38

PROCESADORES SUPERESCALARES Y VLIW Superescalar con algoritmo de Tomasulo 39 39

Escritura de resultados Superescalar con algoritmo de Tomasulo Emisión Ejecución Escritura de resultados Finalización Se añade un ROB para poder realizar especulación. Ahora el método se estructura en cuatro etapas. Procesadores superescalares y VLIW 40

Superescalar con algoritmo de Tomasulo 1ª ETAPA EMISIÓN ¿Operandos disponibles? SI NO Enviar operandos a la E.R. Indicar las E.R. con las instrucciones que los generarán ¿E.R. y ROB disponibles? NO ¿Todos los operandos en la E.R.? NO SI Enviar instrucción a la E.R. SI Procesadores superescalares y VLIW 41

Superescalar con algoritmo de Tomasulo 2ª ETAPA EJECUCIÓN Ejecutar en la U.F. Procesadores superescalares y VLIW 42

Superescalar con algoritmo de Tomasulo 3ª ETAPA ESCRITURA DE RESULTADOS Envía los resultados al CDB Desde el CDB se reenvía al ROB Procesadores superescalares y VLIW 43

Superescalar con algoritmo de Tomasulo 4ª ETAPA FINALIZACIÓN ¿Finalizaron las instrucciones previas? NO SI ¿Especulación correcta? SI NO Enviar el resultado a los registros o a la memoria Liberar las entradas del ROB asociadas a la especulación Liberar la entrada en el ROB Procesadores superescalares y VLIW 44

Superescalar con algoritmo de Tomasulo ROB No se necesitan los buffers de almacenamiento. Procesadores superescalares y VLIW 45