Segmentación del ciclo de instrucción
|
|
- Manuel Morales Belmonte
- hace 6 años
- Vistas:
Transcripción
1 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 Computadores Un enfoque cuantitativo 1a Edición Capítulos 5 y 6 (4a Edición, Apéndice A)
2
3 Segmentación El ciclo de instrucción Fundamento: Sólo una parte del hardware es utilizado en cada etapa del ciclo de instr ucción. Definición: Técnica de implementación (invisible al programador) que superpone, en el tiempo, las diferentes etapas del ciclo de instrucción. Explotación del paralelismo entre partes de las instrucciones. Ejemplo de la línea de montaje (PIPELINE, tubería?). Aumenta productividad, pero desmejora la latencia (la sincronización entre etapas es costosa). Es imposible realizar una instrucción en un ciclo de reloj. El óptimo esperable sería realizar cada etapa del pipeline en un ciclo de reloj, alcanzando una productividad de una instrucción por ciclo.
4 Segmentación El ciclo de instrucción Modelo más simple: 3 etapas (3-stage pipeline). Requisitos: - registros intermedios - banco multiport (2+1) MEM UC ALU (Datapath) CAPTACION DE CAPTACION DE LA INSTRUCCION LA INSTRUCCION DECODIFICACION DECODIFICACION EJECUCION DE EJECUCION DE LA INSTRUCCION LA INSTRUCCION Instrucciones i i+1 i+2 FETCH FETCH DECODE DECODE FETCH FETCH EXECUTE EXECUTE DECODE DECODE FETCH FETCH EXECUTE EXECUTE DECODE DECODE EXECUTE EXECUTE n n+1 n+2 n+3 n+4 Ciclos -> Si la etapa de ejecución es la única que tiene acceso al DATAPATH, es la etapa más larga (debe acceder a los registros operando, realizar la operación, y almacenar el resultado.
5 Segmentación El ciclo de instrucción Se pude trasladar el acceso a los registros operando a la etapa de decodificación y agregar una cuarta etapa de escritura del resultado en registro (WB: write back). La etapa de ejecución sólo realiza la operación de la ALU. Las etapas 2 y 4 acceden al banco de registros (multiport). Falta prever el acceso a memoria. Segmentación en 5 etapas LOAD: F-D-CA-TR-WB
6 Segmentación Operando en memoria STALLINGS MEMORIA (programa) CAPTACION DE CAPTACION DE LA INSTRUCCION LA INSTRUCCION FI UC y REGISTROS DECODIFICACION DECODIFICACION DI ALU CALCULO DIR CALCULO DIR DEL OPERANDO DEL OPERANDO CO MEMORIA (datos) CAPTACION DEL CAPTACION DEL OPERANDO OPERANDO FO ALU EJECUCION DE EJECUCION DE LA INSTRUCCION LA INSTRUCCION EI CISC: CISC: operando operando en en memoria memoria REGISTROS ESCRITURA DEL ESCRITURA DEL OPERANDO OPERANDO WO
7 Segmentación Operando en memoria
8 Segmentación Condiciones necesarias Las instrucciones deben poder ser descompuestas en k etapas de menor duración. Las entradas de cada etapa k i deben estar determinadas únicamente por las salidas de la etapa anterior k i-1. Las duraciones de las diferentes etapas t i deben ser comparables. El clock del pipeline estará determinado por la etapa más lenta (t=max{t i }). Latencia Latencia de de todas todas las las instrucciones instrucciones = = k.t k.t Productividad Productividad máxima máxima = = 1/t 1/t
9 Segmentación Mejora Productividad vs. latencia Luego de k-1 ciclos las k etapas del pipeline estarán trabajando. Teóricamente en ese momento el pipeline tiene la máxima productividad (k instrucciones simultáneas) hasta que se altere la secuencia (salto o interrupción). Si aumento el número de etapas, aumenta la productividad, hasta cierto punto (ver luego). Si el pipeline tiene k etapas de duración t (duración de la etapa más larga), al ejecutarse un conjunto de n instrucciones, la mejora obtenida con esta técnica puede expresarse como: S= T T P = nkt t (k 1)+nt = nk k+n 1 k OBJETIVOS DEL DISEÑADOR: Equilibrar las etapas (igual duración), hacerlas independientes (que no compartan recursos) y mantenerlas ocupadas (atenuar los efectos de los saltos y la dependencia de datos)
10
11 Segmentación Límites en la implementación Retardo adicional al tener que presentar la información entre etapas en registros intermedios (control de la segmentación). La única opción es implementar las etapas de igual duración y todas las instrucciones deben respetarlas. Aumenta la complejidad de la CPU. Difícil mantener el cauce completo debido a los r iesgos de la segmentación (a continuación). TIPICO 3-5 ETAPAS MAXIMO 6-9 ETAPAS
12 Segmentación Ejemplos y Pentium: cinco etapas para instrucciones con enteros (FI, D1, D2, EX, WB) y ocho para instrucciones de punto flotante. PowerPC: cuatro etapas para instrucciones con enteros y seis para instrucciones de punto flotante. H-P (DLX): cinco etapas (IF, ID, EX, MEM, WB). Pow er PC: Es una arquitectura de computadoras de tipo RISC introducida en 1990 por la Alianza AIM, un consorcio de empresas compuesto por Apple, IBM y Motorola, de cuyas primeras letras, surgió la sigla. Los procesadores de esta familia son producidos por IBM y Freescale Semiconductor que es la division de semiconductores y microprocesadores de Motorola, siendo utilizados principalmente en ordenadores o computadores Macintosh de Apple Computer. Mas información en el sitio de IBM, Arquitecturas Power. Práctica de repaso: comparación con Pentium en Stallings, capítulos 1, 4 y 11.
13 Segmentación HP en cinco etapas RISC: RISC: carga/almacenamiento carga/almacenamiento DATAPATH 4c < CPI < 5c 1. FI: Captar la instrucción e incrementar PC 1. FI: Captar la instrucción e incrementar PC 2. ID: Decodificar instrucción y captar registros 2. ID: Decodificar instrucción y captar registros 3. EX: Tres opciones: calcular dirección efectiva, ALU o salto 3. EX: Tres opciones: calcular dirección efectiva, ALU o salto 4. MEM: Acceso a memoria (solo carga o almacenamiento) (Terminan store y saltos: 4c) 4. MEM: Acceso a memoria (solo carga o almacenamiento) (Terminan store y saltos: 4c) 5. WB: Escribir registro de salida (Termina el resto: 5c) 5. WB: Escribir registro de salida (Termina el resto: 5c)
14 1. Captación (fetch) IF La instrucción es transferida al registro de instrucción. En dos pasos porque el PC no tiene conexión directa a memoria. MAR PC; IR M[MAR] 2. Decodificación (decode) ID Decodificación y lectura de los registros involucrados. Puede hacerse simultáneamente por ser campo fijo. A Rs1; B Rs2; PC PC Ejecución (execute) EX Operación de la ALU. Depende del tipo de instrucción. Referencia a memoria, salto/bifurcación o instrucción ALU. No al mismo tiempo. ALUout A op B o MAR A + (IR)16; MDR Rd 4. Acceso a memoria (memory access) MEM Se accede a memoria si es necesario (carga o almacenamiento) con la dirección calculada en el paso anterior. O realizar el salto. MDR M[MAR]; M[MAR] MDR 5. Post-escritura (write-back) WB Escribir resultado en el registro, tanto si viene de la ALU como si viene de memoria. Rd ALUoutA o MDR
15 Segmentación HP en cinco etapas
16 Segmentación HP en cinco etapas
17 Segmentación HP en cinco etapas Requisitos: - registros intermedios - banco multiport (2 lecturas + 1 escritura) - memoria de datos e instrucciones separadas - incrementar PC - detección temprana de saltos (riesgos de control) + forwarding (dependencias)
18 Segmentación ARM7 ( 3) y ARM9 ( 5) Volver a la práctica de repaso
19 Segmentación Cortex-M3 en tres etapas
20 Segmentación Riesgos de la implementación HAZARDS: Situaciones que impiden la ejecución de la próxima instrucción de la secuencia durante su correspondiente ciclo (el procesador queda detenido, suspendido, stalled, durante uno o más ciclos). Todas las instrucciones posteriores son también suspendidas y no se realiza una nueva captación mientras dure la suspensión. Clasificación: Riesgos estructurales Riesgos por dependencia de datos Riesgos de control
21 Segmentación > Riesgos 1. Riesgos estructurales Sucede cuando un recurso (memoria, alu) debe ser utilizado por varias instrucciones simultáneamente. Ejemplo: una instrucción de carga desde memoria impide el acceso durante un ciclo. El fetch de la instrucción i+3 debe ser suspendido. Penalidad: 1 ciclo
22 Segmentación > Riesgos > 1. Estructurales Ejemplo
23 Segmentación > Riesgos > 1. Estructurales Ejemplo (cont)
24 Segmentación > Riesgos > 1. Estructurales Reducción de los efectos Duplicación de recursos, por ejemplo en el caso de la ALU. Cache de datos e instrucciones independientes, para evitar los conflictos de memoria. Un solo acceso a memoria de datos por instrucción (RISC). Lectura (x2) y escritura (x1) simultánea del banco de registros (RISC). Las unidades funcionales de PF pueden ser a la vez segmentadas para soportar varias instrucciones simultáneas (ver luego).
25 Segmentación > Riesgos 2. Riesgos por dep. de datos Sucede principalmente cuando una instrucción requiere un dato generado por la ejecución de una instrucción anterior que aún no ha finalizado. Ejemplo: Penalidad: 2 ciclos
26 Segmentación > Riesgos > 2. Dependencia de datos Clasificación Para dos instrucciones consecutivas los riesgos pueden clasificarse en tres categorías, siendo la primera la más usual. RAW (read after write): la segunda instrucción lee un dato antes que la primera lo genere. Lee el dato antiguo. WAR (write after read): la segunda escribe un destino antes que sea leído por la primera. La primera toma el valor incorrecto (nuevo). WAW (write after write): la segunda escribe un operando antes de que sea escrito por la primera. Escrituras en orden incorrecto. Queda lo escrito por la primera.
27 Segmentación > Riesgos > 2. Dependencia de datos Reducción de los efectos ADELANTAMIENTO (forwarding, bypassing) Camino adicional de HW. El resultado de la ALU es realimentado a su entrada, evitando el ciclo de escritura WO. Penalidad: 1 ciclo (antes 2)
28 Segmentación > Riesgos > 2. Dependencia de datos Forwarding
29 Segmentación > Riesgos > 2. Dependencia de datos Forwarding (cont)
30 Extensión de la segmentación para manipular operaciones multiciclo EMISION DE INSTRUCCIONES Antes de emitir una nueva instrucción de punto flotante - Comprobar riesgos estructurales - Comprobar dependencia de datos RAW - Comprobar adelantamiento
31 Extensión de la segmentación para manipular operaciones multiciclo SEGMENTACION DE LAS UNIDADES FUNCIONALES
32 Segmentación > Riesgos 3. Riesgos de control Efecto de las INTERRUPCIONES Producidos por las instrucciones de salto. Ejemplo salto incondicional: no se conoce la dirección de la próxima instrucción hasta después del FO. Se realiza el fetch de la instrucción siguiente y luego se descarta. Penalidad: 3 ciclos
33 Segmentación > Riesgos > 3. De control Ejemplo Salto condicional que SALTA: no se conoce la dirección de la próxima instrucción hasta después del EI. Penalidad: 3 ciclos
34 Segmentación > Riesgos > 3. De control Ejemplo (cont) Ejemplo salto condicional que NO SALTA: no se conoce la condición hasta después del EI, cuando la siguiente instrucción puede continuar. Penalidad: 2 ciclos Existe penalidad aunque no salte!
35 Segmentación > Riesgos > 3. De control Estadísticas Las operaciones de control (condicionales o incondicionales) son muy frecuentes en los programas reales, por lo que pueden reducir drásticamente la performance del pipeline. Estadísticas: 20-35% de las operaciones son saltos. ~65% de dichas operaciones toman el salto. Hay casi el doble de saltos condicionales que de saltos incondicionales.
36 Segmentación > Riesgos > 3. De control Reducción de los efectos Instruction fetch units y colas de instrucciones (hardware adicional) Buffer de bucles (pequeña cache de instrucciones consecutivas) [CRAY-1] Útiles solo en el caso de saltos incondicionales.
37 Segmentación > Riesgos > 3. De control Reducción de los efectos (cont) Flujos múltiples: Se siguen los dos caminos posibles, duplicando las partes iniciales del hardware. Puede entrar en el cauce una nueva bifurcación. [IBM 370/168] Salto retardado: Modificación del ciclo de instrucción, que requiere reordenamiento del código por parte del compilador. Luego de cada instrucción de salto hay un branch delay slot: la instrucción siguiente se ejecuta SIEMPRE % efectivo, si no NOP. [RISC]
38 Segmentación > Riesgos > 3. De control Reducción de los efectos (cont) Pr edicción de saltos: Estática Siempre salta o nunca salta [Motorola 68020] Depende de la direccion [PowerPC 601] Dinámica Uno o dos bits (HW) asociados a cada instrucción de salto [IBM 3090/400] Tabla de historia de saltos (memoria cache: tabla con dirección de la instrucción de bifurcación + bits de historia + destino) [AMD 29000] NOTA: Ejecución especulativa (no solo fetch, comienzo a ejecutar)
39 Segmentación > Riesgos > 3. De control Reducción de los efectos (cont) Esquema típico de predicción dinámica con dos bits: cambiar la predicción solo si suceden dos predicciones incorrectas consecutivas (ver variantes).
40 Segmentación > Riesgos Resumen RIESGOS RIESGOS ESTRUCTURALES ESTRUCTURALES (conflicto (conflicto de de recursos) recursos) RIESGOS RIESGOS POR POR DEPENDENCIA DEPENDENCIA DE DE DATOS DATOS (RAW-WAR-WAW) (RAW-WAR-WAW) RIESGOS RIESGOS DE DE CONTROL CONTROL (saltos (saltos - - interrupciones) interrupciones)
41 Segmentación Sumario Las instrucciones son ejecutadas por la CPU como una secuencia de pasos. La ejecución de instrucciones puede acelerarse sustancialmente utilizando segmentación (pipelining) Un pipeline se organiza como una secuencia de k etapas. En un cierto instante puede haber k instrucciones activas en el pipeline. Ejemplo línea de montaje. Aumentar el número de etapas aumenta la productividad, hasta cierto punto. Los riesgos (hazards) impiden mantener la máxima tasa. Los riesgos estructurales se deben a conflictos en la utilización de recursos. También existen riesgos por dependencia de datos (inevitables) y riesgos de control debidos a las instrucciones de salto. Las instrucciones de salto pueden deteriorar significativamente la performance del pipeline, por lo que deben aplicarse técnicas que reduzcan sus efectos.
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 detallesSegmentación: Mejora del rendimiento. IEC UTM Moisés E. Ramírez G. Segmentación
Segmentación: Mejora del rendimiento IEC UTM Moisés E. Ramírez G. 1 Segmentación La segmentación (pipelining) es una técnica de implementación por la cual se solapa la ejecución de múltiples instrucciones.
Más detallesTema 5. Segmentación: conceptos básicos
Tema 5. Segmentación: conceptos básicos Organización de Computadores LUIS ENRIQUE MORENO LORENTE RAÚL PÉRULA MARTÍNEZ ALBERTO BRUNETE GONZALEZ DOMINGO MIGUEL GUINEA GARCIA ALEGRE CESAR AUGUSTO ARISMENDI
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 2009 Organización general Superescalar Varios pipelines 2 ops. Enteras, 2 de
Más detallesDiseño de la jerarquía de memoria
Diseño de la jerarquía de memoria William Stallings, Organización y Arquitectura de Computadores Andrew S. Tanenbaum, Organización de Computadoras Linda Null y Julia Lobur, Computer Organization and Architecture
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 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 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 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 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 detallesSegmentación de cauce
Segmentación de cauce 11ª Semana Bibliografía: [HAM03] Cap.8 Organización de Computadores. Hamacher, Vranesic, Zaki. McGraw-Hill 2003 Signatura ESIIT/C.1 HAM org [STA8] Sec.12.4 Organización y Arquitectura
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 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 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 detallesArquitectura Segmentada: Conceptos básicosb
Arquitectura Segmentada: Conceptos básicosb Diseño de Sistemas Digitales EL-3310 I SEMESTRE 2008 4 ARQUITECTURA SEGMENTADA (PIPELINING) (4 SEMANAS) 4.1 Conceptos básicos de la arquitectura segmentada Paralelismo
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 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 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 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 detallesArquitectura de Computadores Problemas (hoja 2). Curso
Arquitectura de Computadores Problemas (hoja 2). Curso 2006-07 1. El siguiente fragmento de código se ejecuta en un DLX con segmentación: SUB R1,R2,R3 ADD R4,R5,R6 SUB R5,R4,R8 ADD R7,R2,R3 ADD R9,R7,R3
Más detallesEstructura de Computadores II
Estructura de Computadores II Folleto Nº 1 SEGMENTACIÓN Jesús Ruiz M. Procesador U de Datos S1+S2 S1&S2 S1-S2 S1 S2 Control Bus S1 Bus S2 Bus Dest S1^S2 S1>>S2 S1a S2 A S1 S2 L 0 1 U A Registros
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 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 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 detallesFundamentos de los Computadores Grado en Ingeniería Informática (hasta final del diseño monociclo)
8. Diseño del Procesador Fundamentos de los Computadores Grado en Ingeniería Informática (hasta final del diseño monociclo) Objetivos Plantear y modificar una ruta de datos para un repertorio de instrucciones
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 detallesLa Unidad de Control y el Camino de Datos
Prof. Rodrigo Araya E. raraya@inf.utfsm.cl Universidad Técnica Federico Santa María Departamento de Informática Valparaíso, 1 er Semestre 2006 1 2 3 Contenido Veremos el diseño completo de un subconjunto
Más detallesBibliografía: William Stallings Computer Organization and Architecture 6 th Edition. Tema 5 - Estructura y función de la CPU
Bibliografía: William Stallings Computer Organization and Architecture 6 th Edition Tema 5 - Estructura y función de la CPU Contenidos: Resumen y repaso de la organización del procesador Análisis de los
Más detallesPipelining. Introducción
Pipelining Introducción Definición Técnica de implementación. Consiste en ejecutar traslapadas varias instrucciones al mismo tiempo. Universidad de Sonora Arquitectura de Computadoras 2 Ejemplo Pasos para
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 detallesPipeline (Segmentación)
Pipeline (Segmentación) Segmentación (Pipeline) Es una técnica de implementación por medio de la cual se puede traslapar la ejecución de instrucciones. En la actualidad la segmentación es una de las tecnologías
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 detallesTema 6. Introducción a la segmentación avanzada: Riesgos
Tema 6. Introducción a la segmentación avanzada: Riesgos Organización de Computadores LUIS ENRIQUE MORENO LORENTE RAÚL PÉRULA MARTÍNEZ ALBERTO BRUNETE GONZALEZ DOMINGO MIGUEL GUINEA GARCIA ALEGRE CESAR
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 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 detallesFormatos de Instrucción en el MIPS R3000
Area Arquitectura Computadores Formatos Instrucción en el IPS R3000 6 5 5 16 C.O. rs1 rd Carga /Almacenamiento Saltos Condicionales 6 5 5 5 11 C.O. rs1 rs2 rd Operaciones AL 6 26 C.O. Saltos Incondicionales
Más detallesProcesador Segmentado
Organización del Computador I Verano Procesador Segmentado Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2014 Profesora Borensztejn Segmentación Descompone una determinada operación
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 detallesPrimer Semestre Laboratorio de Electrónica Universidad de San Carlos de Guatemala. Electrónica 5. Aux. Marie Chantelle Cruz.
Laboratorio de Electrónica Universidad de San Carlos de Guatemala Primer Semestre 2017 Overview 1 Cortex La más usada para dispositivos móviles Encoding por 32 bits, excepto Thumb y Thumb-2 15x32bits registros
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 detallesArquitectura de Computadoras para Ingeniería
rquitectura de Computadoras para Ingeniería (Cód. 7526) Cuatrimestre 26 Dra. Dana K. Urribarri DCIC - UNS Dana K. Urribarri C 26 Modelos de arquitecturas Dana K. Urribarri C 26 2 Modelo von Neumann El
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 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 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 detallesEC - Bibliografía EC -
. Introducción 2. IPS 3. Segmentación 4. Riesgos estructurales 5. Riesgos de datos 6. Riesgos de control 7. Riesgos de control con riesgos LDE 8. Resumen Bibliografía Hennessy Patterson Apendice A, 4ª
Más detallesARQUITECTURA DE COMPUTADORES. Práctica 8
ARQUITECTURA DE COMPUTADORES Práctica 8 Procesadores Segmentados: Introducción al simulador DLXIDE Evaluación de las prestaciones de la segmentación en el DLX Práctica 8: Procesadores Segmentados 1 de
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 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 detallesRepaso de Arquitectura y Organización Criterios de clasificación
Repaso de Arquitectura y Organización Criterios de clasificación William Stallings, Organización y Arquitectura de Computadores Andrew S. Tanenbaum, Organización de Computadoras Linda Null y Julia Lobur,
Más detallesARQUITECTURA DE COMPUTADORES Problemas TEMA 4: Microprocesadores avanzados
Departament d Informàtica Sistemes i Computadors ARQUITECTURA DE COMPUTADORES Problemas TEMA 4: Microprocesadores avanzados SUGERENCIAS PARA LA RESOLUCIÓN DE LOS PROBLEMAS La ruta datos propuesta en todos
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 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 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 detallesSegmentación de instrucciones
7HPD6HJPHQWDFLyQGH,QVWUXFFLRQHV 2EMHWLYRV 5HIHUHQFLDV (WDSDVGHXQFDXFH 3DURQHV HVWUXFWXUDOHV SRUGHSHQGHQFLDGHGDWRV SRUGHSHQGHQFLDGHFRQWURO 0RGLILFDFLyQGHXQFDXFHSDUDRSHUDFLRQHVPXOWLFLFOR (MHPSORHO0,365 1
Más detallesApellidos 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
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 detalles1) En un DLX con segmentación ejecutamos el siguiente fragmento de código:
Arquitectura e Ingeniería de Computadores. Examen Parcial (Problemas). 10/02/2009 1) En un DLX con segmentación ejecutamos el siguiente fragmento de código: ADDI r3,r0,#3 L1 : SUBD F2,F6,F8 SUBD F4,F8,F6
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 e Ingeniería de Computadores Problemas (hoja 3). Curso
Arquitectura e Ingeniería de Computadores Problemas (hoja 3). Curso 2006-07 1. Sea la siguiente secuencia de código de instrucciones en punto flotante para un computador similar al DLX que aplica gestión
Más detallesTema 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
Más detallesArquitectura de Computadoras
Arquitectura de Computadoras Clase 7 Memoria Sistema de Memoria Los programadores desean acceder a cantidades ilimitadas de memoria rápida!! Solución práctica: Jerarquía de memoria organizada en niveles
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 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 detallesARQUITECTURA SPARC: FORMATO DE INSTRUCCIÓN
ARQUITECTURA SPARC: FORMATO DE INSTRUCCIÓN De Diego Varona, Rubén Romay López, Oscar Manuel Vega Martínez, Jorge INTRODUCCIÓN La representación de la instrucción en la computadora se denomina formato.
Más detallesPipeline o Segmentación Encausada
Pipeline o Segmentación Encausada Material Elaborado por el Profesor Ricardo González A partir de Materiales de las Profesoras Angela Di Serio Patterson David, Hennessy John Organización y Diseño de Computadores
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 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 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 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 detallesArquitectura de Computadores - 2001
IV. Segmentación o Pipelining Alternativas de Implementación de Procesador 1. Procesador Uniciclo CPI = 1 Pero Período de Reloj Grande 2. Procesador Multiciclo CPI > 1 Pero Período de Reloj más Pequeño
Más detallesCapitulo 1 Fundamentos de Computadores - I.T.Telecomunicación - Segundo cuatrimestre. INTRODUCCION A LOS FUNDAMENTOS DE COMPUTADORES
INTRODUCCION A LOS FUNDAMENTOS DE COMPUTADORES Hoja 1 PRIMERA APROXIMACION AL CONCEPTO DE COMPUTADOR Computador: máquina que procesa la información para obtener unos resultados. La información a procesar
Más detallesMicrocontroladores. Unidad 1
Microcontroladores Unidad 1 1.1 Conceptos básicos Ordenador o Computadora Sistema de calculo de propósito general que incorpora una unidad central de proceso, memoria y dispositivos de entrada y salida.
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 detallesDepartamento de Automática
Departamento de Automática Tema 2 Estructuras segmentadas Prof. Dr. José Antonio de Frutos Redondo Dr. Raúl Durán Díaz Curso 2010-2011 Tema 2. Estructuras segmentadas Noción de segmentación Rendimiento.
Más detallesArquitectura de Computadores Segmentación del Cauce - 1
En este capítulo vamos a ver cómo mejorar las prestaciones de la CPU mediante los procesadores segmentados (o en pipeline), los cuales incorporan una técnica para acelerar el ritmo de ejecución de las
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 detallesQué es Pipelining? Es una técnica de implementación en la que se superpone la ejecución de varias instrucciones.
Qué es Pipelining? Es una técnica de implementación en la que se superpone la ejecución de varias instrucciones. Aprovecha el paralelismo entre instrucciones en una corriente secuencial de instrucciones.
Más detallesB) Arquitectura generalizada de una computadora
Microprocesadores B) Arquitectura generalizada de una computadora LAS COMPONENTES PRINCIPALES UNA MICROCOMPUTADORA SON: La Unidad Central de Procesamiento,CPU constituido por el Microprocesador Microprocesadores
Más detallesArquitectura e Ingeniería de Computadores. Examen Parcial. 7/02/2012
Apellidos Nombre Grupo: Arquitectura e Ingeniería de Computadores. Examen Parcial. 7/02/2012 Instrucciones.- Cada pregunta consta de cinco afirmaciones, y cada una de las afirmaciones puede ser cierta
Más detalles