DEPENDENCIAS Y BLOQUEOS DE CONTROL (Apartado 2.8)

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

Download "DEPENDENCIAS Y BLOQUEOS DE CONTROL (Apartado 2.8)"

Transcripción

1 DEPENDENCIAS Y BLOQUEOS DE CONTROL (Apartado 2.8) 1. Introducción. 2. Dependencias, riesgos y bloqueos de control. 3. Consideraciones de implementación. 4. Comportamiento de los saltos condicionales. 5. Implementaciones alternativas de saltos. 6. Conclusiones.

2 Tipos de instrucciones de control CPI = CPI ideal + CPI estruct + CPI datos + CPI control + CPI mem SALTO Formato Rango BEQZ/BNEZ I J, JAL J 16 bits con signo 26 bits con signo Frec. INT (DLX) Frec. FP (DLX) 16% 8% 1%, 1% 0.5%, 1% JR, JALR I Registro 1% 1% Muy frecuentes (1 de cada 4 a 7 instr.) Usaremos: F saltos (INT) = 0.2 F saltos (FP) = 0.1 Bucles: saltos condicionales hacia atrás muy frecuentes 2

3 Definiciones y Nomenclatura Cond F PC+4 Instr. sig. V PCdest Instr. dest SALTOS CONDICIONALES Tomado/No Tomado (T/NT) Rama Tomada/Rama No Tomada Instr. de destino/instr. siguientes Tras resolver Instr. Válidas PCdest Instr. dest SALTOS INCONDICIONALES 3

4 Ejemplo de ejecución de instr. salto ADD R8, R0, R0 Etiq:... ; Instr. de destino... ADDI R8, R8, 1 SLTI R9, R8, 100 BNEZ R9, Etiq... ; Instr. Siguientes Rama Tomada Rama No Tomada RESOLVER SALTO (Hardw.) 1. PC dest =NPC +Desplaz (SUMADOR) Salto hacia atrás: Desplaz<0 Salto hacia delante: Desplaz>=0 2. Condición : R9 0 ( Rf=0? ) 3. Actualizar el PC: (MUX) if (Cond) PC=PC+4 ; else PC= PC dest ; Siguiente fase IF buscará instr válidas. 4

5 INDICE 1. Introducción. 2. Dependencias, riesgos y bloqueos de control. 3. Consideraciones de implementación. 4. Comportamiento de los saltos condicionales. 5. Implementaciones alternativas de saltos. 6. Conclusiones. 5

6 Dependencias de control Recordemos: Dependencia Ejec. Secuencial instr. 1 instr. 2 instr. 3 Ve todos los recursos No depend. Ejec. Encaden. Inst 1 Inst 2 Inst 3 Inst 4 Inst 5 Qué es una dependencia de control? : Uso del PC Cond F Instr. sig. V Instr. dest Fichero.exe Salto Inst sig1 Inst sig2 Inst sig3 Inst sig4

7 Riesgo Bloqueo de Control Saltos son muy comunes Cómo afecta al rendimiento? Salto Inst sig1 Inst sig2 Inst sig3 Resuelve salto: Actualiza PC IF ID EX MEM WB IF ID EX IF ID IF IF ID EX MEM WB Inst válida 3 ciclos de bloqueo: CONGELAR O VACIAR la cadena N º c. bq.( control) N º c. bq.( control) N º saltos CPI control = = = N º instr. N º saltos N º instr. PROGRAMAS INT: CPI control = 3 * 0.2 = 0.6 c.bq./instr P saltos F saltos A = t t ejec real ejec ideal = N N inst inst CPI CPI real ideal T T = % más lenta INTENTAR MEJORAR 7

8 SOLUCIÓN: Adelantar Resolución IDEAL Resuelve el salto Salto Inst válida1 Inst válida2 No hacen nada IF ID EX MEM WB IF ID EX MEM IF ID EX 0 c.bq. salto (intentar acercanos a lo anterior) Adelantar la resolución para evitar bloqueos. El coste hw adicional no debe ser alto. 8

9 INDICE 1. Introducción. 2. Dependencias, riesgos y bloqueos de control. 3. Consideraciones de implementación. 4. Comportamiento de los saltos condicionales. 5. Implementaciones alternativas de saltos. 6. Conclusiones. 9

10 Modificaciones en el esquema del DLX IF ID EX MEM WB Add M U X TRASLADAR 4 + Cero? PC Memoria Instrucc. IR 32 Rs1 Rs2 Rd dato Fichero de registros M U X M U X REPLICAR ALU Memoria de datos M U X 16 Ext. 32 signo PC dest NOTA: Faltan los bypasses 10

11 DLX con saltos adelantados IF ID EX MEM WB Add M U X PC dest Se alarga la fase ID 4 Add Cero? PC Memoria Instrucc. IR 32 Rs1 Rs2 Rd dato Fichero de registros M U X M U X ALU Memoria de datos M U X 16 Ext. signo 32 NOTA: Faltan los bypasses 11

12 Consideraciones de la nueva implementación Incompatible? con lectura de registros en el 2º semiciclo (WB, escritura en el 1º). Mayor complejidad Nuevo sumador, Nuevos caminos de desvío (Operando Rcond leído en fase ID). Nuevos bloqueos estudiar nuevos bloqueos de datos y nuevos bypasses que han de introducirse. Sol: ALU R1, 1 c.bq. BEQZ R1, etiq EJERC. Load R1, [dir] BNEZ R1, etiq Load R1, [dir] instr sin dependencias BEQZ R1, etiq 2 c.bq. 1 c.bq. EX MEM WB ID EX MEM IF ID EX IF ID EX IF ID 12

13 CPI control tras el adelantamiento TÉCNICA CONGELAR O VACIAR la cadena No hacen nada Salto Inst sig1 Inst válida IF ID EX MEM WB IF IF ID EX ABORT 1 c.bq. CPI control = F saltos * P saltos = 0.2 * (1) = 0.20 A = t t ejec real ejec ideal = % más lenta 13

14 Mejorar aún más el rendimiento Los saltos son instr. muy comunes ( Acelerar el caso común ). Muchas máquinas reales tienen muchas más fases que el DLX: Resuelven el salto en la 3ª, 4ª o más. MIPS R4000 (1992, 8 fases), en la 4ª fase (EX). Pentium (1992, 5 fases), en la 4ª fase (EX). Pentium Pro, II y III ( , 10 fases), en la 8ª fase (EX). UltraSPARC III (1999, 12 fases), en la 8ª fase (EX), etc. (hoy, tendencia hacia la supersegmentación o superencadenamiento...) 14

15 EJERC. Ejemplo: intentar aumentar el rendimiento por supersegmentación CPI control = 0.2 * 3= 0.6 DLX2: T DLX2 T DLX /2 (por similitud resolvería los saltos al final de ID2) No hacen nada Salto T Inst sig1 Inst sig2 Inst sig3 Inst válida IF1 IF2 ID1 ID2 EX1 EX2 M1 M2 WB1 WB2 IF1 IF2 ID1 3 c.bq. IF1 IF2 IF1 IF1 IF2 ID1 ID2 EX1 EX2 M1 M2 WB1 WB2 A = t t ejec DLX ejec DLX2 = N N instr instr T T DLX DLX2 CPI CPI DLX DLX2 = 2 (1+ 0.2) (1+ 0.6) = 2.4 (1.6) = 1.5 La supersegmentación no tiene por qué ser la clave! CPI control mucho mayor. Cuantificar otros bloqueos y reducción de T DLX2

16 Principales soluciones para mejorar aún más el rendimiento Muchos mecanismos de reducir más el CPI control : Estudiar su comportamiento, desde el punto de vista estático y sofisticar saltos para aprovechar ese estudio. Recoger su comportamiento con técnicas dinámicas (aptdo 2.9). Eliminándolos (si se conoce con exactitud su comportamiento, ej. bucles, se verá más adelante, tema 3). IDEA: Si se adivinara el comportamiento de un salto ( predecir ) intentar ejecutar instrucciones de rama predicha 16

17 INDICE 1. Introducción. 2. Dependencias, riesgos y bloqueos de control. 3. Consideraciones de implementación. 4. Comportamiento de los saltos condicionales. 5. Implementaciones alternativas de saltos. Saltos que apuestan. Saltos retrasados. 6. Conclusiones. 17

18 Comportamiento medio de los saltos condicionales Programas INT: Saltos Cond: %T = 60%-70% ; %NT= 40%-30% T son el doble de frecuentes CASO COMÚN Programas FP: Saltos Cond: %T = 65%-75% En f. de PC dest : Saltos Hacia atrás (PC dest <= PC salto ) %T = 85% Saltos Hacia adelante (PC dest >PC salto ) %T = 60% Saltos hacia atrás casi siempre se Toman (bucles). Estas estadísticas no varían mucho con las entradas de un prog. ÚNICA CONCLUSIÓN GENERAL ( salto): TOMADO ES EL CASO COMÚN 18

19 Comportamiento individualizado de los saltos ( profiling ) Estadísticas de ejecuciones previas Cada salto está muy polarizado (bucles, condiciones de salida, etc.). Si se asocia un comportamiento individual a cada salto: % error en la predicción (DLX) prog. INT: 15% ; prog. FP: 9% En la media: (INT) 46 instr sin errar ; (FP) 173 instr sin errar. El compilador indicaría la predicción en un bit del opcode. (Ej. Intel i960ca). IDEA BUENA, pero PROBLEMAS: Realizar ejecuciones temporales en medio de la compilación Habría doble número de tipos de saltos. Hoy tb. se implementa esto con técnicas dinámicas 19

20 INDICE 1. Introducción. 2. Dependencias, riesgos y bloqueos de control. 3. Consideraciones de implementación. 4. Comportamiento de los saltos condicionales. 5. Implementaciones alternativas de saltos (técnicas estáticas) Saltos que apuestan. Saltos retrasados. 6. Conclusiones. 20

21 CONGELAR O VACIAR LA CADENA TÉCNICA CONGELAR O VACIAR LA CADENA (Siempre se abortan las instr. siguientes). NT T 1 1 c.bq. CPI control = 0.2 * (1) = 0.2 Salto Inst sig1 Inst válida IF ID EX MEM WB IF IF ID EX Si se predice que va a hacer ser un salto, se puede apostar (implementación) empezando a ejecutar la rama predicha: APOSTAR POR NO TOMADO ABORT 1 c.bq. APOSTAR POR TOMADO (No en DLX; Falta PC ) 21

22 TÉCNICA APOSTAR POR SALTO NT Salto NT IF ID EX MEM WB Inst sig1 IF ID EX MEM 0 c.bq. Inst válida (sig2) IF ID EX Salto T Inst sig1 Inst válida (dest) NOTA: Implementación normal del DLX es Ap.NT Especulación (Concepto): se empieza a ejecutar instr sig. especulando c.bq. IF ID EX MEM WB IF NT T 0 1 IF ID EX ABORT 1 c.bq. CPI control = F saltos * P saltos =F saltos * (%NT * P saltosnt + %T * P saltost ) CPI control = 0.2 * (0.3* *1) = 0.14 no mejora mucho, favorece caso menos común 22

23 INDICE 1. Introducción. 2. Dependencias, riesgos y bloqueos de control. 3. Consideraciones de implementación. 4. Comportamiento de los saltos condicionales. 5. Implementaciones alternativas de saltos. Saltos que apuestan. Saltos retrasados. 6. Conclusiones. 23

24 CONCEPTO: SALTO RETRASADO IDEA: Aprovechar el tiempo que se tarda en resolver el salto (el hueco) ejecutando otras instrucciones. Instr ant1 Instr ant2 Instr ant3 Salto IF ID EX MEM WB Instr sig1 ant2 IF ID EX MEM WB Inst válida IF ID IF IF Instr ant1 Instr ant2 Instr ant3 Salto Instr sig1 Instr ant1 Instr ant3 Salto Retr. Instr ant2 Instr sig1 HUECO DEL SALTO ( delay slot ) No es fácil que el compilador (planificación estática) encuentre instrucciones anteriores sin dependencia de datos para rellenar (efectividad en el rellenado). Mnemotécnicos: DBNEZ, DBEQZ NOTA: DLX (resuelve saltos en ID) sólo una instrucción en hueco. 24

25 Salto retrasado con anulación Si el salto es capaz de anular o cancelar instrucciones del hueco No tantos problemas para rellenarlo con instr. de una u otra rama (Efectividad 90%) CBEQZ o CBNEZ (C de cancelling ) Más complejo de implementar, pero más prestaciones. Aprovecha que los saltos están muy polarizados. Compilador introduce la instrucción de la rama predicha CBNEZ.pt y CBNEZ.pnt 25

26 Cronogramas para saltos retrasados con anulación CBEQZ.pt (T) Inst dest1(hueco) Inst válida(dest) IF ID EX MEM WB IF ID EX MEM IF ID EX 0 c.bq. CBEQZ.pt (NT) Inst dest1(hueco) Inst válida(sig1) IF ID EX MEM WB IF IF ID EX CANCEL 1 c.bq. CBEQZ.pnt (NT) Inst sig1 Inst válida (sig2) IF ID EX MEM WB IF ID EX MEM IF ID EX 0 c.bq. CBEQZ.pnt (T) Inst sig1 Inst válida(dest) IF ID EX MEM WB IF IF ID EX CANCEL 1 c.bq. 26

27 Penalidad saltos retrasados con anulación NOTA: CBEQZ.pnt BEQZ Apostar por NT (TÉCNICA 2) CBEQZ.pnt CBEQZ.pt NT T CBEQZ Ac. Fall 0 1 Ej. Calcular CPI control medio para programas FP e INT. Suponer la predicción se hace por ejecuciones previas (profiling) y 100% de efectividad en el relleno del hueco. INT: CPI control = F saltos * (%Ac * 0 + %Fall * 1) = = 0.2*(0.15 * 1) = 0.03 c.bq./instr FP: CPI control = F saltos * (%Ac * 0 + %Fall * 1) = = 0.1*(0.09 * 1) = c.bq./instr 27

28 Problemas de los saltos retrasados Técnica estática, prob. de compatibilidad futura (tamaño del hueco variará con la versión del procesador) Problemas de herencia. Nuevos procesadores llevan ya otros mecanismos hardware tendrá que implementar tales saltos para que el software antiguo sea compatible. Implementar un nuevo tipo de salto (se acerca a CISC) Técnicas dinámicas son trasparentes al usuario (ventaja). Hoy existe una técnica similar a CBEQZ pero dinámicamente (caché de predicción). Muy efectiva. 28

29 CONCLUSIONES SALTOS SON MUY COMUNES CPI CONTROL ALTO. IMPORTANTE ADELANTAR LA RESOLUCIÓN (PCdest y Cond) IMPORTANTE: CONOCIMIENTO DE SALTOS. SALTOS CON AYUDA DEL COMPILADOR (TÉCN. ESTÁTICA) : PROBLEMAS (herencia, etc.) VEREMOS LA EXTENSIÓN DE ESTAS TÉCNICAS DE FORMA DINÁMICA. 29

30 EJERCICIOS (I). (Apartado 2.8) TRANSPARENCIA Tipos de instrucciones de control Ejemplo de ejecución de instr. salto Riesgo Bloqueo de Control Cómo afecta al rendimiento? SOLUCIÓN: Adelantar Resolución DLX con saltos adelantados Consideraciones de la nueva implementación CPIcontrol tras el adelantamiento Mejorar aún más el rendimiento Ejemplo: intentar aumentar el rendimiento por supersegmen... Escribir en ensamblador del DLX una estructura condicional tipo: if-then ó if (cond) {... } (necesita un único Salto Cond.) Idempara: if-then-else ó if (cond) {... } else {... } (necesita Salto Cond. + Salto incond. ) Idem para estruct. iterativa: for ( ; cond ; ) {... }, while (cond) {... } (necesita Salto cond+salto incondicional) Idem para estruct. iterativa: do {... } while (cond); (necesita sólo un Salto cond) Qué tiene un porcentaje de saltos mayor: una traza de ejecución o el código estático. Pensar que debe hacerse en el DLX para resolver un salto tipo JR y otro tipo JAL Calcular la deceleración típica producida por los saltos en un programa FP respecto del DLX ideal. Idem para un programa entero, donde la penalidad de los saltos tomados es de 3 ciclos, y la de los No tomados, de 0. Suponer % saltos tomados=70% Aumenta la penalidad de control si todos los saltos van precedidos de un dependencia de datos que bloquea 1 ciclo el DLX? Por qué no se puede resolver un salto en la fase IF en un DLX? CUESTIONES Si el tiempo de propagación de los siguientes circuitos es de 1 ns, calcular el incremento del periodo de un DLX que lee en el segundo semiciclo los registros fuente, y en el cual todas las fases duraban exactamente lo mismo antes de adelantar los saltos:comparador con cero, MUX, Sumador, escritura en un registro Dibujar los cronogramas de los ejemplos. Dibujar un esquemático con los bypasses nuevos para los saltos resueltos en ID. Calcular la deceleración típica producida por los saltos en un programa entero (respecto del DLX ideal), donde la penalidad de los saltos tomados es de 1 ciclos, y la de los No tomados, de 0 (Suponer % saltos tomados=70%). Dibujar una gráfica con la deceleración introducida por los saltos en un programa entero para un procesador de N etapas (respecto del procesador con CPI=1), si la penalidad de los saltos tomados es de N-3 ciclos, y la de los No tomados, de 0. Poner N en abscisas y deceleración en ordenadas. Suponer % saltos tomados=70% Dibujar una gráfica con la deceleración entre el DLX y un procesador supersegmentado de 5*K etapas, si la penalidad de los saltos es de 2*K-1 ciclos, y el periodo obedece a la fórmula 9/K+1 ns. Poner K en abscisas y deceleración en ordenadas. Suponer % saltos tomados=70% 30

31 EJERCICIOS (II). (Apartado 2.8) TRANSPARENCIA CUESTIONES Principales soluciones para mejorar aún más el rendimiento Comportamiento medio de los saltos condicionales Comportamiento individualizado de los saltos ( profiling ) TÉCNICA APOSTAR POR SALTO NT CONCEPTO: SALTO RETRASADO Salto retrasado con anulación Penalidad saltos retrasados con anulación Problemas de los saltos retrasados Qué tendrá menos CPI de control, un bucle for () o un bucle do...while (), según la traducción propuesta anteriormente? Calcular la deceleración típica producida por los saltos en un programa entero (respecto del DLX ideal), donde la penalidad de los saltos hacia atrás es de 2 ciclos, y la de los saltos hacia delante de 1 ciclo Idem para programas enteros y también para programas FP, si la penalidad en los saltos donde se acierta en la predicción es de 0 ciclos, y 2 ciclos para aquellos donde se yerra en la predicción. Cuántos saltos habría en un DLX, donde el opcode debe llevar un bit indicando la predicción hecha por el compilador? Para el DLX que resuelve completamente los saltos en fase MEM, calcular el CPIcontrol con esta técnica para programas enteros. Para un hipotético DLX que apostara por salto tomado (y las penalidades fueran las contrarias de apostar por NT), calcular la aceleración con la técnica anterior. Para el DLX que resuelve completamente los saltos en ID, calcular el CPIcontrol, si la efectividad en encontrar una instrucción es del 60%, y el DLX solo tiene saltos retrasados (en caso de no encontrar instrucción para el hueco, inserta un bloqueo software, NOP). Idem si el DLX tiene saltos retrasados y no retrasados (apuestan por NT). Para el DLX que resuelve completamente los saltos en fase MEM, calcular el tamaño del hueco y la probabilidad de rellenarlo completamente, si la efectividad en encontrar una instrucción es del 60%. Rescribir el siguiente programa usando un salto CBEQZ.pt: BUCLE: LW R1, (R3)0 ADDI R3, R3, 4 BEQZ R1, BUCLE Para programas FP en el DLX que resuelve completamente los saltos en MEM, calcular el CPIcontrol, si la efectividad en encontrar tres instrucciones para el hueco es del 80%, y tiene saltos retrasados con anulación y normales (apuestan por NT). En caso de no encontrar instrucción para el hueco, usa el salto normal. Usar los porcentajes de acierto en predicción de esta transparencia. %Tomados=70% El código generado por un compilador para un DLX (de 5 etapas), usando saltos retrasados con anulación, es compatible con un DLX supersegmentado de 10 etapas? Por qué? 31

3. SEGMENTACIÓN DEL CAUCE

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

Más detalles

Introducción a paralelismo a nivel de instrucción

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

Más detalles

Definición de prestaciones

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

Más detalles

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 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 detalles

ADDI R4,R0,#2 ADDI R1,R0,#40 LOOP: LW R2,0(R1) SUBI R3,R2,#1 MUL R2,R3,R2 DIV R2,R3,R4 SW 0(R1),R2 SUBI R1,R1,#4 BNEZ R1, LOOP ADDI R4,R0,#0

ADDI R4,R0,#2 ADDI R1,R0,#40 LOOP: LW R2,0(R1) SUBI R3,R2,#1 MUL R2,R3,R2 DIV R2,R3,R4 SW 0(R1),R2 SUBI R1,R1,#4 BNEZ R1, LOOP ADDI R4,R0,#0 P2. (3 puntos) El siguiente código en ensamblador recorre un vector v, que comienza en la posición 0, calculando para cada v[i] el número de combinaciones que pueden darse con v[i] elementos tomados de

Más detalles

Arquitectura de Computadores Problemas (hoja 2). Curso

Arquitectura 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 detalles

Tratamiento de Excepciones en MIPS

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

Más detalles

Arquitectura de Computadores Problemas (hoja 2). Curso

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

Más detalles

Predictores Dinámicos

Predictores Dinámicos Predicción dinámica. La predicción de saltos pretende reducir la penalización producida por los saltos, haciendo prebúsqueda ( prefetching ), emitiendo y ejecutando instrucciones del camino destino del

Más detalles

TEMA 2: PARALELISMO INTERNO EN SISTEMAS COMPUTADORES SEGMENTACION

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

Más detalles

5. PREDICCIÓN DINÁMICA DE SALTOS

5. PREDICCIÓN DINÁMICA DE SALTOS 5. PREDICCIÓN DINÁMICA DE SALTOS 1 PREDICCIÓN DINÁMICA DE SALTOS 1. Introducción 2. Buffer de Predicción de Saltos (BPB) 3. Buffer de Destinos de Saltos (BTB) 4. Predictores Globales 5. Predictores Adaptativos

Más detalles

Tema 1: PROCESADORES SEGMENTADOS

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

Más detalles

1.2. Implementación de Procesadores Superescalares

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

Más detalles

Segmentación de instrucciones

Segmentación de instrucciones 7HPD6HJPHQWDFLyQGH,QVWUXFFLRQHV 2EMHWLYRV 5HIHUHQFLDV (WDSDVGHXQFDXFH 3DURQHV HVWUXFWXUDOHV SRUGHSHQGHQFLDGHGDWRV SRUGHSHQGHQFLDGHFRQWURO 0RGLILFDFLyQGHXQFDXFHSDUDRSHUDFLRQHVPXOWLFLFOR (MHPSORHO0,365 1

Más detalles

Arquitectura de Computadores Problemas (hoja 4). Curso

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

Más detalles

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

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

Más detalles

6. PROCESADORES SUPERESCALARES Y VLIW

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

Más detalles

int vector[100]; // en principio vector tiene al menos // cien elementos aunque pueda tener más... for (i=0; i<100; i++) vector[i] = vector[i] + 1;

int vector[100]; // en principio vector tiene al menos // cien elementos aunque pueda tener más... for (i=0; i<100; i++) vector[i] = vector[i] + 1; ARQUITECTURA DE SISTEMAS PARALELOS. 3º INGENIERIA TECNICA EN INFORMATICA DE SISTEMAS. BOLETÍN DE EJERCICIOS DE Introducción al paralelismo. Curso 04/05 (SOLUCIONES) 1. Inicialmente R3 = R2 + 400. como

Más detalles

1) En un DLX con segmentación ejecutamos el siguiente fragmento de código:

1) 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 detalles

Segmentación del ciclo de instrucción

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

Más detalles

Segmentación del ciclo de instrucción

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

Más detalles

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

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

Más detalles

ARQUITECTURA DE COMPUTADORES Problemas TEMA 4: Microprocesadores avanzados

ARQUITECTURA 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 detalles

Departamento de Automática

Departamento 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 detalles

Departamento de Automática

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

Más detalles

Segmentació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. 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 detalles

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

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

Más detalles

Ejercicios de Paralelismo a Nivel de Instrucción

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

Más detalles

Ejercicios para el 3er parcial

Ejercicios para el 3er parcial Problema 1: Representar la ejecución de las siguientes instrucciones: Add $2, $5, $4 Add $4, $2, $5 Lw $5, 100($2) Add $3, $5, $4 Beq $8, $8, s1 And $1, $2, $3 OR $4, $5, $6 s1: Sub $7, $8, $9 Ejercicios

Más detalles

OBJETIVOS ALGUNAS CONSIDERACIONES SOBRE WINDLX

OBJETIVOS ALGUNAS CONSIDERACIONES SOBRE WINDLX Arquitectura de Sistemas Paralelos 3 er curso de Ingeniería Técnica en Informática de Sistemas Práctica: Procesador segmentado DLX. Técnicas de optimización Curso 2005/2006 OBJETIVOS En esta práctica se

Más detalles

Riesgos de Control. Problemas con el Control de Flujo Saltos en el MIPS R3000 Métodos de Resolución

Riesgos de Control. Problemas con el Control de Flujo Saltos en el MIPS R3000 Métodos de Resolución Arquitectura (08/09) Riesgos Control Problemas con el Control Flujo Saltos en el MIPS R3000 Métodos Resolución Reducción la Latencia Predicción Salto Salto Retardado 53 Arquitectura (08/09) Problemas con

Más detalles

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 1

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 1 TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE INSTRUCCIONES (ILP) BASADO EN TÉCNICAS DINÁMICAS ÍNDICE 3.1. Técnicas de Planificación dinámica: Algoritmo del marcador, Implementación del Algoritmo de Tomasulo,

Más detalles

Paralelismo al nivel de instrucciones

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

Más detalles

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicio 1. Dada la siguiente expresión de un lenguaje de alto nivel int a = 6; int b = 7; int c = 3; int d; d = (a+b) * (a+b); Indique

Más detalles

Dpto. Arquitectura y Tecnología de Computadores SPD. Práctica 5. pág 1

Dpto. Arquitectura y Tecnología de Computadores SPD. Práctica 5. pág 1 SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 5. PROCESADORES SUPERESCALARES: PLANIFICACIÓN DINÁMICA. OBJETIVOS. En esta práctica se trata de estudiar, por un lado, el aumento de prestaciones que

Más detalles

EXAMEN DE ARQUITECTURA II Septiembre, 2010

EXAMEN DE ARQUITECTURA II Septiembre, 2010 NOMBRE Y APELLIDOS DEL ALUMNO: EXAMEN DE ARQUITECTURA II Septiembre, 2010 El examen consta de dos bloques de cuestiones de teoría y otro de ejercicios, algunos de ellos con respuestas de opción múltiple.

Más detalles

Tema 5. Segmentación: conceptos básicos

Tema 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 detalles

ARQUITECTURA DE SISTEMAS PARALELOS I. 4º INGENIERÍA INFORMÁTICA. PRÁCTICA 3.

ARQUITECTURA DE SISTEMAS PARALELOS I. 4º INGENIERÍA INFORMÁTICA. PRÁCTICA 3. ARQUIECURA DE SISEMAS PARALELOS I. 4º INGENIERÍA INFORMÁICA. PRÁCICA 3. BLOQUEOS DE COROL, DESENROLLADO DE BUCLES Y PREDICCIÓN DINÁMICA DE SALOS. OBJEIVOS. En esta práctica se trata de estudiar teóricamente,

Más detalles

Tema 5 (III) Jerarquía de Memoria

Tema 5 (III) Jerarquía de Memoria Grupo ARCOS Tema 5 (III) Jerarquía de Memoria Estructura de Computadores Grado en Ingeniería Informática Contenidos 1 Tipos de memoria 2 Jerarquía de memoria 3 Memoria principal 4 Memoria caché 5 Memoria

Más detalles

Arquitectura e Ingeniería de Computadores. Examen Parcial. 7/02/2012

Arquitectura 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

Forwarding versus Stalling

Forwarding versus Stalling Forwarding versus Stalling Dependencias Considerar el siguiente código: 1.sub $2, $1, $3 2.and $12, $2, $5 3.or $13, $6, $2 4.add $14, $2, $2 5.sw $15, 100($2) Las instrucciones 2 a 5 dependen de $2. Universidad

Más detalles

Arquitectura de Computadores

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

Más detalles

Procesadores segmentados. El DLX.

Procesadores segmentados. El DLX. Procesadores segmentados. El DLX. Curso 2011-2012 Características de las Arquitecturas Tipos de Arquitectura Organización de la Memoria Direccionamiento de Memoria Operaciones en el Repertorio de Instrucciones

Más detalles

PROCESADORES DE EMISIÓN MÚLTIPLE

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

Más detalles

Procesadores Superescalares

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

Más detalles

TEMA 1: ARQUITECTURAS ENCADENADAS AVANZADAS

TEMA 1: ARQUITECTURAS ENCADENADAS AVANZADAS TEMA 1: ARQUITECTURAS ENCADENADAS AVANZADAS 1.1 Enfoques del paralelismo a nivel de instrucciones: Enfoque superescalar, VLIW, supersegmentado (superpipeline). 1.2 Procesadores RISC superescalares: coste

Más detalles

TEMA 3. PLANIFICACIÓN (SCHEDULING) DE INSTRUCCIONES Arquitectura de Sistemas Paralelos 1. pág 2. direcc MEM

TEMA 3. PLANIFICACIÓN (SCHEDULING) DE INSTRUCCIONES Arquitectura de Sistemas Paralelos 1. pág 2. direcc MEM TEMA 3 PLANIFICACIÓN O REORDENAMIENTO (SCHEDULING) DE INSTRUCCIONES ÍNDICE 3.. CONCEPTOS FUNDAMENTALES 3., 3.4 PLANIFICACIÓN ESTÁTICA. DESENROLLADO DE BUCLES. 3.3. PLANIFICACIÓN DINÁMICA (Algoritmo Tomasulo).

Más detalles

El procesador. Datapath para las instrucciones de brinco

El procesador. Datapath para las instrucciones de brinco El procesador Datapath para las instrucciones de brinco Instrucciones de brinco Dos tipos de instrucciones de brincos: 1. Brinco condicional. beq $t0, $t1, Etiqueta ; if t0 == t1 goto Etiqueta 2. Brinco

Más detalles

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicio 1. Escriba un programa en ensamblador del MIPS 32 para calcular la suma de los 100 primeros números naturales. El programa

Más detalles

Arquitectura de Computadores. Tema 4 PROCESADORES SEGMENTADOS

Arquitectura de Computadores. Tema 4 PROCESADORES SEGMENTADOS Arquitectura de Computadores Tema 4 PROCESADORES SEGMENTADOS 1. Arquitecturas RISC y CISC. 2. Unidad de Control monociclo y multiciclo. 3. Segmentación. 3.1. Ruta de datos del MIPS R2000. 3.2. Control

Más detalles

Ingeniería Informática. Ampliación de Estructura de Computadores. Curso 2010-11

Ingeniería Informática. Ampliación de Estructura de Computadores. Curso 2010-11 6.3.3 Riesgo de Control. Los riesgos por control en DLX son menos frecuentes que los riesgos por dependencia de datos, pero al no haber una solución tan buena como el adelantamiento de datos, se convierten

Más detalles

Arquitecturas RISC. Arquitectura de Computadoras y Técnicas Digitales - Mag. Marcelo Tosini Facultad de Ciencias Exactas - UNCPBA

Arquitecturas RISC. Arquitectura de Computadoras y Técnicas Digitales - Mag. Marcelo Tosini Facultad de Ciencias Exactas - UNCPBA Arquitecturas RISC Características de las arquitecturas RISC Juego de instrucciones reducido (sólo las esenciales) Acceso a memoria limitado a instrucciones de carga/almacenamiento Muchos registros de

Más detalles

Forwarding versus Stalling

Forwarding versus Stalling Forwarding versus Stalling Dependencias Considerar el siguiente código: 1.sub $2, $1, $3 2.and $12, $2, $5 3.or $13, $6, $2 4.add $14, $2, $2 5.sw $15, 100($2) Las instrucciones 2 a 5 dependen de $2. Universidad

Más detalles

La Unidad de Control y el Camino de Datos

La 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 detalles

Arquitectura de Computadores II Clase #5

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

Más detalles

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

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

Más detalles

Arquitectura del CPU. Organización del Computador 1 Verano 2016

Arquitectura del CPU. Organización del Computador 1 Verano 2016 Arquitectura del CPU Organización del Computador 1 Verano 2016 Agenda De dónde venimos? Introducción: esquema de una computadora Representación de la información Circuitos Combinatorios Circuitos Secuenciales

Más detalles

COMPUTADORES SEGMENTADOS (DLX)

COMPUTADORES SEGMENTADOS (DLX) DEPARTAMENTO DE AUTOMÁTICA ARQUITECTURA Y TECNOLOGÍA DE COMPUTADORES Laboratorio de Arquitectura e Ingeniería de Computadores PRÁCTICA I COMPUTADORES SEGMENTADOS (DLX) OBJETIVO El objetivo de la práctica

Más detalles

Estructura de Computadores II

Estructura 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 detalles

TEMA 3 PROCESADORES VLIW (Very Long Instruction Word)

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

Más detalles

2. SEGMENTACIÓN ENCAUZADA AVANZADA Y PARALELISMO DE INSTRUCCIONES: EJERCICIOS Y CUESTIONES

2. SEGMENTACIÓN ENCAUZADA AVANZADA Y PARALELISMO DE INSTRUCCIONES: EJERCICIOS Y CUESTIONES 2. SEGMENTACIÓN ENCAUZADA AVANZADA Y PARALELISMO DE INSTRUCCIONES: EJERCICIOS Y CUESTIONES 2.1. Completa tus conocimientos del MIPS64 (una versión de MIPS). Debes aprender qué registros tiene, tipos de

Más detalles

Segmentación de cauce

Segmentació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 detalles

2. SEGMENTACIÓN ENCAUZADA AVANZADA Y PARALELISMO DE INSTRUCCIONES: EJERCICIOS Y CUESTIONES

2. SEGMENTACIÓN ENCAUZADA AVANZADA Y PARALELISMO DE INSTRUCCIONES: EJERCICIOS Y CUESTIONES 2. SEGMENTACIÓN ENCAUZADA AVANZADA Y PARALELISMO DE INSTRUCCIONES: EJERCICIOS Y CUESTIONES 2.1. Completa tus conocimientos del MIPS64 (una versión de MIPS). Debes aprender qué registros tiene, tipos de

Más detalles

ARQUITECTURA DE SISTEMAS PARALELOS. 3º INGENIERÍA TECNICA EN INFORMÁTICA DE SISTEMAS. PRÁCTICA 6 (curso 03/04) SEGMENTACION EN EL PROCESADOR DLX

ARQUITECTURA DE SISTEMAS PARALELOS. 3º INGENIERÍA TECNICA EN INFORMÁTICA DE SISTEMAS. PRÁCTICA 6 (curso 03/04) SEGMENTACION EN EL PROCESADOR DLX ARQUITECTURA DE SISTEMAS PARALELOS. 3º INGENIERÍA TECNICA EN INFORMÁTICA DE SISTEMAS. PRÁCTICA 6 (curso 03/04) SEGMENTACION EN EL PROCESADOR DLX OBJETIVOS. En esta práctica manejaremos un simulador (WinDLX,

Más detalles

Tema 7: Procesadores superescalares

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

Más detalles

Arquitectura e Ingeniería de Computadores Problemas (hoja 3). Curso

Arquitectura 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 detalles

Práctica 1 - Rendimiento *

Práctica 1 - Rendimiento * Práctica 1 - Rendimiento * Organización del Computador 1 Verano 2014 Subconjunto mínimo de ejercicios recomendado: 1 a 11 Ejercicio 1 Considere tres procesadores distintos P 1, P 2 y P 3 que ejecutan el

Más detalles

Plataformas de soporte computacional: arquitecturas avanzadas,

Plataformas de soporte computacional: arquitecturas avanzadas, Plataformas de soporte computacional: arquitecturas avanzadas, sesión Diego R. Llanos, Belén Palop Departamento de Informática Universidad de Valladolid {diego,b.palop}@infor.uva.es Índice. Arquitectura

Más detalles

Estrategias de predicción dinámicas.

Estrategias de predicción dinámicas. Estrategias de predicción dinámicas. Las técnicas que vamos a ver ahora para predicción de saltos se basan en información conocida sólo en tiempo de ejecución. Dos estructuras son necesarias para realizar

Más detalles

Autor: Longinos Recuero Bustos

Autor: Longinos Recuero Bustos Actividad 1.1 Autor: Longinos Recuero Bustos Suponiendo que se aplica una mejora a una máquina de tal forma que el rendimiento es 20 veces superior al que tenía y considerando que la mejora únicamente

Más detalles

2.9. PREDICCIÓN DINÁMICA DE SALTOS ÍNDICE

2.9. PREDICCIÓN DINÁMICA DE SALTOS ÍNDICE 2.9. PREDICCIÓN DINÁMICA DE SALOS ÍNDICE 1. INRODUCCIÓN: PREDICCIÓN ESÁICA VS. DINÁMICA. 2. CACHÉS DE PREDICCIÓN DINÁMICA DE SALOS 3. IPOS DE MÁQUINAS PREDICIVAS. 4. IMPLEMENACIÓN DE BB EN DLX. 5. PRESACIONES:

Más detalles

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria 1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo

Más detalles

Qué 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. 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 detalles

SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 3. PLANIFICACIÓN ESTÁTICA AVANZADA. TMS320C6713

SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 3. PLANIFICACIÓN ESTÁTICA AVANZADA. TMS320C6713 SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 3. PLANIFICACIÓN ESTÁTICA AVANZADA. TMS320C6713 OBJETIVOS. En esta práctica se trata de estudiar dos de las técnicas de planificación estática más importantes:

Más detalles

ARQUITECTURA VON NEUMANN

ARQUITECTURA VON NEUMANN ARQUITECTURA VON NEUMANN Computador bus de datos bus de direcciones bus de control Usuario y aplicaciones Lenguajes de alto nivel Sistema operativo Unidad Central de Proceso Memoria principal Unidad de

Más detalles

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

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

Más detalles

PREDICCIÓN HARDWARE DE BIFURCACIONES

PREDICCIÓN HARDWARE DE BIFURCACIONES PREDICCIÓN HARDWARE DE BIFURCACIONES Predicción dinámica: más acertada y costosa que la estática Efectividad esquema de predicción dinámica depende de Porcentaje de aciertos en las predicciones Tiempo

Más detalles

Arquitectura y Tecnología de Computadores. Curso 07/08

Arquitectura y Tecnología de Computadores. Curso 07/08 Arquitectura y Tecnología de Computadores. Curso 07/08 Arquitecturas Paralelas. Practica V RIESGOS EN PROCESADORES SEGMENTADOS (II) Ejecución real sobre el MIPS R3000 1. Objetivo: Evaluar la incidencia

Más detalles

Tema 4: Diseño de un microprocesador

Tema 4: Diseño de un microprocesador Tema : Diseño de un microprocesador Febrero de Tema : Diseño de un microprocesador Febrero de / 7 Índice Introducción Visión general de la implementación El camino de datos Control del camino de datos

Más detalles

COMPUTADORES SEGMENTADOS (DLX)

COMPUTADORES SEGMENTADOS (DLX) DEPARTAMENTO DE AUTOMÁTICA ARQUITECTURA Y TECNOLOGÍA DE COMPUTADORES Laboratorio de Arquitectura e Ingeniería de Computadores PRÁCTICA I COMPUTADORES SEGMENTADOS (DLX) OBJETIVO El objetivo de la práctica

Más detalles

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

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

Más detalles

Programación en ensamblador Ejercicios propuestos

Programación en ensamblador Ejercicios propuestos Programación en ensamblador Ejercicios propuestos Ejercicio 1. Dada la siguiente expresión de un lenguaje de alto nivel int a = 6; int b = 7; int c = 3; int d; d = (a+b) * (a+b); Indique un fragmento de

Más detalles

Fundamentos de los Computadores Grado en Ingeniería Informática (hasta final del diseño monociclo)

Fundamentos 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 detalles

Proc. Superescalares con Planificación dinámica

Proc. Superescalares con Planificación dinámica Proc. Superescalares con Planificación dinámica Arquitectura muy distinta a la de los superescalares con planif. estática. En estas máquinas superescalares se implementa un algoritmo de planificación o

Más detalles

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

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

Más detalles

Formatos de Instrucción en el MIPS R3000

Formatos 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 detalles

Organización de Computadoras. Pipeline Continuación

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

Más detalles

Seminario 1: Procesadores paralelos

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

Más detalles

Arquitectura de Computadores II Clase #4

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

Más detalles

Arquitectura de Computadores II Clase #4

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

Más detalles

Organización de Computadoras. Principios de Conjuntos de Intrucciones

Organización de Computadoras. Principios de Conjuntos de Intrucciones Organización de Computadoras Principios de Conjuntos de Intrucciones Clasifición de las ISA Secuencia de Código para C = A + B Stack Acumulador Registro (Reg-Mem) Registro (load-store) Push A Load A Load

Más detalles

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

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

Más detalles

3. Instrucciones: lenguaje de la máquina

3. Instrucciones: lenguaje de la máquina 3. Instrucciones: lenguaje de la máquina Fundamentos de Computadores Ingeniería de Telecomunicación Raúl Durán Díaz Departamento de Automática Escuela Politécnica Superior Curso académico 2009 2010 Raúl

Más detalles

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

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

Más detalles

Sección de procesamiento: El camino de datos

Sección de procesamiento: El camino de datos Sección de procesamiento: El camino de datos Montse Bóo Cepeda Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain. Estructura del curso 1. Evolución

Más detalles

Soluciones a ejercicios de Paralelismo a Nivel de instrucción

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

Más detalles