Arquitectura de Computadores II Clase #16

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Arquitectura de Computadores II Clase #16"

Transcripción

1 Arquitectura de Computadores II Clase #16 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010

2 Organización general Superescalar Varios pipelines. 2 operaciones enteras, 2 de PF y una de memoria se pueden ejecutar simultáneamente.

3 Scheduling estático y dinámico Instruction level parallelism (ILP) Inherente al código de cada programa. Depende de la cantidad de instrucciones independientes que existan en la secuencia de instrucciones, cuya ejecución se pueda solapar Limitaciones: dependencias de datos y procedimientos. Tarea del compilador (static scheduling). Machine Parallelism Capacidad del hardware para explotar el ILP. Recurso clave: cantidad de pipelines paralelos. Técnicas para identificar instrucciones independientes y ejecutarlas en paralelo, incluso alterando potencialmente el orden secuencial establecido por el programa (dynamic scheduling).

4 Limitaciones al paralelismo Limitaciones o hazards (recordar Clase #5): Hazards estructurales: conflicto de recursos HW que impide determinada combinación de instrucciones. Hazards de control (o dependencias de procedimiento): retardos entre el fetch de instrucciones y la decisión de cambios en el flujo de instrucciones (bifurcaciones, saltos). Hazards de datos: instrucción actual depende del resultado de una instrucción previa que aún está en el pipeline: Dependencia de datos ( true data dependency ): Read After Write (RAW) Dependencia de salida ( Output dependency ): Write After Write (WAW) Antidependencia: Write After Read (WAR)

5 True Data Dependency Ejemplo ADD r1, r2 (r1 := r1+r2;) MOVE r3,r1 (r3 := r1;) Se puede hacer el fetch y decodificar la primera y segunda instrucción en paralelo, pero NO se puede ejecutar la segunda instrucción hasta que se actualice r1. En general, existe dependencia verdadera si Instrucción i produce un resultado utilizado por instrucción j, o Instrucción j es dependiente de los datos de instrucción k, e instrucción k depende de los datos de instrucción i. Si son dependientes, no se pueden ejecutar en paralelo Fácil de determinar para registros (nombres fijos). No tan fácil para memoria: 100(r4) = 20(r6)? En diferentes iteraciones de loop, es 20(R6) = 20(R6)? Read After Write (RAW)

6 Procedural Dependency Ejemplo if p1 {S1;}; if p2 {S2;}; S1 es dependiente de control de p1 y S2 es dependiente de control de p2 pero no de p1. Dos restricciones (obvias) sobre las dependencias de control: Una instrucción que es dependiente de control de un salto no puede ser ejecutada antes del salto pues sino su ejecución deja de ser controlada por el mismo. Una instrucción que no es dependiente de control de un salto no puede ser movida después del salto sino su ejecución pasa a ser controlada por el mismo.

7 Conflictos de recursos Intento de usar el mismo hardware para dos propósitos diferentes a la vez. Ej. dos instrucciones aritméticas. Solución 1: Esperar Se debe detectar el problema Y tener mecanismos para no hacer nada. Solución 2: agregar más hardware Por ejemplo, tener dos unidades aritméticas.

8 Efecto de algunas dependencias

9 Antidependencia y dependencia de salida Otro tipo de dependencia denominado dependencia de nombres: dos instrucciones utilizan el mismo nombre (registro o lugar de memoria) pero no intercambian datos. Antidependencia (WAR) Instrucción j escribe un registro o lugar de memoria que la instrucción i lee y la instrucción i se ejecuta primero. Ejemplo R3:=R3 + R5; (I1) R4:=R3 + 1; (I2) R3:=R5 + 1; (I3) R7:=R3 + R4; (I4) I3 no se puede completar antes que I2 porque I2 necesita R3 que es afectado por I3. Dependencia de salida (WAW) Instrucción i e instrucción j escriben el mismo registro o lugar de memoria; se debe preservar el orden entre instrucciones.

10 Register Renaming Dependencias de salida y antidependencias ocurren porque los contenidos de los registros pueden modificarse en un orden que no es el dictado por el programa. Renaming: registros dinámicamente asignados por el hardware. Ejemplo Recordar: R3b:=R3a + R5a (I1) R4b:=R3b + 1 (I2) R3c:=R5a + 1 (I3) R7b:=R3c + R4b (I4) R3:=R3 + R5; (I1) R4:=R3 + 1; (I2) R3:=R5 + 1; (I3) R7:=R3 + R4; (I4) Agregamos un subíndice que indica cómo se asignan por el hardware. Notar que la asignación R3c en I3 evita la antidependencia con I2 y permite que I4 acceda al valor correcto de R4.

11 Políticas de emisión ( issue ) de instrucciones Nos interesa: Orden en que se hace el fetch de instrucciones. Orden en que se ejecutan las instrucciones. Orden en el cual las instrucciones almacenan resultados en banco de registros y memoria. Algunas políticas posibles: In-Order Issue In-Order Completion. In-Order Issue Out-of-Order Completion. Out-of-Order Issue Out-of-Order Completion.

12 In-Order Issue In-Order Completion Emisión de instrucciones en el orden en que ocurren en el programa. No es un esquema eficiente. Si alguna instrucción debe esperar por algún recurso, todas las sucesoras deben esperar.

13 In-Order Issue In-Order Completion (Diagrama) Se captan dos instrucciones a la vez Se debe esperar hasta que la pareja de pipelines de decodificación esté vacía Tres unidades funcionales I1 lleva dos ciclos de ejecución I3 e I4 compiten por la misma Unidad Funcional I5 depende de un valor producido por I4 I5 e I6 compiten por la misma Unidad Funcional

14 In-Order Issue Out-of-Order Completion Usado en RISC para sobrellevar las instrucciones que consumen muchos ciclos (ej. fallo de cache). La finalización desordenada hace surgir la output dependency R3:= R3 + R5; (I1) R4:= R3 + 1; (I2) R3:= R5 + 1; (I3) R7:= R3 + R4; (I4) I2 depende del resultado de I1 dependencia de datos. Si I3 se completara antes que I1, I4 usaría un valor erróneo de R3 (output dependency). Se decodifican instrucciones hasta el punto de dependencia o conflicto. Observación: el tratamiento de interrupciones se complica notoriamente con finalización desordenada.

15 In-Order Issue Out-of-Order Completion (Diagrama)

16 Out-of-Order Issue Out-of-Order Completion Se desacopla el pipeline de decodificación del pipeline de ejecución. Ventana de instrucciones. Se puede continuar trayendo y decodificando instrucciones hasta que se llene este buffer. La unidades funcionales se pueden utilizar inmediatamente que estén disponibles (siempre que no existan dependencias). Dado que las instrucciones han sido decodificadas, el procesador puede anticipar (look ahead) instrucciones independientes para cargar los pipelines.

17 Out-of-Order Issue Out-of- Order Completion (Diagrama)

18 Ejecución Superescalar Etapa de commit o retire Necesario por finalización fuera de orden y/o por ejecución especulativa descartada. Implica registros temporales no visibles.

19 Implementación Superescalar Estrategias para captar múltiples instrucciones simultáneamente. Lógica para determinar dependencias verdaderas entre valores de registros, y mecanismos para disponer de esos valores donde sea necesario durante la ejecución (forwarding). Mecanismos para iniciar múltiples instrucciones en paralelo. Recursos para ejecución en paralelo de múltiples instrucciones. Múltiples unidades funcionales. Múltiples accesos a memoria. Mecanismos para hacer el commit en orden correcto.

20 Paralelismo a nivel de máquina Duplicación de recursos. Out of order issue. Renaming. Es fundamental el renombrado para aprovechar adecuadamente la duplicación de recursos. Ventana de instrucciones suficientemente grande (más de 8 en la práctica) para que puedan aprovecharse efectivamente todas las unidades funcionales. Otras técnicas: Dynamic Branch Prediction (ver Clase #5). Ejecución especulativa. Instrucciones condicionales o predicated.

21 Ejecución especulativa Una instrucción que depende de un salto que se predice como a tomarse es despachada para ejecución cuidando que no se realice ninguna acción irreversible (incluyendo excepciones). Es necesario usar almacenamiento temporal para los resultados. Combina predicción de saltos con despacho dinámico para ejecutar antes que los saltos sean resueltos. Cuando una instrucción deja de ser especulativa (porque se resolvió el o los saltos de los que dependía), se escriben los resultados de la instrucción (instruction commit) o se descartan. Ejecuta fuera de orden pero hace commit in-order para prevenir una acción irreversible (actualización del estado o excepción) hasta que la instrucción haga su commit.

22 Alternativas para CPI < 1: Despachando Múltiples Instrucciones/Ciclo Dos variaciones: Superscalar: número variable de instrucciones despachadas por ciclo, dependiendo de hazards. Scheduling estático (por el compilador) o dinámico (por el hardware). (Very) Long Instruction Words (V)LIW: Paquetes de instrucciones de largo fijo, acomodadas por el compilador. El procesador despacha simultáneamente cada instrucción de un paquete a una unidad funcional distinta. Intel Itanium: Explicitly Parallel Instruction Computer (EPIC). Inspirado en VLIW.

23 VLIW vs. Superscalar Código mas pequeño. Compatibilidad Binaria entre generaciones de hardware. Hardware simplificado para la decoficación y despacho de instrucciones. Potencialmente mayor frecuencia de reloj gracias a la simplificación del hardware.

24 Ejemplo: Pentium y anteriores CISC. Pentium algunos componentes superescalares Dos unidades separadas de ejecución entera. Pentium Pro primer superescalar. Modelos siguiente refinan y mejoran el diseño superescalar.

25 Pentium 4 : diagrama de bloques

26 Pentium 4: operación Fetch de instrucciones de memoria in order del programa estático. Traducción de instrucciones en una o más instrucciones (micro-operaciones) RISC de largo fijo (118 bits). Ejecución de micro-ops en el pipeline superescalar. Las micro-ops pueden ser ejecutadas fuera de orden. Los commit de resultados se hacen en el orden del flujo de programa original. Arquitectura CISC implementada con un núcleo RISC. El pipeline del núcleo RISC tiene del orden de 20 etapas. Algunas micro-ops requiren múltiples pasos de ejecución. Pipeline más largo.

27 Pentium 4: pipeline

28 Operación del Pipeline del Pentium 4 (1/6)

29 Operación del Pipeline del Pentium 4 (2/6)

30 Operación del Pipeline del Pentium 4 (3/6)

31 Operación del Pipeline del Pentium 4 (4/6)

32 Operación del Pipeline del Pentium 4 (5/6)

33 Operación del Pipeline del Pentium 4 (6/6)

34 Próxima clase Arquitecturas paralelas

Arquitectura de Computadores II Clase #16

Arquitectura de Computadores II Clase #16 Arquitectura de Computadores II Clase #16 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2009 Organización general Superescalar Varios pipelines 2 ops. Enteras, 2 de

Más detalles

Arquitectura de Computadores II Clase #16

Arquitectura de Computadores II Clase #16 Arquitectura de Computadores II Clase #16 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Organización general Superescalar Varios pipelines. 2 operaciones enteras,

Más detalles

Aspectos avanzados de arquitectura de computadoras Superescalares I. Facultad de Ingeniería - Universidad de la República Curso 2017

Aspectos avanzados de arquitectura de computadoras Superescalares I. Facultad de Ingeniería - Universidad de la República Curso 2017 Aspectos avanzados de arquitectura de computadoras Superescalares I Facultad de Ingeniería - Universidad de la República Curso 2017 Instruction Level Parallelism Propiedad de un programa. Indica qué tanto

Más detalles

Aspectos avanzados de arquitectura de computadoras Pipeline. Facultad de Ingeniería - Universidad de la República Curso 2017

Aspectos avanzados de arquitectura de computadoras Pipeline. Facultad de Ingeniería - Universidad de la República Curso 2017 Aspectos avanzados de arquitectura de computadoras Pipeline Facultad de Ingeniería - Universidad de la República Curso 2017 Objetivo Mejorar el rendimiento Incrementar frecuencia de reloj? Ancho de los

Más detalles

Procesadores Superescalares

Procesadores Superescalares Departamento de Electrónica y Circuitos EC3731 Arquitectura del Computador II Prof. Osberth De Castro Prof. Juan C. Regidor Prof. Mónica Parada Segmentación de Cauce y Paralelismo Multiples unidades de

Más detalles

Procesadores superescalares. Introducción

Procesadores superescalares. Introducción 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

Más detalles

Arquitectura de Computadoras. Clase 8 Procesadores superescalares

Arquitectura de Computadoras. Clase 8 Procesadores superescalares Arquitectura de Computadoras Clase 8 Procesadores superescalares Procesador Escalar Ejecución secuencial de instrucciones F: búsqueda D: decodificación F D ALU F D ALU F D ALU Instrucción 1 Instrucción

Más detalles

Tema 1: PROCESADORES SEGMENTADOS

Tema 1: PROCESADORES SEGMENTADOS Tema 1: PROCESADORES SEGMENTADOS 1.1. Procesadores RISC frente a procesadores CISC. 1.2. Clasificación de las arquitecturas paralelas. 1.3. Evaluación y mejora del rendimiento de un computador. 1.4. Características

Más detalles

Introducción a los procesadores ILP (Instruction-Level Parallel)

Introducción a los procesadores ILP (Instruction-Level Parallel) Introducción a los procesadores ILP (Instruction-Level Parallel) Herramientas básicas para conseguir paralelismo entre instrucciones: Encauzamiento (pipelining) Se usa en todo procesador ILP Utilizar varias

Más detalles

Cuestionario Unidad 4: Procesamiento paralelo 2012

Cuestionario Unidad 4: Procesamiento paralelo 2012 SEP SNEST DGEST INSTITUTO TECNOLÓGICO DE CHIHUAHUA II INGENIERÍA EN SISTEMAS COMPUTACIONALES ARQUITECTURA DE COMPUTADORAS Ing. Ernesto Leal Procesamiento paralelo ELABORADO POR: Miguel Angel Chávez Reza

Más detalles

GRADO EN INGENIERÍA DE COMPUTADORES

GRADO EN INGENIERÍA DE COMPUTADORES GRADO EN INGENIERÍA DE COMPUTADORES Computadores VLIW Departamento Computadores superescalares de Automática Prof. Dr. José Antonio de Frutos Redondo Curso 2013-2014 Computadores VLIW y superescalares

Más detalles

Unidad 4 - Procesamiento paralelo. Arquitectura de computadoras. D o c e n t e : E r n e s t o L e a l. E q u i p o : J e s s i c a F i e r r o

Unidad 4 - Procesamiento paralelo. Arquitectura de computadoras. D o c e n t e : E r n e s t o L e a l. E q u i p o : J e s s i c a F i e r r o Unidad 4 - Procesamiento paralelo. D o c e n t e : E r n e s t o L e a l E q u i p o : J e s s i c a F i e r r o L u i s N a v e j a s Arquitectura de computadoras Introducción Cuestionario Conclusiones

Más detalles

Seminario 1: Procesadores paralelos

Seminario 1: Procesadores paralelos Seminario 1: Procesadores paralelos Índice Introducción Procesadores superescalares Procesadores VLIW Procesadores vectoriales Índice Introducción Procesadores superescalares Procesadores VLIW Procesadores

Más detalles

Tutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción

Tutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción Tutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción ESTRUCTURA DE COMPUTADORES Grupo de Arquitectura de Computadores (GAC) Dyer Rolán García (GAC) Paralelismo a nivel de instrucción

Más detalles

Segmentación del ciclo de instrucción

Segmentación del ciclo de instrucción Segmentación del ciclo de instrucción William Stallings, Organización y Arquitectura de Computadores, Capítulo 11: Estructura y función de la CPU. John Hennessy David Patterson, Arquitectura de Computadores

Más detalles

ARQUITECTURA DE COMPUTADORAS

ARQUITECTURA DE COMPUTADORAS 2-12-2012 INSTITUTO TECNOLÓGICO DE CHIHUAHUA II ARQUITECTURA DE COMPUTADORAS Cuestionario Unidad 4 Claudia Cristina Enríquez Zamarrón 10 55 05 10 Laura Michell Montes Blanco 10 55 05 02 INTRODUCCIÓN: En

Más detalles

Organización de Computadoras. Pipeline Continuación

Organización de Computadoras. Pipeline Continuación Organización de Computadoras Pipeline Continuación Extensión del pipeline para manejar operaciones multiciclo (unpipelined) Extensión del pipeline para manejar operaciones multiciclo El pipeline del MIPS

Más detalles

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

Arquitectura de Computadoras Trabajo Práctico N 7 Pipeline de Instrucciones Primer Cuatrimestre de 2010 Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Arquitectura de Computadoras Trabajo Práctico N 7 Pipeline de Instrucciones Primer Cuatrimestre de 2010 1. La

Más detalles

PROCESADORES DE EMISIÓN MÚLTIPLE

PROCESADORES DE EMISIÓN MÚLTIPLE PROCESADORES DE EMISIÓN MÚLTIPLE Cómo conseguir un CPI1)? Emitiendo varias instrucciones en un mismo ciclo de reloj Dos clases de procesadores de emisión múltiple Superescalares y VLIW (Very Long

Más detalles

Micro arquitectura. Técnicas Digitales III Ing. Gustavo Nudelman Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

Micro arquitectura. Técnicas Digitales III Ing. Gustavo Nudelman Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Micro arquitectura Técnicas Digitales III Ing. Gustavo Nudelman 2012 Evolución Ley de Moore Fundamentos CISC (Complex Instruction set Computer) instrucciones mas complejas y focalizadas RISC (Reduced Instruction

Más detalles

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

Arquitectura de Computadoras Trabajo Práctico N 8 Pipeline de Instrucciones 1 Primer Cuatrimestre de 2016 Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Arquitectura de Computadoras Trabajo Práctico N 8 Pipeline de Instrucciones 1 Primer Cuatrimestre de 2016 1. La

Más detalles

6. PROCESADORES SUPERESCALARES Y VLIW

6. PROCESADORES SUPERESCALARES Y VLIW 6. PROCESADORES SUPERESCALARES Y VLIW 1 PROCESADORES SUPERESCALARES Y VLIW 1. Introducción 2. El modelo VLIW 3. El cauce superescalar 4. Superescalar con algoritmo de Tomasulo 2 PROCESADORES SUPERESCALARES

Más detalles

Arquitectura de Computadores II Clase #5

Arquitectura de Computadores II Clase #5 Arquitectura de Computadores II Clase #5 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Algunas ideas para mejorar el rendimiento Obvio: incrementar la frecuencia

Más detalles

Procesadores Superescalares

Procesadores Superescalares Universidad de Concepción Facultad de Ingeniería Departamento de Ingeniería Informática y Ciencias de Computación Programa de Magíster en Ciencias de la Computación Tarea 3 Procesadores Superescalares

Más detalles

1. Motivación. 2. Procesadores superescalares. 3. Procesadores VLIW. 4. Procesadores supersegmentados.

1. Motivación. 2. Procesadores superescalares. 3. Procesadores VLIW. 4. Procesadores supersegmentados. TEMA 9: LANZAMIENTO MÚLTIPLE DE INSTRUCCIONES 1. Motivación. 2. Procesadores superescalares. 3. Procesadores VLIW. 4. Procesadores supersegmentados. Bibliografía: J.L. Hennessy & D. A. Patterson. Computer

Más detalles

Paralelismo en monoprocesadores. Introducción

Paralelismo en monoprocesadores. Introducción Paralelismo en monoprocesadores Introducción Profesor: Mag. Marcelo Tosini Cátedra: Arquitectura Computadoras y técnicas Digitales Carrera: Ingeniería Sistemas Ciclo: 4º año 1 Técnicas para mejorar el

Más detalles

Segmentación del ciclo de instrucción

Segmentación del ciclo de instrucción Segmentación del ciclo de instrucción v.2012 William Stallings, Organización y Arquitectura de Computadores, Capítulo 11: Estructura y función de la CPU. John Hennessy David Patterson, Arquitectura de

Más detalles

PIPELINING: Antes de adentrarnos en el tema, veremos una analogía de un pipeline:

PIPELINING: Antes de adentrarnos en el tema, veremos una analogía de un pipeline: PIPELINING: Antes de adentrarnos en el tema, veremos una analogía de un pipeline: Observemos que la técnica de Pipelining no mejora el tiempo de cada tarea, sino el tiempo de toda la carga de trabajo.

Más detalles

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores 1. Introducción 2. La CPU 3. Lenguaje Máquina 4. La Memoria 5. Sistemas de Entrada/Salida 6. Segmentación (Pipeline) MIPS 64 7. Memoria Caché 8. Arquitecturas RISC Arquitectura

Más detalles

PROCESADORES DE EMISIÓN MÚLTIPLE

PROCESADORES DE EMISIÓN MÚLTIPLE PROCESADORES DE EMISIÓN MÚLTIPLE Cómo conseguir un CPI1)? Emitiendo varias instrucciones en un mismo ciclo de reloj Dos clases de procesadores de emisión múltiple Superescalares y VLIW (Very Long

Más detalles

Aspectos avanzados de arquitectura de computadoras Pipeline II. Facultad de Ingeniería - Universidad de la República Curso 2017

Aspectos avanzados de arquitectura de computadoras Pipeline II. Facultad de Ingeniería - Universidad de la República Curso 2017 Aspectos avanzados de arquitectura de computadoras Pipeline II Facultad de Ingeniería - Universidad de la República Curso 2017 Excepciones (1/5) Tipos de excepciones: Externas, provocadas por hardware

Más detalles

Procesadores de palabra de instrucción muy larga (VLIW) v.2012

Procesadores de palabra de instrucción muy larga (VLIW) v.2012 Procesadores de palabra de instrucción muy larga (VLIW) v.2012 William Stallings, Organización y Arquitectura de Computadores, 5ta. ed., Capítulo 13: Paralelismo a nivel de instrucciones y procesadores

Más detalles

Tema 7: Procesadores superescalares

Tema 7: Procesadores superescalares Tema 7: Procesadores superescalares Arquitectura de Computadores y Sistemas Operativos I 4º Curso Plan 96 Escuela Técnica Superior Ingenieros Telecomunicaciones DISCA Tema 7: Procesadores superescalares

Más detalles

Aspectos avanzados de arquitectura de computadoras Multithreading. Facultad de Ingeniería - Universidad de la República Curso 2017

Aspectos avanzados de arquitectura de computadoras Multithreading. Facultad de Ingeniería - Universidad de la República Curso 2017 Aspectos avanzados de arquitectura de computadoras Multithreading Facultad de Ingeniería - Universidad de la República Curso 2017 Introducción En este capítulo se explorará la posibilidad de ejecutar múltiples

Más detalles

Tecnologías, Organización y Microarquitectura

Tecnologías, Organización y Microarquitectura Septiembre 2012 Tecnología de Integración Nanotecnología Tecnología de Integración Imágenes obtenidas con TEM (Transmission Electron Microscope) de una cepa del virus de la influenza, y de un transistor

Más detalles

3. SEGMENTACIÓN DEL CAUCE

3. SEGMENTACIÓN DEL CAUCE 3. SEGMENTACIÓN DEL CAUCE 1 SEGMENTACIÓN DEL CAUCE 1. Conceptos básicos 2. Etapas del MIPS64 3. Riesgos 4. Operaciones muticiclo 2 SEGMENTACIÓN DEL CAUCE 1. Conceptos básicos 3 Conceptos básicos Ciclo

Más detalles

Explotación del paralelismo a nivel de instrucción

Explotación del paralelismo a nivel de instrucción Explotación del paralelismo a nivel de instrucción Arquitectura de Computadores J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato

Más detalles

Definición de prestaciones

Definición de prestaciones Definición de prestaciones En términos de velocidad. Diferentes puntos de vista: Tiempo de ejecución. Productividad (throughput) Medidas utilizadas En función de la duración del ciclo de reloj y del número

Más detalles

CAPÍTULO 2 PROCESADORES SUPERESCALARES

CAPÍTULO 2 PROCESADORES SUPERESCALARES CAPÍTULO 2 PROCESADORES SUPERESCALARES INTRODUCCIÓN Características de los procesadores superescalares Paralelismo Diversificación Dinamismo Arquitectura de un procesador superescalar genérico Características

Más detalles

CAPÍTULO 2 PROCESADORES SUPERESCALARES. TERMINACIÓN y RETIRADA

CAPÍTULO 2 PROCESADORES SUPERESCALARES. TERMINACIÓN y RETIRADA CAPÍTULO 2 PROCESADORES SUPERESCALARES TERMINACIÓN y RETIRADA TERMINACIÓN Las instrucciones finalizadas (han sido ejecutadas) quedan a la espera para la terminación ordenada de todas las instrucciones

Más detalles

Paralelismo en el procesador

Paralelismo en el procesador 2017 Paralelismo en el procesador ARQUITECTURA DE COMPUTADORAS ING. ELMER PADILLA AUTOR: GERARDO ROBERTO MÉNDEZ LARIOS - 20111013326 Ciudad universitaria, Tegucigalpa M.D.C., 04 de mayo del 2017. Contenido

Más detalles

TEMA 4. ARQUITECTURA IA-64

TEMA 4. ARQUITECTURA IA-64 TEMA 4. ARQUITECTURA IA-64 Stalling, W.Computer Organization and Architecture cap. 15 Intel IA-64 Architecture Software Developer s Manual Generalidades IA-64 Desarrollo conjunto Intel-HP Nueva arquitectura

Más detalles

Procesadores Superescalares

Procesadores Superescalares Procesadores Superescalares J. Smith and G. Sohi, The Microarchitecture of Superscalar Processors. Proceedings IEEE, Vol. 83, No. 12, Diciembre 1995. William Stallings, Organización y Arquitectura de Computadores,

Más detalles

Segmentación del ciclo de instrucción v.2016

Segmentación del ciclo de instrucción v.2016 Segmentación del ciclo de instrucción v.2016 John Hennessy & David Patterson, Arquitectura de Computadores Un enfoque cuantitativo, 4ª edición Apéndice A (Capítulos 5 y 6 de la 1ª edición) Segmentación

Más detalles

HISTORIA DEL PIPELINE. Juan Antonio Romano Largo. Arquitectura de Computadores.

HISTORIA DEL PIPELINE. Juan Antonio Romano Largo. Arquitectura de Computadores. HISTORIA DEL PIPELINE CRONOLOGÍA Introducción ppo. S. XX IBM 704 1955 IBM 7030 (proyecto Stretch) 1956-1961 CDC 6600 1964 VAX 8800 1987 RISC vs CISC (MIPS vs VAX 8700) 1989 R4000 (Supersegmentado) 1991

Más detalles

Arquitectura de Computadoras. Clase 4 Segmentación de Instrucciones

Arquitectura de Computadoras. Clase 4 Segmentación de Instrucciones Arquitectura de Computadoras Clase 4 Segmentación de Instrucciones Segmentación de cauce: Conceptos básicos La segmentación de cauce (pipelining) es una forma particularmente efectiva de organizar el hardware

Más detalles

Arquitectura de Computadoras

Arquitectura de Computadoras Arquitectura de Computadoras Clase 6 RISC Computadoras de repertorio reducido de instrucciones Historia de evolución (1) El concepto de familia: Introducido por IBM en su System/360 en 1964. DEC PDP-8.

Más detalles

Arquitectura de Computadoras

Arquitectura de Computadoras Arquitectura de Computadoras (Cód. 5561) 1 Cuatrimestre 2016 Dra. Dana K. Urribarri DCIC - UNS Dana K. Urribarri AC 2016 1 Instruction-level parallelism Dana K. Urribarri AC 2016 2 Instruction-level parallelism

Más detalles

Modelos de Programación Paralela Prof. Gilberto Díaz

Modelos de Programación Paralela Prof. Gilberto Díaz Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas Modelos de Programación Paralela Prof. Gilberto Díaz gilberto@ula.ve Departamento de Computación, Escuela de Sistemas, Facultad de Ingeniería

Más detalles

Superescalares y VLIW - 1. Arquitectura de Computadores

Superescalares y VLIW - 1. Arquitectura de Computadores Las técnicas que hemos visto en los capítulos anteriores las hemos utilizado para eliminar los distintos tipos de riesgos y conseguir la deseada tasa de ejecución de una instrucción por ciclo. No obstante,

Más detalles

Superescalares. Scheduling dinámico: algoritmo de Tomasulo

Superescalares. Scheduling dinámico: algoritmo de Tomasulo Superescalares Scheduling dinámico: algoritmo de Tomasulo Introducción Scheduling dinámico significa que la CPU (el hardware) puede reordenar las instrucciones. La mayoría de las CPUs de escritorio son

Más detalles

Arquitectura de Computadores Problemas (hoja 2). Curso

Arquitectura de Computadores Problemas (hoja 2). Curso Arquitectura de Computadores Problemas (hoja 2). Curso 2012-13 1. Sea la siguiente secuencia de código de instrucciones en punto flotante para un computador similar al DLX que aplica gestión dinámica de

Más detalles

Arquitectura de Computadores II Clase #4

Arquitectura de Computadores II Clase #4 Clase #4 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Contenido Unidad de control Control cableado Control microprogramado MIC-1 La Unidad de Control La instrucción

Más detalles

Arquitectura de Computadores II Clase #4

Arquitectura de Computadores II Clase #4 Clase #4 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Contenido Unidad de control Control cableado Control microprogramado MIC-1 1 La Unidad de Control La instrucción

Más detalles

TEMA 3 PROCESADORES VLIW (Very Long Instruction Word)

TEMA 3 PROCESADORES VLIW (Very Long Instruction Word) TEMA 3 PROCESADORES VLIW (Very Long Instruction Word) Esta arquitectura de CPU implementa una forma de paralelismo a nivel de instrucción. Es similar a las arquitecturas superescalares, ambas usan varias

Más detalles

Técnicas hardware para extraer más paralelismo de instrucciones

Técnicas hardware para extraer más paralelismo de instrucciones Técnicas hardware para extraer más paralelismo de instrucciones El paralelismo extraído por el compilador está limitado por las bifurcaciones que no son fácilmente predecibles Diversas técnicas ayudan

Más detalles

Planificación dinámica - Concepto

Planificación dinámica - Concepto Planificación dinámica - Concepto Despacho y ejecución en orden: una limitación. Stall también detiene a operaciones independientes. DIVD F0,F2,F4 ADDD F10,F0,F8 SUBD F12,F8,F14 (1) (2) (3) No siempre

Más detalles

Segmentación del ciclo de instrucción v.2014

Segmentación del ciclo de instrucción v.2014 Segmentación del ciclo de instrucción v.2014 William Stallings, Organización y Arquitectura de Computadores, Capítulo 11: Estructura y función de la CPU. John Hennessy David Patterson, Arquitectura de

Más detalles

Vista de Alto Nivel del Funcionamiento del Computador Interconectividad

Vista de Alto Nivel del Funcionamiento del Computador Interconectividad Vista de Alto Nivel del Funcionamiento del Computador Interconectividad Del capítulo 3 del libro Organización y Arquitectura de Computadores William Stallings Concepto de Programa Sistemas cableados son

Más detalles

Ejercicios de Paralelismo a Nivel de Instrucción

Ejercicios de Paralelismo a Nivel de Instrucción Ejercicios de Paralelismo a Nivel de Instrucción J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato Arquitectura de Computadores Grupo

Más detalles

Introducción a la arquitectura de computadores

Introducción a la arquitectura de computadores Introducción a la arquitectura de computadores Departamento de Arquitectura de Computadores Arquitectura de computadores Se refiere a los atributos visibles por el programador que trabaja en lenguaje máquina

Más detalles

TEMA I PROCESADORES SEGMENTADOS. UNED Manuel Fernandez Barcell

TEMA I PROCESADORES SEGMENTADOS. UNED Manuel Fernandez Barcell TEMA I PROCESADORES SEGMENTADOS UNED Manuel Fernandez Barcell Http://www.mfbarcell.es Capítulo 1. Procesadores segmentados 1.1. Guión-esquema 1.2. Introducción 1.3. Procesadores RISC frente a procesadores

Más detalles

CAPÍTULO 2 PROCESADORES SUPERESCALARES

CAPÍTULO 2 PROCESADORES SUPERESCALARES CAPÍTULO 2 PROCESADORES SUPERESCALARES LECTURA DE INSTRUCCIONES (etapa if) Falta de alineamiento Rotura de secuencialidad Tratamiento de los saltos Estrategias de predicción dinámica Pila de dirección

Más detalles

Procesadores de emisión múltiple

Procesadores de emisión múltiple Procesadores de emisión múltiple Arquitectura de Computadoras M. C. Felipe Santiago Espinosa Mayo/2018 Procesadores superescalares La segmentación permite la ejecución simultánea de instrucciones, pero

Más detalles

Procesadores de emisión múltiple

Procesadores de emisión múltiple Procesadores de emisión múltiple Arquitectura de Computadoras M. C. Felipe Santiago Espinosa Junio/2017 Procesadores superescalares La segmentación permite la ejecución simultánea de instrucciones, pero

Más detalles

Programa Educativo: Licenciatura en Ciencias PROGRAMA DE ESTUDIO. Obligatoria Programa elaborado por:

Programa Educativo: Licenciatura en Ciencias PROGRAMA DE ESTUDIO. Obligatoria Programa elaborado por: Programa Educativo: Licenciatura en Ciencias PROGRAMA DE ESTUDIO Computacionales Área de Formación : Sustantiva profesional Horas teóricas: 2 Horas prácticas: 3 Total de Horas: 5 Arquitectura de computadoras

Más detalles

Paralelismo al nivel de instrucciones

Paralelismo al nivel de instrucciones Paralelismo al nivel de instrucciones Arquitectura de Computadoras M. C. Felipe Santiago Espinosa Mayo de 2017 Qué es la segmentación o pipelining? O Técnica para la generación de paralelismo en microprocesadores.

Más detalles

Procesadores Superescalares v.2014

Procesadores Superescalares v.2014 Procesadores Superescalares v.2014 J. Smith and G. Sohi, The Microarchitecture of Superscalar Processors. Proceedings IEEE, Vol. 83, No. 12, Diciembre 1995. William Stallings, Organización y Arquitectura

Más detalles

Tema 10. Introducción a la op5mización de código

Tema 10. Introducción a la op5mización de código Tema 10. Introducción a la op5mización de código Organización de Computadores LUIS ENRIQUE MORENO LORENTE RAÚL PÉRULA MARTÍNEZ ALBERTO BRUNETE GONZALEZ DOMINGO MIGUEL GUINEA GARCIA ALEGRE CESAR AUGUSTO

Más detalles

Elementos constituyentes de la ejecución de un programa

Elementos constituyentes de la ejecución de un programa Micro-Operaciones En la ejecución de un programa en una computadora, se ejecutan instrucciones, que pueden subdividirse en ciclos: Búsqueda/Ejecución Cada ciclo se compone a su vez de una serie de operaciones

Más detalles

Paralelismo _Arquitectura de Computadoras IS603

Paralelismo _Arquitectura de Computadoras IS603 Paralelismo _Arquitectura de Computadoras IS603 INTRODUCCION El objetivo de esta investigación, es conceptualizar las diferentes tipos de paralelismo referente al área de Arquitectura de Computadoras,

Más detalles

Introducción a paralelismo a nivel de instrucción

Introducción a paralelismo a nivel de instrucción Introducción a paralelismo a nivel de instrucción Arquitectura de Computadores J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato Grupo

Más detalles

PROCESADORES SUPERESCALARES

PROCESADORES SUPERESCALARES PROCESADORES SUPERESCALARES Distribución Organización de la ventana de instrucciones Operativa de una estación de reserva individual Lectura de los operandos Renombramiento de registros Ejemplo de procesamiento

Más detalles

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL DEL PROCESADOR

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL DEL PROCESADOR MICROINSTRUCCIONES FUNCIONAMIENTO DE LA UNIDAD DE CONTROL DEL PROCESADOR La memoria de las maquinas IAS consiste en 1000 posiciones de almacenamiento, llamadas palabras, de 40 digitos binarios (bits) cada

Más detalles

Aspectos avanzados de arquitectura de computadoras Predicción de Saltos. Facultad de Ingeniería - Universidad de la República Curso 2017

Aspectos avanzados de arquitectura de computadoras Predicción de Saltos. Facultad de Ingeniería - Universidad de la República Curso 2017 Aspectos avanzados de arquitectura de computadoras Predicción de Saltos Facultad de Ingeniería - Universidad de la República Curso 2017 Introducción La ejecución contínua de instrucciones en un pipeline

Más detalles

Arquitectura de Computadores II Clase #7

Arquitectura de Computadores II Clase #7 Arquitectura de Computadores II Clase #7 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2009 Veremos Memoria virtual Resumen de ideas para mejorar performance 1 Recordemos:

Más detalles

Paralelismo en monoprocesadores. Procesadores VLIW

Paralelismo en monoprocesadores. Procesadores VLIW Paralelismo en morocesadores Procesadores VLIW Profesor: Mag. Marcelo Tosini Cátedra: Arquitectura de Computadoras y técnicas Digitales Carrera: Ingeniería de Sistemas Ciclo: 4º año Arquitectura VLIW básica

Más detalles

Tema 4 (II) El procesador

Tema 4 (II) El procesador Tema 4 (II) El procesador Grupo ARCOS Estructura de Computadores Grado en Ingeniería Informática Universidad Carlos III de Madrid Contenidos 1. Técnicas de control 1. Lógica cableada 2. Lógica almacenada

Más detalles

Arquitectura de Computadores II Clase #3

Arquitectura de Computadores II Clase #3 Arquitectura de Computadores II Clase #3 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Registros Repertorio de instrucciones Modos de direccionamiento El

Más detalles

Procesadores Superescalares: Paralelismo Explícito a Nivel de Instrucción

Procesadores Superescalares: Paralelismo Explícito a Nivel de Instrucción Tema 8 Procesadores Superescalares: Paralelismo Explícito a Nivel de Instrucción IA-64 es una arquitectura de 64 bits desarrollada conjuntamente por Intel y HP (Hewlett- Packard). Está basado en una tecnología

Más detalles

Organización del Computador. Máquina de von Neumann Jerarquía de Niveles

Organización del Computador. Máquina de von Neumann Jerarquía de Niveles Organización del Computador Máquina de von Neumann Jerarquía de Niveles El modelo de Von Neumann Antes: programar era conectar cables (ENIAC) Hacer programas era mas una cuestión de ingeniería electrónica

Más detalles

1.2. Implementación de Procesadores Superescalares

1.2. Implementación de Procesadores Superescalares 1.2. Implementación de Procesadores Superescalares Técnicas dinámicas: Complejidad alta desde el p. de v. de estructura o arquitectura Aquí las instrucciones son las normales o clásicas : compatibilidad

Más detalles

Tratamiento de Excepciones en MIPS

Tratamiento de Excepciones en MIPS Tratamiento de en MIPS Elías Todorovich Arquitectura I - Curso 2013 Riesgos de Control Las direcciones del PC no son secuenciales (PC = PC + 4) en los siguientes casos: Saltos condicionales (beq, bne)

Más detalles

Superescalares. Scheduling estático

Superescalares. Scheduling estático Superescalares Scheduling estático Introducción La CPU ejecuta las instrucciones en orden. El compilador: Puede cambiar el orden de ejecución. Genera el paquete de emisión. Trata de prevenir o reducir

Más detalles

TEMA 1: EJECUCIÓN PARALELA: FUNDAMENTOS(I)

TEMA 1: EJECUCIÓN PARALELA: FUNDAMENTOS(I) Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas ARQUITECTURA DE COMPUTADORES II AUTORES: David Expósito Singh Florin Isaila Daniel Higuero Alonso-Mardones Javier García Blas Borja Bergua

Más detalles

Docente Cargo Carga Horaria Carlos A. Correa Profesor Titular Exclusivo 10hs

Docente Cargo Carga Horaria Carlos A. Correa Profesor Titular Exclusivo 10hs 1. Carrera y Año: PROGRAMA ANALÍTICO 2010 ARQUITECTURAS AVANZADAS DE COMPUTADORAS - Licenciatura en Ciencias de la Computación 4 t año 2. Crédito Horario: - Horas áulicas por semana: 9 - Horario: Lunes:

Más detalles

ARQUITECTURA DE VON NEUMANN Y HARVARD

ARQUITECTURA DE VON NEUMANN Y HARVARD ARQUITECTURA DE VON NEUMANN Y HARVARD ARQUITECTURA VON NEUMANN En esta arquitectura se observa que las computadoras utilizan el mismo dispositivo de almacenamiento para datos e instrucciones conectados

Más detalles

ARQUITECTURA PIPELINE O DE ENSAMBLAJE

ARQUITECTURA PIPELINE O DE ENSAMBLAJE ARQUITECTURA PIPELINE O DE ENSAMBLAJE Miguel Ángel Asensio Hernández, Profesor de Electrónica de Comunicaciones. Departamento de Electrónica, I.E.S. Emérita Augusta. 06800 MÉRIDA. Un procesador basado

Más detalles

5. Procesador: camino de datos y control

5. Procesador: camino de datos y control Fundamentos de Computadores Ingeniería de Telecomunicación Departamento de Automática Escuela Politécnica Superior Curso académico 2009 2010 Contenidos 1 Control de operaciones elementales 2 3 4 5 Objetivos

Más detalles

TEMA 2: PARALELISMO INTERNO EN SISTEMAS COMPUTADORES SEGMENTACION

TEMA 2: PARALELISMO INTERNO EN SISTEMAS COMPUTADORES SEGMENTACION SEGMENTACION SEGMENTACION SEGMENTACION I I I I I 1 2 3 4 5 IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB SEGMENTACION INTRODUCIR NUEVA INSTRUCCIÓN CADA CICLO 1 CICLO,

Más detalles

Arquitectura de Computadores Problemas (hoja 4). Curso

Arquitectura de Computadores Problemas (hoja 4). Curso Arquitectura de Computadores Problemas (hoja 4). Curso 2006-07 1. Sea un computador superescalar similar a la versión Tomasulo del DLX capaz de lanzar a ejecución dos instrucciones independientes por ciclo

Más detalles

Introducción PROCESADOR SUPERESCALAR. Paralelismo. Grado m: en cada ciclo se buscan/decodifican m instrucciones. supes

Introducción PROCESADOR SUPERESCALAR. Paralelismo. Grado m: en cada ciclo se buscan/decodifican m instrucciones. supes Introducción PROCESADOR SUPERESCALAR Paralelismo bus d/le eje mem es t ciclo seg =t ciclo supes Grado m: en cada ciclo se buscan/decodifican m instrucciones Introducción CICLOS POR INSTRUCCION tciclo identico

Más detalles

Pipeline de instrucciones

Pipeline de instrucciones Pipeline de instrucciones Manejo de Interrupciones Tipos: - Síncronas - Asíncronas Asíncronas: No están asociadas a ninguna instrucción. Se atienden normalmente al final de la instrucción en ejecución.

Más detalles

CICLOS DEL PROCESADOR

CICLOS DEL PROCESADOR UNIDAD DE CONTROL CICLOS DEL PROCESADOR Qué es un ciclo de búsqueda? Para qué sirve estudiar los ciclos de instrucción de una CPU? Para comprender el funcionamiento de la ejecución de instrucciones del

Más detalles

Soluciones a ejercicios de Paralelismo a Nivel de instrucción

Soluciones a ejercicios de Paralelismo a Nivel de instrucción Soluciones a ejercicios de Paralelismo a Nivel de instrucción J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato Arquitectura de Computadores

Más detalles

Trabajo Práctico Número 6

Trabajo Práctico Número 6 Página 1 de 6 Trabajo Práctico Número 6 Arquitectura de Computadoras 24/05/2014 Instrucciones Los problemas de ejercitación propuestos en el presente trabajo práctico pueden ser resueltos en forma individual

Más detalles

Departamento Ingeniería en Sistemas de Información

Departamento Ingeniería en Sistemas de Información ASIGNATURA: ARQUITECTURA DE MODALIDAD: COMPUTADORAS DEPARTAMENTO: ING. EN SIST. DE INFORMACION HORAS SEM.: Anual 4 horas AREA: COMPUTACIÓN HORAS/AÑO: 128 horas BLOQUE TECNOLOGÍAS BÁSICAS HORAS RELOJ 96

Más detalles