Arquitectura de Computadores II Clase #16
|
|
- Gloria Aguirre Plaza
- hace 5 años
- Vistas:
Transcripción
1 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 PF y una de memoria se pueden ejecutar simultáneamente 1
2 Scheduling estático y dinámico Instruction level parallelism (ILP) Detectar instrucciones independientes en una secuencia, cuya ejecución se pueda solapar Limitaciones: dependencias de datos y procedimientos Tarea del compilador, o static scheduling Machine Parallelism Capacidad de usar adecuadamente el ILP Recurso clave: cantidad de pipelines paralelos Técnicas de hardware para reordenar instrucciones en tiempo de ejecución, o dynamic scheduling Scoreboard Tomasulo Limitaciones al paralelismo Instruction level parallelism Optimización basada en el compilador Técnicas de Hardware Limitaciones o hazards (recordar Clase #10): 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) 2
3 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 dependientes, no se pueden ejecutar en paralelo Fácil de determinar para registros (nombres fijos) Difícil para memoria: 100(r4) = 20(r6)? En diferentes iteraciones de loop, es 20(R6) = 20(R6)? Read After Write (RAW) 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 movida 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. Estas dependencias son más flexibles para obtener paralelismo 3
4 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 Cuando se diseña el set de instrucciones Mirando los códigos de operación sabemos los recursos que usa cada instrucción Buscar uniformidad en el uso de estos recursos Efecto de algunas dependencias 4
5 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 arranque I2 porque esta 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 Register Renaming Dependencias de salida y antidependencias ocurren porque los contenidos de los registros pueden no reflejar el orden correcto del programa Pueden resultar en un stall del pipeline Renaming: registros dinámicamente asignados por el hardware Ejemplo Recordar: R3b:=R3a + R5a (I1) R3:=R3 + R5; (I1) R4b:=R3b + 1 (I2) R4:=R3 + 1; (I2) R3c:=R5a + 1 (I3) R3:=R5 + 1; (I3) R7b:=R3c + R4b (I4) R7:=R3 + R4; (I4) Agregamos un subíndice que indica como se asignan por el hardware Notar que la asignación R3c en I3 evita la antidependencia en I2 y permite que I4 acceda al valor correcto 5
6 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 cambian registros y memoria Podemos tener las siguientes políticas: In-Order Issue In-Order Completion In-Order Issue Out-of-Order Completion Out-of-Order Issue Out-of-Order Completion In-Order Issue In-Order Completion Issue de instrucciones en el orden en que ocurren en el programa No es un esquema eficiente Instruccions deben esperar ( stall ) si es necesario 6
7 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 In-Order Issue Out-of-Order Completion Usado en RISC para sobrellevar las instrucciones que llevan muchos ciclos La finalización desordenada hace surgir la output dependency R3:= R3 + R5; (I1) R4:= R3 + 1; (I2) R3:= R5 + 1; (I3) I2 depende del resultado de I1 dependencia de datos Si I3 se completa antes que I1, el resultado de I1 será erróneo (output dependency) Se decodifican instrucciones hasta el punto de dependencia o conflicto Obs: el tratamiento de interrupciones se complica notoriamente con finalización desordenada 7
8 In-Order Issue Out-of-Order Completion (Diagrama) Out-of-Order Issue Out-of-Order Completion La idea es desacoplar 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 pipeline 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 8
9 Out-of-Order Issue Out-of- Order Completion (Diagrama) 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) Otras técnicas Dynamic Branch Prediction Ejecución especulativa Instrucciones condicionales o predicated 9
10 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 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 Unidades Funcionales Jerarquía de memoria Mecanismos para hacer el commit en orden correcto 10
11 Ejecución especulativa Una instrucción que depende de un salto que se predice como a tomarse es despachada sin ninguna consecuencia (incluyendo excepciones) si el salto es realmente no tomado; se denomina boosting Combina predicción de saltos con despacho dinámico para ejecutar antes que los saltos sean resueltos Cuando la instrucción no es mas especulativa escribe los resultados de la instrucción boosted (instruction commit) o los descarta Ejecuta fuera de orden pero hace commit in-order para prevenir una acción irrevocable (actualización del estado o excepción) hasta que la instrucción haga su commit Alternativas para CPI < 1: Despachando Múltiples Instrucciones/Ciclo Dos variaciones: Superscalar: variando el número de instrucciones / ciclo (1 to 8), acomodadas por el compilador o el hardware IBM PowerPC, Sun UltraSparc, DEC Alpha, HP 8000 (Very) Long Instruction Words (V)LIW: número fijo de instrucciones (4-16) acomodadas por el compilador; colocando los operadores en formatos anchos Arquitectura Intel 64 (IA-64) con direccionamiento de 64- bit: Explicitly Parallel Instruction Computer (EPIC) 11
12 VLIW vs. Superscalar Código mas pequeño Compatibilidad Binaria entre generaciones de hardware Hardware simplificado para la decoficación y despacho de instrucciones No Interlock Hardware (el compilador verifica?) Mas registros, pero Hardware simplificado para los Puertos de Registros (multiples conjuntos de registros independientes? Ejemplo: Pentium y anteriores - CISC Pentium algunos componentes superescalares Dos unidades separadas de ejecución entera Pentium Pro primer superescalar Modelos siguiente refinan & mejoran el diseño superescalar 12
13 Pentium 4 : diagrama de bloques 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 Ejecución de micro-ops en el pipeline superescalar Las micro-ops pueden se ejecutadas fuera de orden Los commit de resultados al set de registros se hacen en el orden del flujo de programa original Carcaza CISC con corazón RISC El pipeline del core RISC tiene del orden de 20 etapas Algunas micro-ops requiren múltiples pasos de ejecución Pipeline más largo 13
14 Pentium 4: pipeline Operación del Pipeline del Pentium 4 (1/6) 14
15 Operación del Pipeline del Pentium 4 (2/6) Operación del Pipeline del Pentium 4 (3/6) 15
16 Operación del Pipeline del Pentium 4 (4/6) Operación del Pipeline del Pentium 4 (5/6) 16
17 Operación del Pipeline del Pentium 4 (6/6) Próxima clase Arquitecturas paralelas 17
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,
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,
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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,
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
Compiladores: Generación de Código. Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. María Constanza Pabón
Compiladores: Generación de Código Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. María Constanza Pabón Generación de Código Representación Intermedia Tabla de Símbolos
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
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.
ORGANIZACIÓN DOCENTE del curso
ORGANIZACIÓN DOCENTE del curso 2010-11 1. DATOS GENERALES DE LA ASIGNATURA NOMBRE Arquitectura e Ingenieria de es PÁGINA WEB http://aulavirtual.unican.es CÓDIGO 5411 DEPARTAMENTO ELECTRÓNICA Y COMPUTADORES
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
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
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
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
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
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
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
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.
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
Clasificación de las Arquitecturas
Clasificación de las Arquitecturas MIA José Rafael Rojano Cáceres Arquitectura de Computadoras I Por la taxonomía de Flynn 1 Flynn Flujo de datos Simple Múltiple Flujo de datos Simple Múltiple SISD MISD
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
Arquitectura de Computadores
Universidad Politécnica de Madrid Departamento de Informática Aplicada Notas y Diapositivas de Arquitectura de Computadores Francisco Aylagas José Luis Esteban Andrés Sevilla Reservados todos los derechos.
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
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
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
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
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,
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
Tema 2: Lenguaje máquina. La interfaz entre el hardware y el software
Tema 2: Lenguaje máquina La interfaz entre el hardware y el software 1 Índice Introducción. Formatos de Instrucción. Modos de Direccionamiento. Ortogonalidad y Regularidad. Frecuencia de Utilización de
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
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
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
Introducción a las Computadoras. Capítulo 3 Buses del Sistema
Introducción a las Computadoras Capítulo 3 Buses del Sistema Concepto de Programa Los sistemas de propósito específico no son flexibles El Hardware de propósito general puede realizar diferentes tareas,
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
Tema 9. Planificación dinámica de instrucciones II: Algoritmo de Tomasulo
Tema 9. Planificación dinámica de instrucciones II: Algoritmo de Tomasulo Organización de Computadores LUIS ENRIQUE MORENO LORENTE RAÚL PÉRULA MARTÍNEZ ALBERTO BRUNETE GONZALEZ DOMINGO MIGUEL GUINEA GARCIA
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
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
Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones
Introducción a la Computación Capítulo 10 Repertorio de instrucciones: Características y Funciones Que es un set de instrucciones? La colección completa de instrucciones que interpreta una CPU Código máquina
2. DISEÑO DEL REPERTORIO DE INSTRUCCIONES MÁQUINA
2. DISEÑO DEL REPERTORIO DE INSTRUCCIONES MÁQUINA 2.1. Tipos de juegos de instrucciones 2.2. Compiladores, repertorio de instrucciones y rendimiento 2.3. Computadores de juego reducido de instrucciones:
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
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.
Apellidos Nombre Grupo. Arquitectura e Ingeniería de Computadores. Examen Final (Teoría parte primer cuatrimestre). 18/06/2012
Apellidos Nombre Grupo Arquitectura e Ingeniería de Computadores. Examen Final (Teoría parte primer cuatrimestre). 18/06/2012 Instrucciones.- Cada pregunta consta de cinco afirmaciones, y cada una de las
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
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:
Departamento de Automática
Departamento de Automática Tema 3 Paralelismo a nivel de instrucción (I) Prof. Dr. José Antonio de Frutos Redondo Dr. Raúl Durán Díaz Curso 2010-2011 Tema 3. Paralelismo a Nivel de Instrucción I Planificación
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
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: