TEMA 2 ILP BASADO EN PLANIFICACIÓN ESTÁTICA DE INSTRUCCIONES ÍNDICE

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

Download "TEMA 2 ILP BASADO EN PLANIFICACIÓN ESTÁTICA DE INSTRUCCIONES ÍNDICE"

Transcripción

1 TEMA 2 ILP BASADO EN PLANIFICACIÓN ESTÁTICA DE INSTRUCCIONES ÍNDICE 2.1. Conceptos fundamentales: Grafo y tipos de dependencias, Bloques básicos, Límite teórico de ejecución (dataflow-limit), compatibilidad de las aplicaciones Planificación estática básica. Desenrollado de bucles Planificación estática avanzada: Segmentación software Ejecución predicativa, Planificación de trazas y Especulación software Enfoques del paralelismo: Procesadores VLIW Ejemplos reales TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 1

2 2.1. CONCEPTOS FUNDAMENTALES Definición de Planificación, secuenciamiento o reordenamiento (scheduling): reordenar instrucciones para evitar bloqueos. Objetivo: reducir Bloqueos de datos. for (i=0; i<n; i++) { ejercicio: hallar cuerpo del bucle } LF F2, 0(R1) MULTF F1, F2, F3 DIVF F2, F1, F4 ADDF F1, F2, F3 SF 0(R1), F ADDI R1, R1, 4 SLT R2, R1, R7 BNEZ R2, bucle LF F2, 0(R1) MULTF F1, F2, F3 ADDI R1, R1, 4 DIVF F2, F1, F4 SLT R2, R1, R7 ADDF F1, F2, F3 SF -4(R1), F1 BNEZ R2, bucle TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 2

3 Tipos de dependencias de datos Dependencia real (registros) o RAW (read after write) o Es inevitable e inherente al algoritmo o son muy frecuentes Dependencias ficticias (registros) o WAW (write after write): dependencia de salida o WAR (write after read): se le llama antidependencia o Se pueden eliminar mediante renombrado de registros Dependencia real (memoria) o Analizar dinámicamente direcciones ejercicio: señalar tipos de dependencias en código anterior ejercicio: qué significa dinámicamente? Renombrado. Ejemplo MULTF F1, F2, F3 DIVF F2, F1, F4 ADDF F1, F2, F3 SF 0(R1), F1 MULTF F1, F2, F3 DIVF F20, F1, F4 ADDF F10, F20, F3 SF 0(R1), F10 TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 3

4 Conclusión: programa como grafo de dependencias reales. Pero existe un límite de CPI (data flow limit o límite de flujo de datos) o Solo se ven las fases de ALU y acceso memoria: EX/MEM o Fases IF ID WB etc. se hacen en paralelo MULTF F1, F2, F3 MULT DIVF F20, F1, F4 IF ID IF ID ADDF F10, F20, F3 IF ID SF 0(R1), F10 Tiempo TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 4 DIV Bypass y Registros temporales ADD Planificación estática limitada por saltos (es difícil cruzarlos ). Bloques básicos: barreras de Planificación for (i=0; i<n ; i++) { if (a[i]<0) { } } else { } b[i]=-a[i]; b[i]=a[i]; WB WB MEM ejercicio: renombrar registros para eliminar dep. ficticias en bucle anterior. ATENCION: R1

5 Importancia de planificación estática Usar un buen compilador (incluso si CPU es muy dinámica) Buscar flags de optimización del compilador Compilador nativo de intel : icc 12 (ahora Composer XE) NOTA: esta gráfica no es de un VLIW, sino de Intel Xeon: familia Intel para servidores (actualmente similar a Core i7) TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 5

6 2.2 PLANIFICACIÓN ESTÁTICA. DESENROLLADO DE BUCLES. EJEMPLO / RESUMEN DE DESENROLLADO Bucles: más del 90% t. de ejec. Suponemos bucle paralelizable (iteraciones independientes). Ejemplo: double s, x[m], y[m]; int i; for (i=0 ; i<m ; i++ ) y[i]= x[i] * s ; Desenrollado (en alto nivel) : for (i=0 ; i<m%3 ; i++) y[i]= x[i] * s; //start-up (prólogo o cabecera) // sup. tiempo de ejecución pequeño (M es grande) for ( ; i<m ; i+=3 ) { y[i+0]= x[i+0] * s ; y[i+1]= x[i+1] * s ; y[i+2]= x[i+2] * s ; } TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 6

7 Pasos para el Desenrollado (bajo nivel) bucle_orig: LD F2, 0(R1) ; Instrucciones útiles MULTD F4, F2, F24 ; F24 contiene el valor de s SD (R3)0, F4 ; ADDI R1, R1, 8 ; Instrucciones de overhead (control bucle) ADDI R3, R3, 8 SLTI R7, R1, fin_array_x; constante apunta al final de x[m] BNEZ R7, bucle_orig o instr. de overhead (de control del bucle) o instr. útiles de cálculo sobre estructuras de datos (p ej vectores) casi no hay dependencias entre ambos grupos Reordenación evidente TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 7

8 bucle_intermedio2: // Desenrollado del bucle principal LD F2, 0(R1) MULTD F4, F2, F24 ; F24 contiene el valor de s SD (R3)0, F4 LD F2, 8(R1) MULTD F4, F2, F24 SD (R3)8, F4 LD F2, 16(R1) MULTD F4, F2, F24 SD (R3)16, F4 ; ADDI R1, R1, 8*3 ADDI R3, R3, 8*3 SLTI R7, R1, fin_array_x BNEZ R7, bucle_intermedio2 TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 8

9 Se renombran registros para evitar dependencias ficticias WAR, WAW. Usamos notación con primas ( ) por simplicidad bucle_intermedio3: LD F2, 0(R1) MULTD F4, F2, F24 ; F24 contiene el valor de s SD (R3)0, F4 LD F2, 8(R1) MULTD F4, F2, F24 SD (R3)8, F4 LD F2, 16(R1) MULTD F4, F2, F24 SD (R3)16, F4 ; ADDI R1, R1, 8*3 ADDI R3, R3, 8*3 SLTI R7, R1, fin_array_x BNEZ R7, bucle_intermedio3 TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 9

10 Se entrelazan las instrucciones de las distintas iteraciones bucle_desenrollado: LD F2, 0(R1) LD F2, 8(R1) LD F2, 16(R1) MULTD F4, F2, F24 ; F24 contiene el valor de s MULTD F4, F2, F24 MULTD F4, F2, F24 SD (R3)0, F4 SD (R3)8, F4 SD (R3)16, F4 ; ADDI R1, R1, 8*3 ADDI R3, R3, 8*3 SLTI R7, R1, fin_array_x BNEZ R7, bucle_desenrollado TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 10

11 Opcionalmente se colocan instrucciones tras la más larga (para evitar ciclos de bloqueo) bucle_desenrollado_opc: LD F2, 0(R1) LD F2, 8(R1) LD F2, 16(R1) MULTD F4, F2, F24 ; F24 contiene el valor de s MULTD F4, F2, F24 MULTD F4, F2, F24 ADDI R1, R1, 8*3 SD (R3)0, F4 SD (R3)8, F4 SD (R3)16, F4 SLTI R7, R1, fin_array_x ; ADDI R3, R3, 8*3 BNEZ R7, bucle_desenrollado_opc Prestaciones máximas si desenrollo infinitas veces x[0]= x[0] * s ; x[1]= x[1] * s ; x[m-1]= x[m-1] * s ; ejercicio: hacerlo para otro bucle de vectores TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 11

12 Aceleración: o ATENCIÓN! al reducir el número de instrucciones, el CPI no es buena medida de rendimiento. o Si se puede usar Ciclos / elem. procesado del vector Instr./elem vector Bucle original (3 instr útiles + 4 instr overhead) / elem = 7 instr /elem. Bucle desenrollado (3 iter.) (3*3 instr útiles + 4 instr overhead) / 3 elem vector = = (3 instr útiles + 4/3 instr overhead) /elem= 4.33 instr/elem Fsaltos 1/7 = 14.3% 1/13 = 7.7% 0% Tam código estático (bytes) Desenrollado infinitas iteraciones (K ) (3*K instr útiles + 4 instr overhead) / K elem vector = (K ) = 3 instr útiles/elem 7 * 4 13 * 4 3 * K * 4 Notas Desprecio iteraciones de prólogo Prestaciones máximas. Tamaño de código estático máximo ejercicio: hallar A entre las 3 columnas si CPI=1.4,1.1,1.0 TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 12

13 CONCLUSIONES: - Se han reducido las instr. overhead o estamos rescribiendo el código fuente de leng. iterativo para hacerlo más rápido - Se aumenta las posibilidades de planif. estática, en cuanto se reducen el porcentaje de saltos o por cada salto, hay más instr. de otro tipo - Se necesitan más registros (en RISC los hay) - Se ha de conocer la endoarquitectura de la CPU (duración de U.F., existencia de bypass, etc.) o compatibilidad en entredicho (se verá en VLIW). TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 13

14 2.3. Planificación estática avanzada Bucles no paralelizables: gran variedad de casos. Aquí ejemplos ilustrativos Hay una dependencia entre la iteración actual i y las anteriores. o Serie de Fibonacci (serie con recurrencia: a i+k =f(a i ) ) for (i=2;i<m; i++) x[i]=x[i-1]+x[i-2]; //(2 Load, 1 Store)/1 elem // Si desenrollo: for (i=2;i<m; i+=3) { x[i]=x[i-1]+x[i-2]; x[i+1]=x[i]+x[i-1]; x[i+2]=x[i+1]+x[i]; } // En total:(2 Load,3 Store)/3 elem o Se obtiene cierta aceleración por eliminar instrucciones. o Para a i+k =f(a i ), si k es grande puedo desenrollar k veces: for (i=0;i<m; i++) x[i+4]=x[i]*s; // desenrollo 4 iteraciones: for (i=0;i<m; i+=4) { x[i+4]=x[i+0]*s; x[i+5]=x[i+1]*s; x[i+6]=x[i+2]*s; x[i+7]=x[i+3]*s; } TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 14

15 Operaciones que cumplen propiedad asociativa o Sumatorio, producto múltiple, búsqueda de mínimo/máx de un vector, etc. o Existe dependencia en la variable acumuladora o Si se rescribe, desaparece. Por ej con acumuladores parciales: - for (i=0;i<m;i++) t = t + y[i]; - for (i=0;i<m; i+=3){ t0 += y[i+0]; t1 += y[i+1]; t2 += y[i+2]; } t = t0 + t1 + t2; Ejercicio: Desenrollar el Producto escalar de dos vectores ejercicio: pensar en búsqueda de mínimo/máx de un vector var. Acumuladoras de y[0] y[m/3], y[m/3] y[2m/3-1], y[2m/3] y[m-1], TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 15

16 2.3. Segmentación software o encadenamiento de iteraciones (software pipelining). o bucle paralelizable o no hay registros suficientes (CISC) para desenrollar, o o no interesa tamaño grande de código. Recordemos el mismo ejemplo: for (i=0 ; i<m ; i++ ) y[i]= x[i]*s; bucle_orig: ; instr útiles LD F2, 0(R1) MULTD F4, F2, F24 ; F24 contiene el valor de s SD (R3)0, F4 ; instr overhead a continuación (increm. punteros, saltos, comp.) ADDI R1, R1, 8 ADDI R3, R3, 8 SLTI R7, R1, fin_array_x; constante apunta al final de x[m] BNEZ R7, bucle_orig TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 16

17 Software pipelining: Esquema Esquema en la siguiente tabla: instr. útiles iter 0 LD 0 MULTD 0 SD0 iter 1 LD 1 MULTD 1 SD 1 iter 2 LD 2 MULTD 2 SD 2 iter 3 LD 3 MULTD 3 SD 3 iter 4 LD 4 MULTD 4 SD 4 prólogo iteraciones reordenadas epílogo De la ejecución normal (flechas rojas) cambio a Sw pipelining (flechas verdes). TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 17

18 Software pipelining: Ejemplo Prólogo: LD 0 MULTD 0 LD 1 Bucle_sw_pp: SD 0 (K) MULTD 1 (K+1) LD 2 (K+2) instr overhead (contendrán el salto a etiqueta Bucle_sw_pp) Epílogo: SD M-2 MULTD M-1 SD M-1 // se alejan las dependencias reales (van de una iter. a la siguiente) NOTAS: o las instr overhead deberán modificar las constantes (offset) convenientemente (no es fácil). o Habrá otras instr overhead en el prólogo y epílogo. o Se presupone que al menos se van a ejecutar dos iteraciones. TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 18

19 Software pipelining más desenrollado Desenrollando 2 iteraciones (no se dibujan las instr overead por simplificar el esquema) PRÓLOGO BUCLE EPÍLOGO LD 0 MULTD 0 LD 1 MULTD 1 LD 2 LD 3 SD 0 (K) SD 1 (K+1)... MULTD 2 (K+2) MULTD 3 (K+3)... SDM-4 SD M-3 LD 4 (K+4) LD 5 (K+5)... MULTDM-2 SD M-2 MULTD M-1 SD M-1 Sw pipelining: ejecución por columnas (flecha verde). Práctica 1: CCS (compilador familia TMS320) puede usar esta técnica TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 19

20 2.4. Ejecución predicativa, LEMA: Más planificación estática si aumenta nº medio instrucciones entre 2 saltos. Solución: Transformar dependencias de control en dependencias de datos. Útil sobre todo para saltos difíciles de predecir (if else) Idea: Instrucciones Condicionadas o Predicadas : sólo se ejecutan si se cumple una condición. Gran variedad en máquinas reales. Todas similares a: CMOVZ Rd,Rf,Rcond; equivale a if (Rcond==0) Rd=Rf; CMOVNZ Rd,Rf,Rcond; equivale a if (Rcond!=0) Rd=Rf; Ejemplo: Rb = abs(ra): Rb=Ra; if (Ra<0) Rb=-Rb; Addi Rb,Ra,0 Comparar si fuera así: Slti Rcond,Rb,0 //Rcond=1 si Rb<0 if (Ra<0) Rb=-Ra; Beqz Rcond,sigue else Rb=Ra; Sub Rb,R0,Rb // sólo se ejecuta si NT sigue: Salto: difícil acertar en su predicción. Si uso CMOVZ Addi Rb,Ra,0 Sgei Rcond,Rb,0 //Rcond=0 si Rb<0 Sub Rd,R0,Rb // inst que siempre se ejecuta CMOVZ Rb,Rd,Rcond TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 20

21 Instrucciones Condicionadas o Predicadas (II) Otro ejemplo: k = min(c,m,y); mínimo de 3 valores (usado en conversión RGB CMYK k=c; if (k>m) k = m; if (k>y) k = y; ADDI Rk, Rc, 0 SGT R1cond, Rk, Rm CMOVNZ Rk, Rm, R1cond SGT R2cond, Rk, Ry CMOVNZ Rk, Ry, R2cond Instr predicadas completas (full predication) Arquitectura ARM (casi toda instrucción) Intel VLIW Itanium IA-64 (casi toda instrucción) Muchos otros VLIW, como DSP TMS320C6713 (práctica) Ejemplo: Rb = abs(ra): Rb=Ra; if (Ra<0) Rb=-Rb; Addi Rb,Ra,0 Slti Rcond,Rb,0 //Rcond=1 si Rb<0 [Rcond] Sub Rb,R0,Rb // se ejecuta Sub pero sólo modifica // el registro destino Rb si Rcond!=0 TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 21

22 Instrucciones Predicadas (III): caso general if else con n variables de salida: if (cond==0) { x1 =... x2 = xn=... } else { y1 =... y2 = yn=... } Seqi Rcond, cond, 0 [Rcond] Oper Rx1,... [Rcond] Oper Rx2, [Rcond] Oper Rxn,... [!Rcond] Oper Ry1,... [!Rcond] Oper Ry2, [!Rcond] Oper Ryn,... Donde Oper es la última operación que se asigna a la variable de salida Se ejecutarían aprox. doble número de instr. En teoría pueden desaparecer todos los if else, pero: o Compiladores usuales: sólo predican 3 o 4 instrucciones o Compiladores para VLIW: predican más (CCS de TMS320 hasta 7 instr.) Más ejemplos Procesado Condicional: tema 4 PARALELISMO DATOS (DLP) TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 22

23 2.4. Planificación de trazas y (I) Concepto de Planificación de trazas: Planificar (reordenar) instrucciones a través de la traza de ejecución más probable, cruzando saltos Se usa mucho para proc. VLIW //CÓDIGO EJEMPLO Instr previas; If (cond) { x=x+s+t; otras instr del if; } else { y=y+s+u; otras instr del else; } ejercicio: dibujar diagrama flujo Posible traducción (no completa): Instr previas; //varios LW If (cond) { ADD Rst, Rs, Rt ADD Rx, Rx, Rst SW 0(RBx), Rx otras instr del if; } else { ADD Rsu, Rs, Ru ADD Ry, Ry, Rsu SW 0(RBy), Ry otras instr del else; } TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 23

24 Planificación de trazas y (II) Cambio inocuo que permite tener más instr antes del if Instr previas; ADD Rst, Rs, Rt ADD Rsu, Rs, Ru If (cond) { ADD Rx, Rx, Rst SW 0(RBx), Rx otras instr del if; } else { ADD Ry, Ry, Rsu SW 0(RBy), Ry otras instr del else; } O también se podría (barajar estas posibilidades según convenga): Instr previas; ADD Rst, Rs, Rt ADD Rsu, Rs, Ru ADD Rx, Rx, Rst ADD Ry, Ry, Rsu If (cond) { SW 0(RBx), Rx otras instr del if; } else { SW 0(RBy), Ry otras instr del else; } TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 24

25 Planificación de trazas y Especulación software (III) Concepto de especulación de instr. Cambio especulativo. Si apuesto (en tiempo compilación) que caso T (cond. cierta) es más probable: Instr previas; // LW Rx, 0(RBx) ADD Rst, Rs, Rt ADD Rxnuevo, Rx, Rst SW 0(RBx), Rxnuevo if (cond) { Pensar otro ejemplo de planif. trazas otras instr del if;/*incluso estas instr se podrían sacar del cuerpo del if*/ } else { SW 0(RBx), Rx /*deshace lo especulado */ ADD Rsu, Rs, Ru ADD Ry, Ry, Rsu SW 0(RBy), Ry otras instr del else; } Existe gama catalogada de técnicas de planificación de trazas, en función de si hay saltos hacia fuera de un bloque básico o hacia adentro. Esta técnica, combinada con la predicación, permite múltiples reordenaciones Atención: Qué ocurre si llega una interrupción tras SW 0(RBx), Rxnuevo? TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 25

26 Procesadores LIW o VLIW Reducir N inst. Very Long Instruction Word IDEA: Trasladar la complejidad de la emisión (y planificación) al compilador o Compilador agrupa varias operaciones (instrucciones RISC), en macroinstrucciones VLIW: hasta p operaciones en paralelo (p slots ) o Necesita técnicas avanzadas de planificación (scheduling) estática o No tienen algoritmo de planificación dinámica (in-order-execution). Instrucciones EX IF ID EX ME WB EX EX IF ID EX ME WB EX OPC= operaciones/ciclo (pues CPI no indica nada) Tiempo IPC ideal = 1 OPC ideal = p OPC <= p (slots vacíos) % slots vacíos si OPC=2<p=3 IF: normalmente 64, 128, 256 bits ID: típicamente p= 3 a 8 operaciones EX y MEM: al menos tantas UF como p. WB: numerosos puertos del fichero de registros (normalmente más de 10, con ID) TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 26

27 Implementación de VLIW EMISIÓN TOTALMENTE ESTÁTICA: o No detecta riesgos (en tiempo de ejecución) o Nunca bloquea la máq. CPI = 1+CPI MEM siempre o Compatibilidad en entredicho: compilador debe conocer la arquitectura (la duración de las operaciones). ALGO DE EMISIÓN DINÁMICA (la estática ayuda): > Ciertos bits especifican posibles dependencias y paralelismo de instr. > Puede haber bloqueos calcular el OPC no es tan fácil Los 1º VLIW tenían instr muy rígidas: obligaban a recompilar el código. Los actuales tienen instr más flexibles y complejas: compatibilidad: no necesitan recompilar (aunque sería mejor). Ventajas VLIW: Ahorro hardware permite complicar otros recursos: o 128 registros GPR de 64 bits, 128 reg FP, etc. en Itanium. o Menor consumo atractivo en sistemas empotrados (embedded media processors). Mucha Variedad: Sólo INT, orientado a FP, etc. Empotrar un VLIW full-custom en un SoC (system-on-a-chip, explicado en Máster MICR) Desventajas VLIW: mayor tamaño del código. Caché de instr. desperdiciado Proponer 3 y 5 slots para balancear bien el SAXPY o Tecn estáticas carecen de información de ejecución (ej. BTB, RAW memoria, ) TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 27

28 Ejemplo: código RISC VLIW CON EMISIÓN TOTALMENTE ESTÁTICA Código RISC escalar :bucle lf f1, 0(r11) lf f2, 0(r12) multf f3, f1, f2;; addi r11, r11, 4 addi r12, r12, 4 subi r8, r11, vec2 /*apunta al final del vector 1 */ rbnez r8, bucle /* instr de hueco */ addf f31, f31, f3 Qué hace este código? Para dos vectores apuntados por r11, r12 código (sin desenrollar) VLIW-RISC :bucle addi r11, r11, 4 lf f1, 0(r11) lf f2, 0(r12) nop nop;; addi r12, r12, 4 nop nop nop nop;; nop nop nop nop nop;; subi r8, r11, vec2 nop nop nop multf f3, f1, f2;; nop nop nop nop nop;; nop nop nop nop nop;; nop nop nop nop nop;; bnez r8, bucle nop nop nop nop;; /* instr de hueco */ Nop nop nop addf f31, f31, f3 nop;; Hallar OPC, y Tam efectivo caché si OPC<p TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 28

29 Ejemplo 2: TMS320C6713 DSP (Digital Signal Processor) De Texas Instrument Juego instr. RISC Macroinstrucciones 256 bits: IPC ideal hasta 8 instr. (operaciones) por ciclo Arquitectura muy ortogonal o Casi todos los reg. Valen para todo o No hay restricciones en las instr. Exactamente 8 U.F. (una por instrucción/operación ): o 2 grupos ( Data Paths ) de 4 UF cada una - 16 reg. (32 bits) por cada grupo: A0-A15 y B0-B15 o UF agrupadas por slots. A grosso modo (más detalles en práctica 1) Slots para operaciones INT Slots para operaciones FP 2 Ld/St 2 Ld/St 2 MULT 2 MULT FP 4 INT 4 varias (2 de ADDFP, otras: CMP, conversión ) Caché L1 separada instr y datos o 2 puertos cache datos (32 bits ancho) TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 29

30 ESQUEMA TMS320C67x TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 30

31 Empaquetamiento de 8 instrucciones Se pueden ejecutar varias en paralelo o de una en una (en serie) Empaquetamiento reduce tamaño de código F.P. Fetch packet : o son 256 bits (8 instr.) E.P. Execution packet : o grupo de instr. que se pueden ejecutar en paralelo (de 1 a 8) El bit p indica si se paraleliza con la sig. TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 31

32 CADENA (PIPELINE) PG: Program address generate PS: Program address send PW: Program access ready wait PR: Program fetch packet receivee DP: Instruction dispatch (parallell detection) DC: Instruction decode E1 a E10: operands read, execution and WB (duración variable según instr.) TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 32

33 EJEMPLO DE EMPAQUETAMIENTO Y EJEC.DE INSTR. Ejemplo: o Fetch Packet número n con 3 E.P. o Resto de F Fetch Packets con un solo E.P. (8 instrucciones en paralelo totalmente) instruction A ;EP k FP n instruction B ; instruction C ;EP k+1 FP n instruction D instruction E instruction F ;EP k+2 FP n instruction G instruction H Cuántos ciclos durará el FetchPacket n?... OTRAS FPs con EP de k + 3 a k + 8 (8 instr. En paralelo) indica que se ejecuta en paralelo con la anterior. Ver cronograma (trivial) en pag. Sig. TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 33

34 CRONOGRAMA PARA EL EJ. Bloqueo (stall) debido a ejecución en serie de E.P. k, k+1,k+2 El cronograma supone duración máxima de las UF Tipo de instr. Duración Otras duraciones INT E1 Saltos : hueco de 5 ciclos MULT (INTEGER), CMP FP E2 Fallo Cache : STORE E3 bloqueo total de 2 ciclos LOAD E5 ADDFP E7 MULFP E10 TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 34

35 PRESTACIONES MEDIAS familia C MHz por 8 instr = 1600 MIPS pico (peak) Típicamente IPCreal_medio 0.6 * IPCideal Consumo medio 1300mW MIPS/mW (pico) = 1600 /1300 = 1.23 MIPS/mW MIPS/mW (real_medio) = 0.6 * 1600 /1300 = 0.74 MIPS/mW EJEMPLO Fusión bucles Importancia del balanceo de instrucciones del código frente a slots (UF) del procesador: La resolución de ecuaciones lineales por eliminación gaussiana, implica el cálculo de muchos bucles SAXPY, donde uno de los vectores es siempre el mismo (x[]). Se pide comparar para un TMS320 el empaquetamiento de 4 bucles SAXPY frente a un SAXPY de 4 sentencias donde x[] siempre es el mismo. Suponer que todo riesgo lo evita el compilador. UF agrupadas por slots. A grosso modo (más detalles en práctica 1) Slots para operaciones INT Slots para operaciones FP 2 Ld/St 2 Ld/St 2 MULT 2 MULT FP 4 INT 4 varias (2 ADDFP, otras: CMP, conversión ) for (i=0; i<n; i++) { y[i]= a * x[i] + y[i];} //SAXPY TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 35

36 Procesadores VLIW (actuales) - TMS C6000 DSP (Texas Instruments). Práctica - TriMedia media (NXP, antes Philips Semiconductors). p= 5 a 8 slots Tamaño de macroinstrucción variable (código comprimido) Muy parecido a VLIW con emisión totalmente estática - SHARC DSP (Analog Devices), Super Harvard Architecture Single-Chip Computer. Arq. Harvard Alta relación MFLOPS/W. Tiene un secuenciador de programa que controla el flujo de ejecución (previamente programado p ej con bucles). p= 8: 2 clusters de 4 operaciones (FP, 2 ALU, 1 Ld/St) - STMicroelectronics ST200 (Hewlett-Packard Laboratories y STMicroelectronics). p= 8: 2 clusters de 4 operaciones (FP, 2 ALU/MULT, 1 Ld/St) - Itanium (Intel, IA-64): Tres slots de 41 bits más 5 bits para especificar que UF requiere cada slot y las posibles dependencias. Tiene muchos tipos de instrucciones que resumimos aproximadamente en: Acc. Memoria /salto Cualquiera/ Inm32 Cualquiera excepto acc. mem./inm32 TEMA 2. ILP BASADO EN PLANIFICACIÓN ESTÁTICA SPD: Sistemas Paralelos y Distribuidos 3º GIC. pág 36

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

TEMA 3 PLANIFICACIÓN O REORDENAMIENTO (SCHEDULING) DE INSTRUCCIONES ÍNDICE

TEMA 3 PLANIFICACIÓN O REORDENAMIENTO (SCHEDULING) DE INSTRUCCIONES ÍNDICE TEMA 3 PLANIFICACIÓN O REORDENAMIENTO (SCHEDULING) DE INSTRUCCIONES ÍNDICE 3.1. CONCEPTOS FUNDAMENTALES 3.2, 3.4 PLANIFICACIÓN ESTÁTICA. DESENROLLADO DE BUCLES. 3.3. PLANIFICACIÓN DINÁMICA (Algoritmo Tomasulo).

Más detalles

Arquitectura de Computadores Problemas (hoja 4). Curso

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

Más detalles

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

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

Más detalles

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

TEMA 4. ARQUITECTURA IA-64

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

Más detalles

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

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

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

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

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

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

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

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

Paralelismo en monoprocesadores. Procesadores VLIW

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

Más detalles

Tema 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

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

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

Arquitectura de Computadores II Clase #16

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

Más detalles

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

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

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

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

Más detalles

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

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

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

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

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

Más detalles

Arquitectura de Computadoras. Clase 4 Segmentación de Instrucciones

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

Más detalles

Planificación estática

Planificación estática Planificación estática Planificación de bloques básicos Planificación de bucles Planificación global Serafín Benito AIC: Planificación estática 1 Planificación de bloques básicos.. Técnica sencilla. Eficiencia

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

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

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

Procesadores superescalares. Introducción

Procesadores superescalares. Introducción Procesadores superescalares Introducción Introducción El término superescalar (superscalar) fue acuñado a fines de los 80s. Todas las CPUs modernas son superescalares. Es un desarrollo de la arquitectura

Más detalles

Explotación del paralelismo a nivel de instrucción

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

Más detalles

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

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

Arquitectura de Computadores II Clase #16

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

Más detalles

Aspectos avanzados de arquitectura de computadoras 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

#define MAX 1024 void escala_vect (float A[MAX], float B[MAX], float k) { int i; for (i=0; i < MAX; i++) B[i]=k*A[i]; }

#define MAX 1024 void escala_vect (float A[MAX], float B[MAX], float k) { int i; for (i=0; i < MAX; i++) B[i]=k*A[i]; } PROBLEMA 1 Memoria Cache (10 puntos) Supongamos un sistema con un procesador que lanza direcciones de 32 bits. Dispone de dos caches, una para instrucciones y otra para datos, de 8 KBytes cada una. La

Más detalles

ARQUITECTURA DE COMPUTADORES

ARQUITECTURA DE COMPUTADORES Escuela Universitaria de Informática Ingeniería de Computadores ARQUITECTURA DE COMPUTADORES PRÁCTICA Nº 3 DESENROLLADO DE BUCLES INTRODUCCIÓN Este documento contiene el enunciado de la práctica de desenrollado

Más detalles

1. Objetivo y evolución de los procesadores ILP.

1. Objetivo y evolución de los procesadores ILP. Arquitectura de Computadores Tema 3: Procesadores ILP Índice. Objetivo y evolución de los procesadores ILP. 2. Segmentación (Pipeline).. Concepto y medida de rendimiento. i 2. Pipeline de instrucciones..

Más detalles

Arquitectura de Computadores. Tema 11. Pipelining Avanzado

Arquitectura de Computadores. Tema 11. Pipelining Avanzado Arquitectura de Computadores Tema 11 Pipelining Avanzado Eduardo Daniel Cohen dcohen@arnet.com.ar http://www.herrera.unt.edu.ar/arqcom 1 En qué se pone difícil Pipelining? Excepciones: hay 5 instrucciones

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 Segmentada: Conceptos básicosb

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

TEMA 1: CONCEPTOS BÁSICOS DE PARALELISMO Y ANÁLISIS DE PRESTACIONES

TEMA 1: CONCEPTOS BÁSICOS DE PARALELISMO Y ANÁLISIS DE PRESTACIONES TEMA 1: CONCEPTOS BÁSICOS DE PARALELISMO Y ANÁLISIS DE PRESTACIONES SISTEMAS PARALELOS Y DISTRIBUIDOS www.atc.us.es Dpto. de Arquitectura y Tecnología de Computadores. Universidad de Sevilla 1 Arquitectura:

Más detalles

Pipeline (Segmentación)

Pipeline (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 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

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

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

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

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

Más detalles

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

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

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

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

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

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

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

Sistemas embebidos basados en FPGAs para instrumentación

Sistemas embebidos basados en FPGAs para instrumentación Sistemas embebidos basados en FPGAs para instrumentación Introducción a los sistemas de instrumentación basados en microprocesador Guillermo Carpintero del Barrio Introducción al contenido de la asignatura

Más detalles

Primer Semestre Laboratorio de Electrónica Universidad de San Carlos de Guatemala. Electrónica 5. Aux. Marie Chantelle Cruz.

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

Introducción a la arquitectura de computadores

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

Más detalles

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

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

ARQUITECTURA DE COMPUTADORES. Práctica 8

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

5. Procesador: camino de datos y control

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

Más detalles

Granularidad y latencia

Granularidad y latencia Niveles de paralelismo y latencias de comunicación Niveles de paralelismo. Granularidad o tamaño de grano. Latencia de comunicación. Particionado de los programas. Empaquetado de granos. Planificación

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

Procesador Segmentado

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

Tema 1: PROCESADORES SEGMENTADOS

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

Más detalles

MICROCONTROLADORES PIC16F84 ING. RAÚL ROJAS REÁTEGUI

MICROCONTROLADORES PIC16F84 ING. RAÚL ROJAS REÁTEGUI MICROCONTROLADORES PIC16F84 ING. RAÚL ROJAS REÁTEGUI DEFINICIÓN Es un microcontrolador de Microchip Technology fabricado en tecnología CMOS, completamente estático es decir si el reloj se detiene los datos

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

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

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

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

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

ARQUITECTURA DE SISTEMAS PARALELOS I. 4º INGENIERÍA INFORMÁTICA. PRÁCTICA 5. PLANIFICACIÓN DINÁMICA: EL ALGORITMO DE TOMASULO.

ARQUITECTURA DE SISTEMAS PARALELOS I. 4º INGENIERÍA INFORMÁTICA. PRÁCTICA 5. PLANIFICACIÓN DINÁMICA: EL ALGORITMO DE TOMASULO. ARQUITECTURA DE SISTEMAS PARALELOS I. 4º INGENIERÍA INFORMÁTICA. PRÁCTICA 5. PLANIFICACIÓN DINÁMICA: EL ALGORITMO DE TOMASULO. OBJETIVOS. En esta práctica vamos a estudiar una técnica de scheduling dinámico

Más detalles

Multiplicación de matrices con DLX

Multiplicación de matrices con DLX Multiplicación de matrices con DLX Universidad de Salamanca Depto. Informática y Automática Arquitectura e Ingeniería de computadores Trabajo presentado por: Sergio Garrido Chamorro Santiago González Pérez

Más detalles

TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP).

TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). TEMA 4: PARALELISMO A NIVEL DE DATOS (DLP). ÍNDICE: 4.1. Introducción: Aplicaciones científicas y multimedia. 4.2. Arquitecturas vectoriales segmentadas clásicas. 4.3. Extensiones multimedia y núcleos

Más detalles

Estructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS

Estructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS Estructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS GAC: Grupo de Arquitectura de Computadores Dpt. Electrónica e Sistemas. Universidade da Coruña. Bibliografía Computer Organization

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

Microcontroladores. Sistemas embebidos para tiempo real

Microcontroladores. Sistemas embebidos para tiempo real Microcontroladores Sistemas embebidos para tiempo real Objetivos Describir los conceptos y bloques básicos de microcontroladores CPU, ISA, arquitectura Comprender la importancia de conocer el uc Utilizar

Más detalles

Arquitectura de Computadoras

Arquitectura de Computadoras 4-1 Arquitectura de Computadoras Tema 4: Arquitectura del Set de Instrucciones Eduardo Daniel Cohen dcohen@arnet.com.ar http://www.herrera.unt.edu.ar/arqcom 4-2 Arquitectura del Set de Instrucciones Indice

Más detalles

TEMA 2: ARQUITECTURAS MULTIMEDIA Y VECTORIALES.

TEMA 2: ARQUITECTURAS MULTIMEDIA Y VECTORIALES. TEMA 2: ARQUITECTURAS MULTIMEDIA Y VECTORIALES. ÍNDICE: Introducción Concepto Procesadores Vectoriales Modelo Núcleo Multimedia Instrucciones Ensamblador Ejemplo completo: bucle SAXPY Procesado Condicional

Más detalles

Ingeniería Informática. Ampliación de Estructura de Computadores. Curso 2010-2011. 6.1 Introducción a la segmentación de Instrucciones.

Ingeniería Informática. Ampliación de Estructura de Computadores. Curso 2010-2011. 6.1 Introducción a la segmentación de Instrucciones. SEGMENTACIÓN 6.1 Introducción a la segmentación de Instrucciones. La segmentación o pipeline es una técnica de realización de procesadores por la cual se solapa la ejecución de las instrucciones. Hoy en

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

Tecnologías y Arquitecturas

Tecnologías y Arquitecturas Tecnologías y Arquitecturas Parte II Andrés Djordjalian Seminario de Sistemas Embebidos 19 de mayo de 2011 Facultad de Ingeniería de la UBA 06:13 1 de 22 Temas de esta Clase Medición

Más detalles

Paralelismo en monoprocesadores. Planificación en ILP

Paralelismo en monoprocesadores. Planificación en ILP Paralelismo en monoprocesadores Planificación en ILP Profesor: Mag. Marcelo Tosini Cátedra: Arquitectura de Computadoras y técnicas Digitales Carrera: Ingeniería de Sistemas Ciclo: 4º año 1 Conceptos básicos

Más detalles

Tecnologías, Organización y Microarquitectura

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

Más detalles

ARQUITECTURA DE SISTEMAS PARALELOS I. 4º INGENIERÍA INFORMÁTICA. PRÁCTICA 4. PLANIFICACIÓN DINÁMICA: EL ALGORITMO DE TOMASULO. 1. OBJETIVOS.

ARQUITECTURA DE SISTEMAS PARALELOS I. 4º INGENIERÍA INFORMÁTICA. PRÁCTICA 4. PLANIFICACIÓN DINÁMICA: EL ALGORITMO DE TOMASULO. 1. OBJETIVOS. ARQUITECTURA DE SISTEMAS PARALELOS I. 4º INGENIERÍA INFORMÁTICA. PRÁCTICA 4. PLANIFICACIÓN DINÁMICA: EL ALGORITMO DE TOMASULO. 1. OBJETIVOS. En esta práctica vamos a estudiar una técnica de scheduling

Más detalles

Arquitectura del MIPS: Introducción

Arquitectura del MIPS: Introducción Arquitectura del MIPS: Introducción Montse Bóo Cepeda Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain. Estructura del curso 1. Evolución y caracterización

Más detalles

ORGANIZACIÓN DOCENTE del curso

ORGANIZACIÓN DOCENTE del curso ORGANIZACIÓN DOCENTE del curso 2010-11 1. DATOS GENERALES DE LA ASIGNATURA NOMBRE Arquitectura e Ingenieria de es PÁGINA WEB http://aulavirtual.unican.es CÓDIGO 5411 DEPARTAMENTO ELECTRÓNICA Y COMPUTADORES

Más detalles

ARQUITECTURA DE COMPUTADORAS

ARQUITECTURA DE COMPUTADORAS ARQUITECTURA DE COMPUTADORAS Información General Objetivos Al terminar el curso, el estudiante estará capacitado para: 1. Manejar medidas de performance que permitan comparar diversos sistemas de Computadora.

Más detalles

2EMHWLYRV 5HIHUHQFLDV

2EMHWLYRV 5HIHUHQFLDV 7HPD6HJPHQWDFLyQ,,,QWURGXFFLyQ DORV6XSHUHVFDODUHV 2EMHWLYRV 5HIHUHQFLDV $SURYHFKDPLHQWRGHXQDDUTXLWHFWXUDVHJPHQWDGD 3ODQLILFDFLyQGLQiPLFD 3UHGLFFLyQGLQiPLFDGHVDOWRV 5HQRPEUDGRGHUHJLVWURV 3UHGLFDFLyQ 3URFHVDGRUHV6XSHUHVFDODUHV

Más detalles

Organización del Computador 1. CPU (ISA) Conjunto de Instrucciones de la Arquitectura 2017

Organización del Computador 1. CPU (ISA) Conjunto de Instrucciones de la Arquitectura 2017 Organización del Computador 1 CPU (ISA) Conjunto de Instrucciones de la Arquitectura 2017 Estructura de una máquina von Neumann Ciclo de Ejecución 1. 2. 3. 4. 5. 6. UC obtiene la próxima instrucción de

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

CAPÍTULO 2 PROCESADORES SUPERESCALARES

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

Más detalles

ARQUITECTURA DE COMPUTADORAS

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

Más detalles

202 PROBLEMAS DE ARQUITECTURA DE COMPUTADORES

202 PROBLEMAS DE ARQUITECTURA DE COMPUTADORES 202 PROBLEMAS DE ARQUITECTURA DE COMPUTADORES César Represa Pérez Carmen Rodríguez Clavería Nº de Asiento Registral 00/2013/1733 Burgos, 2013 202 Problemas de Arquitectura de Computadores 2º G.I.I 202

Más detalles

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

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

Más detalles

Procesador MIPS - Registros

Procesador MIPS - Registros MIPS Microprocessor without Interlocked Pipeline Stages Surgió a comienzos de los 80 en Stanford. Sintetiza las principales ideas de RISC. Arquitectura eficiente y simple. 1 Procesador MIPS - Registros

Más detalles