Paralelismo al nivel de instrucciones

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

Download "Paralelismo al nivel de instrucciones"

Transcripción

1 Paralelismo al nivel de instrucciones Arquitectura de Computadoras M. C. Felipe Santiago Espinosa Mayo de 2017

2 Qué es la segmentación o pipelining? O Técnica para la generación de paralelismo en microprocesadores. O Consiste en dividir la ejecución de una instrucción en etapas independientes, que pueden trabajar simultáneamente (se realiza un trabajo en cadena). O En un instante determinado, el procesador está trabajando sobre un número de instrucciones igual al número de etapas => paralelismo al nivel de instrucciones.

3 Segmentación

4 Tipos de cauces O Unifunción: ejecutan un único proceso. O Multifunción: pueden ejecutar varios procesos: O Estáticos: en un instante determinado sólo pueden ejecutar uno. O Dinámicos: pueden ejecutar simultáneamente varios procesos. O Lineal: a cada etapa sólo le puede seguir otra etapa concreta. O No lineal: se pueden establecer recorridos complejos de las etapas.

5 Aplicación de la segmentación: O A operaciones aritméticas: O Ejecutan una o varias operaciones de la ALU. O Pueden ser lineales (sumas) o no lineales (división). Las operaciones son no lineales porque incluyen ciclos. O Los procesadores actuales incluyen varias ALU s segmentadas y cada una se puede ocupar de diferentes operaciones. O A ejecución de instrucciones: O Suelen ser cauces lineales. O Alguna de sus fases puede a su vez subsegmentarse (uso de una ALU segmentada para la fase de ejecución).

6 Cauce no-lineal O Una tabla de reserva indica el orden en que trabajan las etapas para cada tarea.

7 Latencia O Número de ciclos que separan el inicio de dos operaciones (distancia entre las entradas de dos elementos al cauce). Latencia prohibida: Latencia con la que se producen colisiones (en el ejemplo, 1 es una latencia prohibida) Latencia permitida: Latencia con la que no se produce colisión (en el ejemplo, 2 es una latencia permitida)

8 Ciclos de latencia O Secuencia de latencias permitidas que se puede repetir indefinidamente. O Ejemplo. Para la función B, se tiene que (1,4) es un ciclo de latencia: O Cuál es el ciclo de latencia para la función A?

9 Arquitectura DLX O El DLX es un microprocesador RISC diseñado por John Hennessy y David A. Patterson, los diseñadores principales de la arquitectura MIPS. O El DLX es básicamente un MIPS revisado y simplificado con una arquitectura cargaalmacenamiento de 32 bits. O DLX fue pensado principalmente para propósitos educativos

10 Máquina básica

11 Máquina segmentada

12 Clasificaciones de dependencias O Lectura después de Escritura (RAW, dependencia): O Una instrucción genera un dato que otra posterior lee (la que se ha visto hasta ahora). O Escritura después de Escritura (WAW, dependencia en salida): O Una instrucción escribe un dato que otra posterior ya había escrito; O En una máquina segmentada simple ocurre sólo si se permite que las instrucciones se adelanten unas a otras. O Escritura después de Lectura (WAR, antidependencia): O Una instrucción modifica un valor antes de que lo lea una instrucción anterior. O Tampoco ocurre en un cauce simple.

13 Instrucciones de mayor complejidad O Problema: Si el repertorio básico se amplía, habrá instrucciones que tarden más en ejecutarse. O Ejemplo: una multiplicación y un desplazamiento lógico. O Si el ciclo de reloj se ajusta a la más lenta, con las rápidas (y con las demás etapas del cauce) se está perdiendo tiempo. O Si el ciclo de reloj se ajusta a la más rápida, a las lentas no es suficiente con un ciclo. O Solución: Se segmenta también la fase de ejecución.

14 Cauce multifuncional

15 Nuevo flujo de instrucciones O El flujo de instrucciones ahora es: O Las instrucciones pasan por las fases IF e ID. O A continuación, cada instrucción pasa a la unidad funcional que le corresponda para su ejecución. O Las instrucciones terminan el recorrido por su unidad funcional y pasan por las fases MEM y WB. O Es necesario modificar la máquina: O Añadiendo latches entre las fases de las unidades funcionales. O Posibilitando el flujo desde ID hasta cualquier unidad funcional. O El control se complica.

16 Ejemplo de ocupación MULTD IF ID M1 M2 M3 M4 M5 M6 M7 MM WB ADDD IF ID A1 A2 A3 A4 MM WB LD IF ID EX MM WB SD IF ID EX MM WB O Se supone que las instrucciones no tienen dependencias entre sí. O Las fases en cursiva indican cuándo se necesitan los datos. O Las fases en negrita indican cuándo se generan los resultados.

17 O O O O Complicaciones de la multifunción Aumentan las posibilidades de dependencia (y por lo tanto de detenciones). O Algunas unidades funcionales están segmentadas y pueden tener varias instrucciones en ejecución. O Diferentes unidades funcionales pueden estar activas simultáneamente. Las detenciones serán más largas, puesto que el cauce es más largo (dependiendo de la unidad funcional). Las instrucciones no tienen por qué terminar en orden: O Puede haber dependencias WAW. O Puede haber varias instrucciones en la fase WB a la vez (hay riesgo de conflicto estructural). La buena noticia es que las antidependencias WAR no pueden darse.

18 Ejecución multifuncional con dependencias O Hay dependencias RAW de cada instrucción con la anterior. Esto implica detenciones (P : paro) O Si sólo se tiene una memoria para instrucciones y datos, también hay dependencias estructurales.

19 Paralelismo al nivel de instrucciones O La meta es reducir el CPI CPI Segmentado = CPI Ideal + detenciones estructurales + detenciones por dependencia de datos + detenciones por riesgos de control O El paralelismo dentro de un bloque es limitado O El tamaño típico de un bloque es de 3 a 6 instrucciones. O Debe optimizarse a través de brincos O La clave para mejorar el rendimiento consiste en eliminar las detenciones (o parones)

20 Técnicas a revisar O Planificación de instrucciones: O Planificación estática: reordenación y desenrollo de bucles. O Renombramiento de registros. O Planificación dinámica: Algoritmo de Tomasulo. O La predicción de saltos también ayuda a reducir los riesgos de control.

21 Reordenación de código O Consiste en reordenar las instrucciones para eliminar detenciones. O Se debe tener cuidado con las dependencias. O Ejemplo: un programa que suma un escalar a cada elemento de un arreglo de 1000 números en punto flotante: for (i = 0; i < 1000; i = i + 1) x[i] = x[i] + s; O Son operaciones puntuales, es decir, no hay dependencias entre iteraciones.

22 Reordenación de código O El código que correspondiente al bucle es: bucle: ld f0,0(r1) addd f4,f0,f2 sd 0(r1),f4 subi r1,r1,8 bnez r1,bucle

23 Reordenación de código O Consideremos las siguientes latencias: Productor Consumidor Latencia FP ADD FP ALU 3 ciclos FP ADD Store 2 ciclos Load FP ALU 1 ciclo Load Store 0 ciclos Load INT ALU 1 ciclo INT ALU INT ALU 0 ciclos

24 O Con las latencias, la ejecución del bucle es: instrucción ciclo bucle: ld f0,0(r1) 1 detención 2 addd f4,f0,f2 3 detención 4 detención 5 sd 0(r1),f4 6 subi r1,r1,8 7 detención 8 bnez r1,bucle 9 retardo por brinco 10 O Tiempo de ejecución: 10 ciclos por iteración, 5 ciclos perdidos por riesgos (50%)

25 O Un cambio de orden elimina dos detenciones: instrucción ciclo bucle: ld f0,0(r1) 1 detención 2 addd f4,f0,f2 3 subi r1,r1,8 4 detención 5 sd 8(r1),f4 6 bnez r1,bucle 7 retardo por brinco 8 O Tiempo de ejecución: 8 ciclos por iteración, 3 ciclos perdidos por riesgos (37.5%) O La ejecución es 1.25 veces más rápida.

26 Recargo por iteración O En cada iteración se debe: O Leer un elemento del arreglo O Sumar el escalar O Almacenar el resultado O Al pasar de una iteración a otra se tiene un costo de 3 ciclos por recargo. O Incremento del contador O Brinco O El 37.5 % es el costo de tiempo por recargo en cada iteración O Para reducir el costo por recargo es conveniente desenrollar el lazo.

27 Desenrollado de bucles O Se copia el cuerpo del bucle n veces para trabajar sobre n elementos del arreglo en cada iteración. O Cada iteración del nuevo bucle incluye n iteraciones del bucle original.

28 Bucle original instrucción ciclo bucle: ld f0,0(r1) 1 addd f4,f0,f2 3 sd 0(r1),f4 6 subi r1,r1,8 7 bnez r1,bucle 9

29 Desenrollando 4 veces instrucción ciclo bucle: ld f0,0(r1) 1 addd f4,f0,f2 3 sd 0(r1),f4 6 ld f6,-8(r1) 7 addd f8,f6,f2 9 sd -8(r1),f8 12 ld f10,-16(r1) 13 addd f12,f10,f2 15 sd -16(r1),f12 18 ld f14,-24(r1) 19 addd f16,f14,f2 21 sd -24(r1),f16 24 subi r1,r1,32 25 bnez r1,bucle 27 riesgo por el brinco 28

30 Mejora del rendimiento O Código original: 12 ciclos de reloj como un costo por recargo en 4 iteraciones. O Con el lazo desarrollado 4 veces: 3 ciclos de reloj como un costo por recargo. O Cuánto mejora la ejecución al desenrollar el lazo por 4 iteraciones sin emplear reordenamiento de instrucciones? O Al tener más instrucciones en cada iteración, el reordenamiento ayuda a anular detenciones.

31 instrucción ciclo bucle: ld f0,0(r1) 1 ld f6,-8(r1) 2 ld f10,-16(r1) 3 ld f14,-24(r1) 4 addd f4,f0,f2 5 addd f8,f6,f2 6 addd f12,f10,f2 7 addd f16,f14,f2 8 sd 0(r1),f4 9 sd -8(r1),f8 10 subi r1,r1,32 11 sd 16(r1),f12 12 ; = -16 sd 8(r1),f16 13 ; 8 32 = -24 bnez r1,bucle 14 riesgo por el brinco 15 O Cuánto mejoró el rendimiento al combinar las dos técnicas?

32 Desenrollo de bucles O En el ejemplo anterior, el bucle sólo va a iterar 250 veces. O En general, el número de iteraciones del bucle original (m) debe ser un múltiplo del factor de desenrollo (n). O Si m no es múltiplo de n, el bucle original se remplaza por dos consecutivos: O El primero, con cuerpo igual al original, se ejecuta m mod n veces. O El segundo, con cuerpo desenrollado n veces, se ejecuta m/n veces (división entera).

33 Renombre de registros O Se trata de una técnica para eliminar dependencias falsas. O Básicamente consiste en utilizar más registros de los que el programador consideró. O El renombre de registros puede ser un paso previo al reordenamiento.

34 Renombre de registros O En el siguiente código aparentemente hay más dependencias de las reales: 1 or r5,r0, cte 2 ld r6,0(r5) 3 ld r8,8(r5) 4 ld r9,16(r5) 5 ld r7,24(r5) 6 add r1,r8,r9 7 add r8,r9,r7 8 st 0(r8),r1 9 ld r8,0(r6)

35 Renombre de registros O En el siguiente código aparentemente hay más dependencias de las reales: 1 or r5,r0, cte 2 ld r6,0(r5) 3 ld r8,8(r5) 4 ld r9,16(r5) 5 ld r7,24(r5) 6 add r1,r8,r9 7 add r8,r9,r7 8 st 0(r8),r1 9 ld r8,0(r6)

36 Renombre de registros or r5,r0, cte ld r6,0(r5) ld r8,8(r5) ld r9,16(r5) ld r7,24(r5) add r1,r8,r9 add r8,r9,r7 st 0(r8),r1 ld r8,0(r6) r5 r6 r8 R9 r7 r1 r8 r8 f1 f2 f3 f4 f5 f6 f7 f8 or f1,r0, cte ld f2,0(f1) ld f3,8(f1) ld f4,16(f1) ld f5,24(f1) add f6,f3,f4 add f7,f4,f5 st 0(f7),f6 ld f8,0(f2)

37 Renombre de registros 1 or f1,r0, cte 2 ld f2,0(f1) 3 ld f3,8(f1) 4 ld f4,16(f1) 5 ld f5,24(f1) 6 add f6,f3,f4 7 add f7,f4,f5 8 st 0(f7),f6 9 ld f8,0(f2)

38 Renombre de registros

39 Planeación dinámica O El reordenamiento para la ejecución se realiza por hardware. O Objetivo: eliminar detenciones innecesarias. Consideremos el siguiente código: divd f0,f2,f4 addd f10,f0,f8 subd f12,f8,f14 O La segunda instrucción no se puede ejecutar hasta que primera genere f0. O Esto impide que se ejecute la tercera, aunque tenga todos sus datos preparados => detención innecesaria.

40 Planeación dinámica O Se pretende que una instrucción, con sus operandos disponibles, no se quede paralizada si tiene la posibilidad de ejecutarse, aunque otra instrucción previa esté bloqueada. O Para ello, la fase ID se divide en dos: O Lanzamiento: Decodificación y comprobación de dependencias estructurales (en orden del programa). O Lectura de operandos: Espera por operandos; cuando están listos, se leen y se pasa a ejecutar (no necesariamente respetando el orden del programa) O De esta forma, una instrucción puede adelantar a otra que esté bloqueada por dependencias. O La idea es que el código se reordena solo, de forma dinámica y según la situación del cauce.

41 Planeación dinámica O Ventajas: O La reordenación se realiza en forma dinámica. O El compilador es más sencillo. O Además, la reordenación en tiempo de compilación sólo es válida para el cauce concreto con el que se trabaja: ahora es más general.

42 Planeación dinámica O Desventajas: O El hardware es más complejo. O Ahora se pueden dar las dependencias WAR y WAW. O Hay que tener cuidado con las excepciones (interrupciones).

43 Algoritmo de Tomasulo O Robert Tomasulo IBM 360/91 (1967). O Características malas de la computadora IBM 360: O Sólo 4 registros de punto flotante en doble precisión. O Accesos a memoria lentos. O Grandes atascos en punto flotante. O Tomasulo diseñó un algoritmo para contrarrestar estas características malas.

44 O El algoritmo de Tomasulo rastrea cuándo los operandos de una instrucción están listos para minimizar detenciones por dependencias RAW. O Introduce el renombrado de registros para minimizar detenciones por dependencias WAW y WAR. O La IBM 360/91 contaba con dos unidades de punto flotante: una para sumas y otra para multiplicaciones. O En estaciones de reserva se mantiene a las instrucciones mientras esperan ingresar a la unidad de punto flotante que corresponda. O La del sumador de 2 niveles y la del multplicador de 3 niveles.

45

46 Algoritmo de Tomasulo O La distribución de los resultados se efectúa directamente por medio del bus común de datos (CDB), sin necesidad de pasar por los registros. O Con la estructura de la máquina, las fases del cauce son: O Lanzamiento. O Ejecución. O Almacenamiento.

47 Lanzamiento: O Se toma una instrucción de la cola. O Si hay espacio en su estación de reserva, se coloca ahí. O Si los operandos están en el banco de registros, se envían a la estación de reserva. O Si no hay espacio en la estación de reserva se produce una detención por riesgo estructural. O Si los operandos no están en el banco de registros, se indican las unidades funcionales que los producen en Qj y Qk. O Esta operación introduce un renombramiento de registros implícito.

48 Ejecución: O Si falta algún operando, se vigila el CDB. O Cuando están listos los dos, se ejecuta la operación. Almacenamiento: O Cuando termina la ejecución, los resultados se ponen en el CDB. De ahí van a los registros y a las UF que los esperen.

49 Renombrado de registros O O O El renombrado de registros queda implícito y oculto: Hay 11 fuentes de datos: O O O 6 entradas del buffer de cargas (loads), 3 entradas en la estación de reserva de suma y 2 entradas en la estación de reserva de multiplicación. A cada operando en la fase de lanzamiento se le da un identificador de 4 bits, que indica qué fuente proporciona el dato. O (0 si ya está listo) O De esta manera se extiende el número de registros de 4 a 11.

50 Estaciones de reserva O Cada entrada en las estaciones de reserva contiene los siguientes campos: O O O O Op: operación que se tiene que ejecutar. Qj,Qk: La estación de reserva que producen los operandos O (0 si listo o no necesario). Vj,Vk: valor de los operandos. Ocup: si la entrada está ocupada. O Sólo es válida la información de Q o V (no ambas a la vez).

51 Registros y buffers para almacenamiento O Información que se almacena en cada registro y en los buffers de almacenamiento (stores): O Qi: estación de reserva que genera el valor que se enviará a memoria. O V: valor que se enviará a memoria.

52 Algoritmo de Tomasulo (Ejemplo) O Se analizará la ejecución del siguiente código: Ld Ld Multd Subd Divd Addd f6,34(r2) f2,45(r3) f0,f2,f4 f8,f6,f2 f10,f0,f6 f6,f8,f2 O Suponiendo las siguientes latencias: ld, sd: 3 ciclos addd, subd: 2 ciclos multd: 5 ciclos divd: 19 ciclos

53 Algoritmo de Tomasulo (Ejemplo) O Punto de partida: el código se encuentra en esta situación: Ojo! Esta información no se encuentra físicamente en ninguna tabla. Se muestra para facilitar la comprensión.

54 Estado del procesador: O Estaciones de reserva: O Estado de los registros:

55 Avance en la ejecución O Cuando multd está lista para escribir: O Note que hay una detención estructural del addd por almacenamiento simultáneo con el multd. O La suma puede terminar adelantándose a la instrucción divd.

56 Estado del procesador: O Estaciones de reserva: O Estado de los registros:

57 O O Algoritmo de Tomasulo: Un ejemplo basado en un lazo Para entender la capacidad del algoritmo de Tomasulo de eliminar riesgos WAW y WAR a través del renombrado dinámico de registros es conveniente analizar un programa con un lazo. La secuencia multiplica los elementos de un arreglo por un escalar en F2: O Analice la ejecución del código y notará que con la predicción de brincos tomados el lazo será desenrrollado dinámicamente. (pág. 102 de Computer Architecture: A Quantitative Approach Fourth Edition)

58 Tomasulo en procesadores actuales O O En general los micros con planificación dinámica son capaces de emitir y ejecutar varias instrucciones a la vez y su arquitectura es muy potente. Uno de los primeros microprocesadores con planif. dinámica fue el Motorola PowerPC 620 (1995). Es un ejemplo muy bueno: su cadena (4 fases: IF ID IS EX) y arquitectura es muy similar al algoritmo clásico Tomasulo. Poseía pocas estaciones de reserva (R.S., reserve stations) por cada UF. O O O O O Dos unidades enteras simples (1 ciclo). Una unidad entera compleja (3 a 20 ciclos) para MULT y DIV enteras. Una unidad de carga-almacenamiento (1 ciclo si acierta en caché). Una unidad de punto flotante (31 ciclos DIVFP, 2 ciclos ADDFP y MULTFP). Y una unidad de saltos, que actualiza una tabla en caso de fallo de predicción.

59 Power PC 620 (similar al Tomasulo clásico)

60 O Pentium Pro (su parte INT es idéntica al P.II, P.III y similar al P4). Su cadena es de 11 fases. Posee 40 R.S. comunes a todas las UF: O Dos unidades enteras (1 ciclo). Una de ellas se usan para saltos (actualiza BTB en caso de fallo de predicción). La otra se usa también para multiplicaciones y divisiones enteras. O Dos unidades FP para multiplicaciones y divisiones de punto flotante. Realmente solo puede empezar en el mismo ciclo una de ellas. O Una unidad de carga (1 ciclo). O Una unidad de almacenamiento más compleja.

61 O MIPS R10000 (similar a los actuales). Posee 16 R.S. para INT, 16 para FP y 16 para Ld-St: O Dos unidades enteras (una también sirve para saltos, y la otra para MULT INT). O Una unidad para cálculo de direcciones de acceso a memoria (para carga-almacenamiento). O Una unidad de punto flotante simple (sólo para ADD-FP). O Una unidad de punto flotante compleja (DIV, MULT, SQRT-FP). O Las unidades funcionales suelen ser segmentadas excepto en las divisiones.

62 PLANIFICACIÓN ESTÁTICA VS. DINÁMICA RESUMEN: PROS Y CONTRAS PLANIFICACIÓN ESTÁTICA Menos Hardware Compilador más difícil El compilador debe conocer la arquitectura Dependencia: compilaciónrendimiento El tamaño del código puede crecer más fallos de caché El compilador no puede conocer los valores de los registros (dir. acceso) Puede necesitar muchos registros de usuario PLANIFICACIÓN DINÁMICA Complicación del hardware El compilador no optimiza Transparente al usuario El hardware extrae el rendimiento que puede Tamaño de código no se toca En tiempo de ejecución se conocen los valores de registros (dir. acceso) No necesita muchos registros de usuario (son internos, ocultos al usuario; ej. CISC)

63 Conclusión O Dos Tendencias: Hw Simple y Compilador Complejo vs. Hw Complejo y Compilador Simple O Esta disyuntiva se está dando actualmente con microprocesadores avanzados, aunque cada vez se traspasa más funcionalidad al hardware.

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

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

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

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

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

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

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

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

2EMHWLYRV 5HIHUHQFLDV

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

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

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

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

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

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

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

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

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

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Exámenes Ingeniería Computadores II Tutor: Antonio Rivero Cuesta Exámenes TEMA 1 Centro Asociado Palma de Mallorca Tutor: Antonio Rivero Cuesta Un procesador sin segmentació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

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

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

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

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

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

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

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

Planificación Dinámica - 1. Arquitectura de Computadores

Planificación Dinámica - 1. Arquitectura de Computadores Hasta ahora hemos visto que los procesadores en pipeline ejecutan varias instrucciones simultáneamente pero manteniendo el mismo orden del programa, es decir, dadas dos instrucciones i y j de un programa

Más detalles

Segmentación del ciclo de instrucción v.2016

Segmentación del ciclo de instrucción v.2016 Segmentación del ciclo de instrucción v.2016 John Hennessy & David Patterson, Arquitectura de Computadores Un enfoque cuantitativo, 4ª edición Apéndice A (Capítulos 5 y 6 de la 1ª edición) Segmentación

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

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

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

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

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

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

Arquitectura de Computadoras. Clase 5 Posibles soluciones a atascos

Arquitectura de Computadoras. Clase 5 Posibles soluciones a atascos Arquitectura de Computadoras Clase 5 Posibles soluciones a atascos Ejemplo de segmentación Notas de Clase 5 2 Atascos de un cauce (stall) Situaciones que impiden a la siguiente instrucción que se ejecute

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

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones Introducción a la Computación Capítulo 10 Repertorio de instrucciones: Características y Funciones Que es un set de instrucciones? La colección completa de instrucciones que interpreta una CPU Código máquina

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

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

Segmentación del ciclo de instrucción v.2014

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

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

TEMA VI DISEÑO DEL PROCESADOR

TEMA VI DISEÑO DEL PROCESADOR TEMA VI DISEÑO DEL PROCESADOR Diseño del procesador 6.1 Repertorio de instrucciones 6.1.1 Procesadores de tres direcciones 6.1.2 Procesadores de dos direcciones 6.1.3 Procesadores de una dirección (procesadores

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

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

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

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

Diseño de la jerarquía de memoria

Diseño de la jerarquía de memoria Diseño de la jerarquía de memoria William Stallings, Organización y Arquitectura de Computadores Andrew S. Tanenbaum, Organización de Computadoras Linda Null y Julia Lobur, Computer Organization and Architecture

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

UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE ELECTROTECNIA Y COMPUTACION INGENIERIA EN COMPUTACION ARQUITECTURA DE MAQUINAS III. SIMULADOR DLX (jbz)

UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE ELECTROTECNIA Y COMPUTACION INGENIERIA EN COMPUTACION ARQUITECTURA DE MAQUINAS III. SIMULADOR DLX (jbz) UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE ELECTROTECNIA Y COMPUTACION INGENIERIA EN COMPUTACION ARQUITECTURA DE MAQUINAS III SIMULADOR DLX (jbz) Integrantes: Denis José Torres Guadamuz 2001 10500

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 4. Condiciones para el paralelismo: Dependencias

Tema 4. Condiciones para el paralelismo: Dependencias Tema 4. Condiciones para el paralelismo: Dependencias 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

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

Plataformas de soporte computacional: arquitecturas avanzadas,

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

Más detalles

2. DISEÑO DEL REPERTORIO DE INSTRUCCIONES MÁQUINA

2. DISEÑO DEL REPERTORIO DE INSTRUCCIONES MÁQUINA 2. DISEÑO DEL REPERTORIO DE INSTRUCCIONES MÁQUINA 2.1. Tipos de juegos de instrucciones 2.2. Compiladores, repertorio de instrucciones y rendimiento 2.3. Computadores de juego reducido de instrucciones:

Más detalles

Pipelining o Segmentación de Instrucciones

Pipelining o Segmentación de Instrucciones Pipelining o Segmentación de Instrucciones La segmentación de instrucciones es similar al uso de una cadena de montaje en una fábrica de manufacturación. En las cadenas de montaje, el producto pasa a través

Más detalles

Sistemas con Microprocesadores I

Sistemas con Microprocesadores I Sistemas con Microprocesadores I 1 Microcontroladores Introducción Harvard vs. von-neumann Clasificación del procesador Segmentado o Pipeline Ortogonal vs. No ortogonal 2 Microcontroladores PIC Siglas

Más detalles

ARQUITECTURA SPARC: FORMATO DE INSTRUCCIÓN

ARQUITECTURA SPARC: FORMATO DE INSTRUCCIÓN ARQUITECTURA SPARC: FORMATO DE INSTRUCCIÓN De Diego Varona, Rubén Romay López, Oscar Manuel Vega Martínez, Jorge INTRODUCCIÓN La representación de la instrucción en la computadora se denomina formato.

Más detalles

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores TEMA 2 ILP, Panificación dinámica, Predicción de saltos, Especulación Curso 2012-2013 Contenidos Introducción: ILP Técnicas SW: Compilador Planificación dinámica. Algoritmo

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

Arquitectura de Computadores. TEMA 2 ILP, Panificación dinámica, Predicción de saltos, Especulación

Arquitectura de Computadores. TEMA 2 ILP, Panificación dinámica, Predicción de saltos, Especulación Arquitectura de Computadores TEMA 2 ILP, Panificación dinámica, Predicción de saltos, Especulación Curso 2015-2016 Contenidos Introducción: ILP Técnicas SW: Compilador Planificación dinámica. Algoritmo

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

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

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

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

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

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

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

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) 7. Memoria Caché 8. Arquitecturas RISC Arquitectura de

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

Instituto Tecnológico de Morelia

Instituto Tecnológico de Morelia Instituto Tecnológico de Morelia Arquitectura de Computadoras Unidad 1a Programa 1 Modelo de arquitecturas de cómputo. 1.1 Modelos de arquitecturas de cómputo. 1.1.1 Clásicas. 1.1.2 Segmentadas. 1.1.3

Más detalles

Tema: Microprocesadores

Tema: Microprocesadores Universidad Nacional de Ingeniería Arquitectura de Maquinas I Unidad I: Introducción a los Microprocesadores y Microcontroladores. Tema: Microprocesadores Arq. de Computadora I Ing. Carlos Ortega H. 1

Más detalles

5. PREDICCIÓN DINÁMICA DE SALTOS

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

Más detalles

Arquitectura de Computadores I. Sistema de memoria 3 (Solución): Segmentación + Bancos

Arquitectura de Computadores I. Sistema de memoria 3 (Solución): Segmentación + Bancos Universidad del País Vasco Facultad de Informática Departamento de Arquitectura y Tecnología de Computadores Arquitectura de Computadores I Sistema de memoria 3 (Solución): Segmentación + Bancos En un

Más detalles

Organización de Computadoras. Clase 6

Organización de Computadoras. Clase 6 Organización de Computadoras Clase 6 Tema de Clase Ciclo de Instrucción Notas de Clase 6 2 Función de la computadora(1) Ejecutar programas El programa está compuesto de instrucciones almacenadas en memoria

Más detalles

Microcontroladores. Unidad 1

Microcontroladores. Unidad 1 Microcontroladores Unidad 1 1.1 Conceptos básicos Ordenador o Computadora Sistema de calculo de propósito general que incorpora una unidad central de proceso, memoria y dispositivos de entrada y salida.

Más detalles

Unidad Nº II Capacidad de la unidad central. de procesamiento. Instituto Universitario Politécnico. Santiago Mariño

Unidad Nº II Capacidad de la unidad central. de procesamiento. Instituto Universitario Politécnico. Santiago Mariño Instituto Universitario Politécnico Santiago Mariño Unidad Nº II Capacidad de la unidad central de procesamiento Organización de instrucción de máquina Cada instrucción requiere la información que necesita

Más detalles

Modelos de Programación Paralela Prof. Gilberto Díaz

Modelos de Programación Paralela Prof. Gilberto Díaz Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas Modelos de Programación Paralela Prof. Gilberto Díaz gilberto@ula.ve Departamento de Computación, Escuela de Sistemas, Facultad de Ingeniería

Más detalles

Clasificación de las Arquitecturas

Clasificación de las Arquitecturas Clasificación de las Arquitecturas MIA José Rafael Rojano Cáceres Arquitectura de Computadoras I Por la taxonomía de Flynn 1 Flynn Flujo de datos Simple Múltiple Flujo de datos Simple Múltiple SISD MISD

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

El procesador. Datapath y control

El procesador. Datapath y control El procesador Datapath y control Introducción En esta parte del curso contiene: Las principales técnicas usadas en el diseño de un procesador. La construcción del datapath y del control. Estudiaremos la

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

Microprocesador. Introducción. Instituto Sagrado Corazón de Jesús

Microprocesador. Introducción. Instituto Sagrado Corazón de Jesús Microprocesador Introducción El microprocesador es la parte de la computadora diseñada para llevar acabo o ejecutar los programas. Este viene siendo el cerebro de la computadora, el motor, el corazón de

Más detalles

Sección de procesamiento: El camino de datos

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

Más detalles

Estructura de Computadores II

Estructura de Computadores II Estructura de Computadores II Folleto Nº 1 SEGMENTACIÓN Jesús Ruiz M. Procesador U de Datos S1+S2 S1&S2 S1-S2 S1 S2 Control Bus S1 Bus S2 Bus Dest S1^S2 S1>>S2 S1a S2 A S1 S2 L 0 1 U A Registros

Más detalles

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

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

Más detalles

Arquitectura de Computadoras. Clase 9 Procesamiento paralelo

Arquitectura de Computadoras. Clase 9 Procesamiento paralelo Arquitectura de Computadoras Clase 9 Procesamiento paralelo Introducción al procesamiento paralelo Sea cual sea el nivel de prestaciones, la demanda de máquinas de mayor rendimiento seguirá existiendo.

Más detalles

Capitulo 1 Fundamentos de Computadores - I.T.Telecomunicación - Segundo cuatrimestre. INTRODUCCION A LOS FUNDAMENTOS DE COMPUTADORES

Capitulo 1 Fundamentos de Computadores - I.T.Telecomunicación - Segundo cuatrimestre. INTRODUCCION A LOS FUNDAMENTOS DE COMPUTADORES INTRODUCCION A LOS FUNDAMENTOS DE COMPUTADORES Hoja 1 PRIMERA APROXIMACION AL CONCEPTO DE COMPUTADOR Computador: máquina que procesa la información para obtener unos resultados. La información a procesar

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

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

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

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