TEMA 1: ARQUITECTURAS ENCADENADAS AVANZADAS

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

Download "TEMA 1: ARQUITECTURAS ENCADENADAS AVANZADAS"

Transcripción

1 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 hardware y la replicación de unidades funcionales, Políticas de búsqueda, problemas de implementación, Modelos superescalares para el DLX, Descripción de ejemplos reales. 1.3 Paralelismo de instrucciones disponible: programas enteros, científicos y multimedia. 1.4 Ejecución especulativa y predicativa: Especulación hardware: buffer de reordenación, Especulación software, Especulación software con ayuda del hardware, Ejecución predicativa. Nociones sobre: 1.5 Procesadores CISC encadenados y superescalares. 1.6 Organización y gestión de la memoria en procesadores avanzados. 1.7 Organización y gestión de los sistemas de E/S en sistemas avanzados. 1.8 El problema de las excepciones: interrupciones precisas. Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 1 IDEA: Paralelismo a nivel de instrucciones (ILP) PROC. ENCADENADOS, SEGMENTADOS (PIPELINE): CPI 1 PROCESADORES (SUPERESCALARES Y OTROS): CPI<1 k = Nº FASES k INSTRUCCIONES EN VUELO k = Nº FASES. m = Nº INSTRUCC A LA VEZ k m INSTRUCCIONES EN VUELO OBJETIVOS PRINCIPALES: Modelos de máquinas con paralelismo de instrucciones (ILP): ventajas/inconv. Gran coste hardware y dificultades de implementación. Futuro: Límite del paralelismo de instrucciones (ILP). Ayudas del compilador/programador?: Programar teniendo en cuenta la arquit. Especulación hardware/software. Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 2

2 1.1. Enfoques del paralelismo de instrucciones: superescalar, VLIW, supersegmentado. t ejecución = N inst CPI τ Hay tres formas de mejorar este tiempo, reduciendo cada uno de los factores. Los procesadores reales suelen reducir alguna combinación de ellos. Modelos teóricos según factor que se reduce: o Para reducir el CPI necesitamos emitir más de una instrucción por ciclo de reloj. A estos procesadores se les llama Superescalares. Recordemos que a los que emiten una instrucción por ciclo con registros No vectoriales se les llama escalares. o Para reducir el número de instrucciones N inst, necesitamos hacer más densas las instrucciones (contengan más información, más bits), de forma que una emisión dé lugar a que trabajen varias unidades funcionales al mismo tiempo. Estos procesadores se denominan LIW o VLIW ( Very Long Instruction Word ). o Y la reducción del período de reloj τ sin reducir el tiempo total de cada etapa, y permitiendo que se emita una instrucción por ciclo, se denomina superpipeline, supersegmentado o superencadenado. Un procesador superpipeline posee sus etapas supersegmentadas, cada una de las cuales duran varios ciclos. Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 3 Definiciones(I): Máquina Superescalar Capaz de emitir más de una instrucción por ciclo: reducir CPI, pero código normal. DEF: m = grado de superescalaridad. IPC ideal = m DEF: IPC = (CPI) -1 = Número de instrucciones por ciclo. Luego idealmente: IPC ideal = m>1, CPI =1/m <1 o Bloqueos (de datos, estructurales, control) harán IPC real <= IPC ideal Instrucciones Tiempo Primer superescalar: 1991, IBM Power 1 (m=4) Procesadores año 2001 y grado de superescalaridad m ( Se ha saturado en m=3 o 4) MIPS R HP PA UltraSPARC III 4 Alpha 21264B 4 Pentium Pro/II/III/4 3 Power PC AMD Athlon 3 Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 4

3 Definiciones(II): Máquina LIW o VLIW Very Long Instruction Word Instrucciones tienen información para la ejecución de hasta p operaciones en paralelo Instrucciones Tiempo IPC ideal = 1 OPC ideal = p OPC <= p (slots vacíos) Procesadores VLIW año 2001, p slots (nº de operaciones por instrucción, concepto similar al grado de superescalaridad m) y tamaño de instrucción en bits: Itanium Además puede lanzar m=2 instrucc. VLIW por ciclo (grado total 6) Trimedia 5 variable (código comprimido) Transmeta Crusoe & 64 Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 5 Definiciones(III): Máquina súper encadenada, Superpipeline o súper segmentada Avance tecnológico pero no arquitectónico. Reducir τ: Tiene periodo de reloj τ menor que la duración de una etapa de la cadena típica, es decir, cada etapa necesita varios ciclos de reloj. Pero sólo se puede emitir una instrucción por ciclo de reloj, de manera que las etapas están supersegmentadas. Dos posibles esquemas: τ reloj Instrucciones IF1 IF2 ID1 ID2 1 2 M1 M2 WB1 WB2 IF1 IF2 ID1 ID2 1 2 M1 M2 WB1 WB2 IF1 IF2 ID1 ID2 1 2 M1 M2 WB1 WB2 t etapa IF1 IF2 ID1 ID2 1 2 M1 M2 WB1 WB2 CPI ideal = 1 CPI >= 1 IPC ideal = 1 IPC <= 1 Tiempo Cada etapa necesita 2 ciclos de reloj, pero en cada ciclo se emite una instrucción. Realmente existen las fases IF1, IF2, ID1, ID2,... Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 6

4 Hay que tener en cuenta que el periodo de reloj ha bajado, pero el tiempo para concluir la etapa, no. Podemos hablar de dos periodos (de reloj y etapa). La relación entre ambos es el grado de superencadenamiento n : τ etapa = n τ reloj El fabricante siempre hablará de 10 fases y periodo τ reloj (ν=1/τ reloj ). En realidad puede que p.ej. una de las fases originales se divida en 4 fases, otra en 3, otra en 2 y otras en 1. Ej: Pentium P6 (Pentium Pro, PII y similar al PIII): once fases IFU1 IFU2 IFU3 DEC1 DEC2 RAT ROB DIS RET1 RET2 IF1 IF2 IF3 IS1 IS2 IS3 IS4 IS5 1 WB1 WB2 Así que el grado de superencadenamiento n es, en la realidad, aproximado. Podemos teóricamente hablar de él si lo comparamos con un DLX de 5 fases (planif. estática) o de 4 fases (planif. dinámica). (NOTA: Realmente existe una fase adicional de especulación dinámica, se verá en sig. apartado) Procesadores año 2001 y grado de superencaden. n=k/4 aproximado (k=nº etapas, todos son de planif. dinámica: IF IS WB) y frec. MHz. Notar la relación entre n y frecuencia. Cuidado: el rendimiento no es proporcional a la frecuencia. Procesador 2001 k k/4 ν reloj ν etapa Procesador 2001 k k/4 ν reloj ν etapa MIPS R HP PA UltraSPARC III Alpha 21264B Pentium III Power PC Pentium Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 7 Definiciones(IV): Máquinas Superescalares y Superpipeline Uniendo ambos conceptos estas máquinas podrían emitir m instrucciones por ciclo de reloj, además de tener las etapas supersegmentadas en grado n, reduciéndose el periodo de reloj. Su cronograma quedaría como: τ reloj Instrucciones Tiempo Los procesadores reales antes mencionados tienen cierto grado m de superescalaridad y n de superencadenamiento. Nº instrucciones en vuelo : k n m. Ej. P4: =66 (en realidad tiene más como veremos más adelante). k = 4 = nº fases sin supersegmentar. Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 8

5 Tipos de procesadores con ILP según Arquitectura La planificación y emisión determinan en gran manera la arquitectura interna, y el modo en que se extrae paralelismo a nivel de instrucciones ILP. Según la Emisión (Issue) y Planificación (Scheduling), vamos a distinguir los siguientes modelos: Emisión Estática (procesador no detecta ninguna dependencia; el Planificación compilador lo prepara todo) Estática (fase ID) VLIW puro Superescalar No tiene sentido Superescalar Dinámica (similar Algoritmo Tomasulo, fase IS) Dinámica (procesador sí detecta dependencias; compilador podría optimizar) Esto no es una clasificación rígida, sino modelos. Existen en la realidad casos intermedios: - VLIW donde ciertos bits del opcode (introducidos en tiempo de compilación) dan pistas sobre la emisión. - VLIW donde en la emisión se detectan algunas dependencias, etc. Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág Implementación de Proc con ILP: VLIW puro Este es el concepto de máquina de emisión múltiple en su forma más estática (depende del compilador y no tiene algoritmo de planif. dinámica). Un compilador deberá ser capaz de agrupar varias instrucciones clásicas, en macroinstrucciones VLIW para aprovechar los recursos: EMISIÓN ESTÁTICA. Además, necesita técnicas avanzadas de planif. estática, evitando al máximo las dependencias de datos (el VLIW puro no detecta riesgos), nunca bloquea la máq. Ejemplo de instrucción VLIW: o Trasnmeta Crusoe: Cuatro slots, cada puede ser: Acc. Memoria ALU INT/FP/MMX ALU INT operando Inm32 Acc. Memoria ALU INT/FP/MMX ALU INT Salto o Itanium: Tres slots de 41 bits más 5 bits para indicar cual será cada slot y las posibles dependencias. Tiene muchos tipos de instrucciones que resumimos aproximadamente en (VLIW actual): Acc. Memoria /salto Cualquiera/ Inm32 Cualquiera excepto acc. mem./inm32 Los 1º VLIW tenían instr muy rígidas: obligaban a recompilar el código. Los actuales tienen instr más flexibles y complejas: no necesitan recompilar (aunque sería mejor). Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 10

6 IF-ID: Sólo habrá hardware para una IF, ID por ciclo (aunque más cantidad de hardw que en un encadenado). En VLIW puro las etapas IF e ID van a ser muy simples, ya que se emitirá lo que haya en la macroinstrucción (no tendremos que hacer comprobaciones de criterios o reglas de emisión, ni de dependencias de datos). Variante: En Itanium la propia instrucción lleva 5 bits especiales que informan de las dependencias que hay entre las propias operaciones de una instrucción VLIW, y entre las de una con la siguiente: EPIC (Explicitly Parallel Instruction Computers). : La información pasará a varias UF (en el mismo orden que puso el compilador) para se ejecuten en paralelo. No hay planificación dinámica (in-order-execution). MEM: El número de accesos a memoria suele ser dos (tienen caché o memoria de doble puerto, o separada en dos bancos). Fallo de caché bloqueo total de la máq. En WB tienen que guardarse más resultados al mismo tiempo. Ventaja: El ahorro de hardware (técnicas dinámicas), permite complicar otros recursos: 128 registros GPR de 64 bits, 128 reg FP, etc. en Itanium. Pocas fases penalidad por fallo de predicción de saltos (BTB) más baja. Problema: tamaño del código ( en general el tamaño de los programas es mayor que en RISC superescalares). o Si un slot no puede ser llenado por el compilador: mete un NOP. o De las técnicas avanzadas de planif. estática, el desenrollado exhaustivo para rellenar los slots, hace crecer mucho el código. Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 11 Ejemplo 1: VLIW Trabajaremos con este sencillo código en todo el tema y con todos los modelos. Supongamos un DLX VLIW puro cuya instr. se compone de: o 2 operaciones de acceso a memoria o 2 operaciones FP o 1 operación INT o Salto Notar que la detección de dependencias de datos (p. ej. RAW) la debe hacer el compilador, de forma que nunca dos slots de la misma instrucción tendrán dependencia. Cualquier bloqueo se implementa como bloqueo software (afecta a toda la cadena). También el compilador debe conocer las latencias (problema: recompilación necesaria). Supongamos (similar al DLX, duración FP=4 ciclos): Instrucción que Instrucción Latencia genera un dato que lo usa FP ALU otra FP ALU 3 FP ALU Store (FP) 2 Load (FP) FP ALU 1 Load (FP) Store (FP) 0 Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 12

7 Las UF están totalmente segmentadas (esto es habitual hoy día, de lo contrario se producirían muchos bloqueos estructurales, dado la cantidad de instrucciones FP que puede emitir por ciclo estas máquinas). Conflictos estructurales: supongamos que no hay contención, ya que se dota al fichero de registros FP de todos los puertos necesarios (es lo habitual, para que no se produzcan muchos bloqueos). Se pide: Desenrollar el código dado en las P iteraciones necesarias para rellenar los slots y eliminar dependencias. Calcular el IPC (o equivalente), el porcentaje de slots llenos, la relación entre el tamaño del código original y el del VLIW (suponer instrucción de 128 bits), y el número de ciclos por elemento del array procesado (notar que al desenrollar, este último es la medida que interesa). Suponer BTB que siempre acierta. for (i=n-1; i>0; i++) x[i] = x[i] +s; //N es divisible por P // F2 s ; R1 &x[n-1] Loop: LD F0, 0(R1) ADDD F4, F0, F2 SD 0(R1), F4 SUBI R1, R1, 8 BNEZ R1, Loop Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 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 de código. La idea teórica es fácil si se tienen varias U.F. (ver figura) DLX ENCADENADO CON VARIAS U.F. IDEA DE DLX SUPERESCALAR Enteros Enteros FP/Ent MUL IF ID ME WB FP ADD FP/Ent DIV IF ID? FP/Ent MUL? ME WB?? IF?? ID?? ME WB ADD FP FP/Ent DIV EA Cálc Direcc Lo difícil es la complejidad de la implementación, sobre todo la emisión (ID o IS). Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 14

8 La fase de emisión juega un papel fundamental, y suele ser la más compleja y la que se alarga más al montar la superescalaridad: o Hay que detectar muchas más RAW en ella (de m instr) o Hay que decidir que instruc se pueden emitir (en función de las U.F. disponibles) o Hay que leer muchos registros a la vez (2m lecturas +m escrit. en la fase WB) o etc. Algunas máquinas (sobre todo primigenias, principios de los 90 y de sistemas empotrados), no disponen de planificación dinámica. En general, en estos procesadores, las m instrucciones deben cumplir ciertas reglas de emisión (fase ID) para que se emitan todas, (de lo contrario se emite un número menor que m). Si una se bloquea toda la cadena sería muy caro en cuanto a prestaciones: 1 ciclo de bloqueo se nota mucho más que en un encadenado. Ej.: Encadenado CPI = 1 + CPI bloq. Si CPI bloq = 0.2 A=1.2 Superescalar CPI= 1/m +CPI bloq. Si m=4, CPI bloq =0.2 A=( )/0.25 =1.8 Tb existirán bloqueos de sólo algunas instrucciones de las m posibles. Ej: Superescalar m=4, donde en cada ciclo se consiguen ejecutar sólo 3 de las 4 instrucciones: IPC=3, CPI= 1/3 A=CPI/CPI ideal = 4/3 = 1.33 EJERCICIO: dibujar croquis del cronograma de estos casos. EJERCICIO: Calcular A si: en ciclos pares se ejec. m instr, pero en los impares sólo 1. Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 15 Idem con las penalidades de fallo de caché, de fallo de predicción de BTB, etc. Influyen mucho en las prestaciones La tendencia en los máquinas de propósito general es sofisticar al máximo para evitar cualquier bloqueo y reducir penalidades. De ahí que en estas máquinas los superescalares con planif dinámica se hayan impuesto. Sin embargo los sistemas empotrados suelen llevar superescalares menos agresivos: o Menos transistores menos consumo. o Aplicaciones específicas (y generalm. en ROM) más fácil optimizar y sintonizar. Todas poseen EMISIÓN DINÁMICA: el procesador (ID) decide en tiempo de ejecución qué instrucciones pueden emitirse a la vez y cuales no (en los VLIW la emisión es estática, o casi estática cuando se apoya en ciertos bits del compilador: el compilador debe preparar las instrucciones a emitir para que no haya riesgos estructurales y rellena con NOP para evitarlos). Según la Emisión (Issue) y Planificación (Scheduling), siguientes modelos. Esto tampoco no es una clasificación rígida, sino modelos. Existen en la realidad muchos casos intermedios (cada procesador tiene sus peculiaridades, dependiendo de las tuberías que posee). Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 16

9 Emisión Dinámica Rígida (para que se emitan las m instr., deben estar en cierto orden en el código) El procesador no tiene hw para reconducir cada instr a su tubería Flexible (se emitirán las m instr., sin importar el orden en que estén en el código) Planificación Estática (suponemos El procesador sí conduce cada todos los bypasses). Instr. instr a su tubería. Suelen se encauzan por tuberías existir reglas de emisión Dinámica (similar No tiene sentido Superescalar planif. Algoritmo Tomasulo) dinámica En los superescalares de planificación estática, suelen existir en la fase ID reglas de emisión. En ellos cada una de las m fases ID puede bloquearse por éstas (no ocurría en el DLX, excepto en las RAW de los saltos). TÉCNICAS DINÁMICAS ESPECTRO de máquinas con ILP TÉCNICAS ESTÁTICAS Superescalar con planificación dinámica, sin reglas de emisión Superescalar con planificación dinámica, pero con reglas de emisión Superescalar sin planificación dinámica, emisión dinámica (pero reglas de emisión) Superescalar sin planificación dinámica y emisión estática VLIW puro Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 17 Proc. Superescalares con Planificación estática Recordar : IF ID MEM WB para procesadores sin planif dinámica. Trabajaremos con un caso simple de grado m=2, donde las dos tuberías o cadenas son casi totalmente independientes (muchos de los primeros superescalares eran así): o 1 Tubería FP o 1 Tubería INT + Acceso a Memoria o La única relación entre ambas tuberías, son los Ld/St para FP. Ejemplos simples para éste: o si las instrucciones vienen por parejas INT/FP: se emiten 2 instr en ese ciclo o si todas las instrucciones son INT (programa entero) se emiten 1 instr/ciclo o Los bloqueos de emisión suelen afectar a todas las tuberías (suponemos que la fase ID no se ha completado y no se ha decodificado totalmente la instr.: no se sabe cuál es y por tanto, no se puede continuar emitiendo otras) o Los bloqueos de datos afectan por separado a cada tubería (son casi independientes) excepto en los Ld/St para FP. Para evitar cualquier bloqueo por dependencia (un bloqueo es muy caro) vamos a suponer que sólo se producen los bloqueos estrictamente necesarios. Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 18

10 En lugar de: FP MUL F1,F2,F3 IF ID M1 M2 M3 MEM WBF INT SF 0(R4),F1 IF ID - - MEM WBI FP ADDF F0,F4,F5 IF ID - - A1 A2 MEM WBF INT XOR R5,R1,R2 IF ID - - MEM WBI Ahora las dos cadenas o tuberías se montan lo más independientemente posibles, y por tanto quedaría así (los bloqueos de una no afectan a la otra). FP MUL F1,F2,F3 IF ID M1 M2 M3 MEM WBF INT SF 0(R4),F1 IF ID - - MEM WBI FP ADDF F0,F4,F5 IF ID A1 A2 - (*) MEM WBF INT XOR R5,R1,R2 IF ID - - MEM WBI Se han resaltado las fases que realmente usan recursos estructurales (U.F./acc. a caché datos, puertos de los fich registros); nótese que sólo se bloquea por la RAW la segunda tubería o cadena. NOTA: el ciclo de bloqueo de la primera tubería marcado con (*), sería más correcto dibujar en WBF, puesto que MEM no hace nada para FP. Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 19 Implementación (Superescalares Planif. estática) IF: Políticas de búsqueda: ventana de instrucciones > Un superescalar de grado m puede lanzar o emitir hasta m instrucciones por ciclo, de forma que la caché debe ser capaz de atender esta demanda. Aumentar el ancho del bus de datos del caché sólo supone invertir más (chip mayor o de tecnología más precisa). Recordar que lo que no se puede rebajar son los tiempos de latencia ( no se puede sobrepasar la velocidad de la luz!!) > El conjunto de instrucciones leídas en IF y susceptibles de entrar en las cadenas se le denomina ventana de instrucciones. Dos tipos de implementaciones: - Ventana fija: hasta que no se han lanzado o emitido todas las instrucciones de la ventana en su cadena correspondiente, no se puede acceder a caché a por otras m instrucciones (el búfer que recoge las instrucciones es fijo; está unido al bus). - Ventana deslizante: A medida que las instrucciones se van emitiendo a su correspondiente cadena, nuevas instrucciones son leídas de la caché para rellenar las posiciones inferiores de la ventana. En este caso debe existir un registro (búfer) de desplazamiento. Más complejidad de IF, pero actualmente es habitual que IF prepare las m instr. siguientes para ID (problema si las m instrucciones están en dos líneas distintas de caché (unidad o búfer de prebúsqueda, prefetch buffer). Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 20

11 ID o Se distribuyen (emisión) las instrucciones en la fase ID por tuberías (cadenas) con los bypasses necesarios entre ellas. o Suele haber reglas de emisión o emparejamiento. Ejemplos de reglas de emisión: - No tener RAW ni WAW (Pentium y otros). Nosotros supondremos que el bloqueo se producirá en la fase que necesita el dato. - Ir en cierto orden (ej: 1º entera/ld/st/salto y 2º flotante, HP 7100) o estar balanceadas en ciertos porcentajes (ej: Una entera/ld/st/salto y otra flotante, en cualquier orden). Hw simple porque la primera tubería es entera y la segunda es flotante: usan recursos distintos, excepto instrucc. Ld/St de FP. - Aquí la planificación estática o scheduling (del compilador) puede jugar un papel importante e intentar agrupar instrucciones sin dependencias y que cumplan los criterios. En general podemos hablar de dos modelos de emisión para los de planif estática: o Emisión rígida: Superescalar de planificación estática y emisión rígida. Idea similar a VLIW pero con emisión dinámica. Las instrucciones son emitidas desde la ventana de instrucciones (buffer de instrucciones de la fase IF) en el mismo orden en que llegaron, de manera que si una instrucción no es para la tubería (cadena) que le corresponde por su posición en la ventana, en el siguiente ciclo repetirá su etapa ID pero para otra cadena. Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 21 (ej: 1º entera/ld/st/salto y 2º flotante, HP 7100, Alpha 21064) Sólo han de replicarse las IF, ID, y más puertos en WB. MEM se deja igual (se permite un único acc. a mem.). En se aprovechan las mismas U.F. Ej: El procesador Pentium (1992) fue un superescalar sin planif dinámica, construido alrededor de dos tuberías casi genéricas, capaces de ejecutar dos instrucciones en paralelo. Las tuberías son denominadas como U y V, y al proceso de emisión de dos instrucciones en paralelo se le llama emparejamiento. La tubería U puede ejecutar cualquier instrucción de la arquitectura Intel (tubería genérica), mientras que la tubería V puede ejecutar sólo las instrucciones simples (similares a las de un RISC, ver tabla 1). Cuando dos instrucciones se emparejan, la instrucción emitida en la tubería V es siempre la siguiente instrucción, (secuencialmente hablando según el código original) a la emitida en la tubería U. Las dos instrucciones no pueden tener dependencia RAW, ni WAW, y deben de cumplir ciertas restricciones (relacionadas con instr. CISC). Los saltos sólo pueden ser emparejados si van en la tubería V (se permite el emparejamiento de las instrucciones de comparación CMP o TEST, que escriben sobre una bandera (bit de estado), con un salto condicional (Jcc, cc=ne, EQ, GE, LE, NZ, etc.), que lea esa misma bandera). Está claro que el Pentium debe tener replicada la unidad entera (dos U.F. ALU INT, una en cada tubería). Además la decodificación de las instrucc. CISC es compleja y sólo dispone de un decodificador para ellas. Vamos a suponer que siempre se emite al menos una instrucción por ciclo (si no, sería peor que un encadenado) Emisión rígida no resulta eficiente cuando el compilador no hace una buena planificación estática al ordenar instrucciones según las cadenas. Presentará bloqueos debidos a dependencias estructurales cuando la instrucción o instrucciones no estén en el mismo orden que las cadenas. Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 22

12 o Emisión flexible: Superescalar de planificación estática y emisión flexible. Una instrucción de la ventana de instrucciones puede entrar en cualquier cadena que esté libre y admita dicha instrucción. Esta cualidad necesita de más complejidad en la cadena, que englobaremos en una nueva etapa SW (swap) donde las instrucciones son redirigidas a la cadena correspondiente. Esta etapa será para nosotros posterior a ID (IF ID SW MEM WB). Cuando una instrucción no pueda entrar en ninguna cadena tendrá que esperar al siguiente ciclo. o Como vemos poco a poco se va complicando la fase ID/SW (o IS), que es quizás el principal cuello de botella de los superescalares. Vamos a suponer que en la fase van todas las U.F. (Si queremos independizar la ALU INT de los accesos a memoria, sólo hace falta añadir un sumador para calcular la dirección de acceso (EA, Effective Address). MEM: Vamos a suponer sólo un acceso a la vez (estos superesc. son sencillos) WB: Habrá que escribir en el fichero INT y FP a la vez. Si los Ld/St de FP están en la primera tubería, necesitan acceder al Fich de Reg FP en WB o ID. Contención en el fichero de registros por múltiples accesos. Si además el resultado del LD es usado por la instrucción FP tendremos un riesgo RAW. O esta contención es un riesgo estructural (que podría bloquear) o se duplican los puertos del fichero de registros. Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 23 > A pesar de ser emisión flexible, sigue bloqueándose cuando las parejas o el balanceo de instrucciones no es el adecuado. Ej.(se ha puesto un subíndice en los decodificadores para aclarar más la ejecución) Int ID 1 SW Int ID SW Int ID 2 - SW FP ID SW Int ID 1 - SW Int ID SW FP - (a) ID 2 SW FP ID SW FP - (b) ID 1 SW Int ID SW FP ID 2 - FP ID SW (a) El decodificador ID2 está usado aún por la segunda instrucción. (b) El decodificador ID1 está usado aún por la tercera instrucción. Notar que en un ciclo sólo puede haber dos fases ID activas a la vez (en dos decodificadores diferentes). Habría que duplicar la U.F. INT como en el Pentium (el % instr. INT es mayor que el de FP), para evitar esto. Pero entonces... > Para m mayor y para evitar esto, interesa más la Planificación dinámica. Además las técnicas dinámicas aseguran la compatibilidad siempre. EJEMPLOS DE CASOS EMISIÓN Y VENTANA DE INSTR. Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 24

13 Ejemplo 2: superescalar planif. estática Supongamos un DLX superescalar de grado 2 (sin planificación dinámica) con las siguientes reglas de emisión: o 1 tubería de operación INT/salto/Acceso a memoria o 1 tubería de FP Notar que la detección de dependencias de datos (p. ej. RAW) la hace el hardware, pero los bloqueos hardware detienen la tubería. Sería interesante que el compilador reordenara las instrucciones para atenerse a las reglas de emisión y para evitar dependencias de datos. Supongamos (similar al DLX, duración FP=4 ciclos). Las UF están totalmente segmentadas (esto es habitual hoy día). Instrucción que Instrucción Latencia genera un dato que lo usa FP ALU otra FP ALU 3 FP ALU Store (FP) 2 Load (FP) FP ALU 1 Load (FP) Store (FP) 0 Se pide: Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 25 a) Estudiar los conflictos estructurales b) Dibujar un cronograma y hallar el IPC, y el número de ciclos por elemento del array procesado c) Desenrollar el código dado en 5 iteraciones y reordenar en función de las reglas de emisión y las dependencias. d) Comparar prestaciones y tamaño de código con el no desenrollado (notar que al desenrollar, el número de ciclos por elemento es la medida que interesa). e) Influye en el IPC la restricción en el orden de la pareja a emitir (emisión rígida/flexible)? Proponer un código donde influya. Suponer BTB que siempre acierta. Suponer que ID/SW es una sola fase ID. for (i=n-1; i>0; i++) x[i] = x[i] +s; //N es divisible por P // F2 s ; R1 &x[n-1] Loop: LD F0, 0(R1) ADDD F4, F0, F2 SD 0(R1), F4 SUBI R1, R1, 8 BNEZ R1, Loop Dpto. Arquitectura y Tecnología de Computadores. ASP2: TEMA 1: Arquitecturas encadenadas avanzadas: pág 26

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

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

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

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

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

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

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

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

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

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

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

DEPENDENCIAS Y BLOQUEOS DE CONTROL (Apartado 2.8)

DEPENDENCIAS Y BLOQUEOS DE CONTROL (Apartado 2.8) 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.

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

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

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

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

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

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

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

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

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

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

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

GRADO EN INGENIERÍA DE COMPUTADORES

GRADO EN INGENIERÍA DE COMPUTADORES GRADO EN INGENIERÍA DE COMPUTADORES Computadores VLIW Departamento Computadores superescalares de Automática Prof. Dr. José Antonio de Frutos Redondo Curso 2013-2014 Computadores VLIW y superescalares

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

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

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 2009 Organización general Superescalar Varios pipelines 2 ops. Enteras, 2 de

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

Superescalares. Scheduling estático

Superescalares. Scheduling estático Superescalares Scheduling estático Introducción La CPU ejecuta las instrucciones en orden. El compilador: Puede cambiar el orden de ejecución. Genera el paquete de emisión. Trata de prevenir o reducir

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

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

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

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

Superescalares. Scheduling dinámico: algoritmo de Tomasulo

Superescalares. Scheduling dinámico: algoritmo de Tomasulo Superescalares Scheduling dinámico: algoritmo de Tomasulo Introducción Scheduling dinámico significa que la CPU (el hardware) puede reordenar las instrucciones. La mayoría de las CPUs de escritorio son

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

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

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

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

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

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

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

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 8 Procesadores superescalares

Arquitectura de Computadoras. Clase 8 Procesadores superescalares Arquitectura de Computadoras Clase 8 Procesadores superescalares Procesador Escalar Ejecución secuencial de instrucciones F: búsqueda D: decodificación F D ALU F D ALU F D ALU Instrucción 1 Instrucción

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

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

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

Pipeline de instrucciones

Pipeline de instrucciones Pipeline de instrucciones Manejo de Interrupciones Tipos: - Síncronas - Asíncronas Asíncronas: No están asociadas a ninguna instrucción. Se atienden normalmente al final de la instrucción en ejecución.

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

ASP2. Problemas de Procesadores Multimedia.

ASP2. Problemas de Procesadores Multimedia. ASP2. Problemas de Procesadores Multimedia. En todos los problemas supondremos, salvo que se indique otra cosa: Procesador DLX con extensiones MM y secuenciamiento dinámico (Tomasulo) Latencia de las UF:

Más detalles

PLANIFICACIÓN O REORDENAMIENTO (SCHEDULING) DE INSTRUCCIONES

PLANIFICACIÓN O REORDENAMIENTO (SCHEDULING) DE INSTRUCCIONES 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

Más detalles

Problema. Dispone del siguiente fragmento de código intermedio:

Problema. Dispone del siguiente fragmento de código intermedio: Problema Dispone del siguiente fragmento de código intermedio: Loop: LD ADDD SD SUBI BNEZ F0,0(R1) F4,F0,F2 0(R1),F4 R1,R1,#8 R1,Loop y de un procesador VLIW con un formato de instrucción de 5 slots (4

Más detalles

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

Aspectos avanzados de arquitectura de computadoras Pipeline II. Facultad de Ingeniería - Universidad de la República Curso 2017 Aspectos avanzados de arquitectura de computadoras Pipeline II Facultad de Ingeniería - Universidad de la República Curso 2017 Excepciones (1/5) Tipos de excepciones: Externas, provocadas por hardware

Más 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

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

Tema 2. Diseño del repertorio de instrucciones

Tema 2. Diseño del repertorio de instrucciones Enunciados de problemas Tema 2. Diseño del repertorio de instrucciones Arquitectura de Computadores Curso 2009-2010 Tema 2: Hoja: 2 / 10 Tema 2: Hoja: 3 / 10 Base teórica Al diseñar un computador, uno

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

Nombre: Carnet: Examen Parcial 1 (35 Puntos)

Nombre: Carnet: Examen Parcial 1 (35 Puntos) Universidad simón Bolívar Departamento de Electrónica y Circuitos / Sección de Sistemas Digitales EC7 Arquitectura del Computador II Trimestre Abril Julio de 008 0/0/008 Nombre: Carnet: Examen Parcial

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

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

#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

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

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

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

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

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

SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 2. PLANIFICACIÓN ESTÁTICA BÁSICA Y PROCESADORES VLIW: TMS320C6713

SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 2. PLANIFICACIÓN ESTÁTICA BÁSICA Y PROCESADORES VLIW: TMS320C6713 SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 2. PLANIFICACIÓN ESTÁTICA BÁSICA Y PROCESADORES VLIW: TMS320C6713 NOTA IMPORTANTE: Antes de acudir al laboratorio cada alumno deberá realizar los ejercicios

Más detalles

Paralelismo en monoprocesadores. Introducción

Paralelismo en monoprocesadores. Introducción Paralelismo en monoprocesadores Introducción Profesor: Mag. Marcelo Tosini Cátedra: Arquitectura Computadoras y técnicas Digitales Carrera: Ingeniería Sistemas Ciclo: 4º año 1 Técnicas para mejorar el

Más detalles

Tema 9. Planificación dinámica de instrucciones II: Algoritmo de Tomasulo

Tema 9. Planificación dinámica de instrucciones II: Algoritmo de Tomasulo Tema 9. Planificación dinámica de instrucciones II: Algoritmo de Tomasulo Organización de Computadores LUIS ENRIQUE MORENO LORENTE RAÚL PÉRULA MARTÍNEZ ALBERTO BRUNETE GONZALEZ DOMINGO MIGUEL GUINEA GARCIA

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

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

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

Pipeline de instrucciones

Pipeline de instrucciones Pipeline de instrucciones Manejo de Interrupciones Tipos: - Síncronas - Asíncronas Asíncronas: No están asociadas a ninguna instrucción. Se atienden normalmente al final de la instrucción en ejecución.

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

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

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

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

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

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

Cuestionario Unidad 4: Procesamiento paralelo 2012

Cuestionario Unidad 4: Procesamiento paralelo 2012 SEP SNEST DGEST INSTITUTO TECNOLÓGICO DE CHIHUAHUA II INGENIERÍA EN SISTEMAS COMPUTACIONALES ARQUITECTURA DE COMPUTADORAS Ing. Ernesto Leal Procesamiento paralelo ELABORADO POR: Miguel Angel Chávez Reza

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

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

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 PIPELINE O DE ENSAMBLAJE

ARQUITECTURA PIPELINE O DE ENSAMBLAJE ARQUITECTURA PIPELINE O DE ENSAMBLAJE Miguel Ángel Asensio Hernández, Profesor de Electrónica de Comunicaciones. Departamento de Electrónica, I.E.S. Emérita Augusta. 06800 MÉRIDA. Un procesador basado

Más 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

Micro arquitectura. Técnicas Digitales III Ing. Gustavo Nudelman Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

Micro arquitectura. Técnicas Digitales III Ing. Gustavo Nudelman Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Micro arquitectura Técnicas Digitales III Ing. Gustavo Nudelman 2012 Evolución Ley de Moore Fundamentos CISC (Complex Instruction set Computer) instrucciones mas complejas y focalizadas RISC (Reduced Instruction

Más detalles

Arquitectura. TEMA 5 Lanzamiento múltiple, Límites de ILP, Multithreading. Curso

Arquitectura. TEMA 5 Lanzamiento múltiple, Límites de ILP, Multithreading. Curso Arquitectura de Computadores TEMA 5 Lanzamiento múltiple, Límites de ILP, Multithreading Curso 2010-2011 Contenidos o Introducción: CPI < 1 o o o o o o o Lanzamiento múltiple de instrucciones: Superescalar,

Más detalles

CAPÍTULO 2 PROCESADORES SUPERESCALARES

CAPÍTULO 2 PROCESADORES SUPERESCALARES CAPÍTULO 2 PROCESADORES SUPERESCALARES INTRODUCCIÓN Características de los procesadores superescalares Paralelismo Diversificación Dinamismo Arquitectura de un procesador superescalar genérico Características

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

Modelo de von Neumann

Modelo de von Neumann Conceptos básicos Modelo de von Neumann También conocida como arquitectura de Princeton. Propuesta por John von Neumann en 1945. Partes de una computadora digital: Unidad de procesamiento (CPU unidad central

Más detalles

Arquitectura de Computadoras

Arquitectura de Computadoras Arquitectura de Computadoras Clase 6 RISC Computadoras de repertorio reducido de instrucciones Historia de evolución (1) El concepto de familia: Introducido por IBM en su System/360 en 1964. DEC PDP-8.

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

Universidad Euskal Herriko del País Vasco Unibertsitatea Arquitectura de Computadores I Sistema de memoria 1

Universidad Euskal Herriko del País Vasco Unibertsitatea Arquitectura de Computadores I Sistema de memoria 1 Arquitectura I Sistema de memoria 1 1. En un espacio de direcciones de 64 Kbytes deben colocarse los s de memoria que se indican. Suponer que el direccionamiento de la memoria se hace al byte. Dibujar

Más detalles

Quinta tarea: Existen varias versiones del 80486:

Quinta tarea: Existen varias versiones del 80486: Quinta tarea: Los primeros procesadores utilizados en los PC fueron los procesadores 8088 y 8086. Sus principales diferencias con el 80286 es que el segundo permite multitarea, tenía una velocidad de reloj

Más detalles