Arquitectura de Computadores II Clase #16
|
|
- Valentín Montero Rojo
- hace 6 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 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 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 detallesArquitectura 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 detallesAspectos 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 detallesAspectos 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 detallesProcesadores 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 detallesProcesadores 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 detallesArquitectura 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 detallesTema 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 detallesIntroducció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 detallesCuestionario 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 detallesGRADO 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 detallesUnidad 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 detallesSeminario 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 detallesTutorí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 detallesSegmentació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 detallesARQUITECTURA 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 detallesOrganizació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 detallesArquitectura 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 detallesPROCESADORES 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 detallesMicro 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 detallesArquitectura 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 detalles6. 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 detallesArquitectura 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 detallesProcesadores 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 detalles1. 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 detallesParalelismo 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 detallesSegmentació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 detallesPIPELINING: 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 detallesArquitectura 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 detallesPROCESADORES 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 detallesAspectos 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 detallesProcesadores 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 detallesTema 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 detallesAspectos 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 detallesTecnologí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 detalles3. 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 detallesExplotació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 detallesDefinició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 detallesCAPÍ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 detallesCAPÍ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 detallesParalelismo 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 detallesTEMA 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 detallesProcesadores 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 detallesSegmentació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 detallesHISTORIA 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 detallesArquitectura 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 detallesArquitectura 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 detallesArquitectura 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 detallesModelos 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 detallesSuperescalares 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 detallesSuperescalares. 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 detallesArquitectura 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 detallesArquitectura 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 detallesArquitectura 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 detallesTEMA 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 detallesTé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 detallesPlanificació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 detallesSegmentació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 detallesVista 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 detallesEjercicios 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 detallesIntroducció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 detallesTEMA 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 detallesCAPÍ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 detallesProcesadores 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 detallesProcesadores 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 detallesPrograma 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 detallesParalelismo 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 detallesProcesadores 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 detallesTema 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 detallesElementos 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 detallesParalelismo _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 detallesIntroducció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 detallesPROCESADORES 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 detallesFUNCIONAMIENTO 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 detallesAspectos 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 detallesArquitectura 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 detallesParalelismo 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 detallesTema 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 detallesArquitectura 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 detallesProcesadores 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 detallesOrganizació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 detalles1.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 detallesTratamiento 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 detallesSuperescalares. 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 detallesTEMA 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 detallesDocente 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 detallesARQUITECTURA 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 detallesARQUITECTURA 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 detalles5. 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 detallesTEMA 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 detallesArquitectura 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 detallesIntroducció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 detallesPipeline 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 detallesCICLOS 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 detallesSoluciones 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 detallesTrabajo 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 detallesDepartamento 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