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

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

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

Transcripción

1 Arquitectura de Computadores Tema 3: Procesadores ILP

2 Índice. Objetivo y evolución de los procesadores ILP. 2. Segmentación (Pipeline).. Concepto y medida de rendimiento. i 2. Pipeline de instrucciones.. Caso de estudio (Dlx) y aspectos de diseño. 2. Dependencias: Estructurales, Datos y Control. 3. Operaciones multiciclo. 4. Excepciones: Tratamiento preciso. 5. Procesadores superescalares, VLIW y multithread. AC: Procesadores ILP 2

3 Bibliografía Patterson, D. A. Hennessy, J.L. Computer Organization and design ª edición. Baer, J.L Microprocessor Architecture. t From simple pipelines to chip multiprocessors. 200 Stallings, W. Computer Organization and Architecture. Designing for performance. 200 AC: Procesadores ILP 3

4 OBJETIVO: Procesadores ILP Explotar el paralelismo potencial entre instrucciones de un programa. Reducir el tiempo total de ejecución de un programa. EVOLUCIÓN: ILPs escalares (Pipeline de instrucciones) VLIW (Very Long Instruction Word) ) Superescalares AC: Procesadores ILP 4

5 ILP: Paralelismo a nivel de instrucción Ejemplo: Sentencia en lenguaje C: p = ((q*r) (s/t)) +(( u*v) (w%x)); q r s t u v w x 4 * / * % 2 + p AC: Procesadores ILP 5

6 Ejecución secuencial vs Ejecución ILP Ejecución secuencial Se ejecuta cada instrucción tras terminar la anterior. tiempo load r2,#4(r) add r2,r2,r0 add r,r,# tiempo Fetch I4 Decode I4 R2 = R2+R0 Fetch Decodificación Ejecución Pipeline Fetch I4 tiempo Decode I4 R2 = R2 + R0 Se ejecuta cada fase de una instrucción tras finalizar la misma fase de la anterior. Fetch I5 Decode I5 Fetch I6 R = R + Decode I6 R3 = R!=0 Superescalar Se inician varias instrucciones en el mismo ciclo. Se decodifican can varias, as, se ejecutan varias, tiempo Fetch I4 Fetch I5 Decode I4 R2 = R2 + R0 Decode I5 R = R + Fetch I6 Decode I6 R3 = R!=0 Fetch I7 Decode I7 R4 = R3-R R AC: Procesadores ILP 6

7 Segmentación (Pipeline)( ) Objetivo: Aumento de la productividad Etapa E E2 E3 E operaciones en curso Máxima efectividad: T/4 u.t. por etapa Productividad * 4 Aceleración ideal: Nº de etapas t AC: Procesadores ILP 7

8 Pipeline de instrucciones F: Procesamiento de una instrucción: SFi: Fases secuenciales e independientes Posible diseño con pipeline: pp Registros entre etapas Fetch Dec. Ejec. Objetivo: Reloj Aumentar la productividad de la CPU (instrucciones/sg) solapando la ejecución de varias instrucciones. Posible Incremento de latencia AC: Procesadores ILP 8

9 Pipeline de instrucciones Ciclo de máquina: T. necesario para pasar de una etapa a la siguiente. Determinado por la etapa mas lenta. Máxima efectividad si todas las etapas tardan el mismo tiempo necesidad de Mca. Ejemplo: Fetch: 2ns, Dec: ns, Ej(max): 3ns T ciclo pipeline? latencia y productividad id d en ejecución secuencial y con pipeline? Fetch Dec. Ejec. Reloj AC: Procesadores ILP 9

10 Pipeline de instrucciones: n Caso de estudio Arquitectura RISC. Modelo de ejecución registro-registro C.O. ri rj rk función C.O. ri rj inmediato Formatos de Instrucción ( palabra) C.O. desplazamiento Instrucción con más trabajo: LOAD.- Búsqueda instrucción y PC+4 ->PC 2.- Decodificar 3.- Leer valor de rj 4.- Cálcular la direccion: rj + inmediato 5.- Leer operando de memoria. 6.- Almacenar en ri AC: Procesadores ILP 0

11 Estructura u del procesador sin pipeline p AC: Procesadores ILP

12 Pipeline de instrucciones: n Caso de estudio Las acciones: Búsqueda de instrucción ió (en Mcache) y PC+4 ->PC. Decodificación y lectura de un registro del B.R. Cálculo de dirección efectiva. Lectura del operando (en Mcache). Escritura en un registro. Tardan aproximadamente lo mismo Pipeline de 5 etapas: BI: DLR: EJ: MEM: ER: Acceso a McaI; PC+4 -> PC Lectura de registros; Decodificación OpALU/cálculo dirección; Comprobación cond. salto. Acceso a McaD/Actualización del PC Escritura en registros. AC: Procesadores ILP 2

13 Pipeline de instrucciones: Caso de estudio BI DLR EJ MEM ER ciclo de máquina BI DLR EJ MEM ER t Productividad sin pipeline: instrucción cada 5 ciclos (CPI = 5) Productividad ideal con pipeline: instrucción cada ciclo (CPI = ) Ganancia ideal = 5 AC: Procesadores ILP 3

14 Pipeline de instrucciones: n Diseño Ajuste de los tiempos de duración de cada etapa. Se necesita conservar información ió que se utilizará posteriormente. t El RI (campos inmediato y desp.) El PC (para saltos relativos) La salida de la ALU (para almacenar en registro) BI DLR EJ RI() RI(2) PC(5) PC(6) * Ej: ld r, #n[r2] ()... br $desp (4)... add r,r2,r3 (5) sub r4,r5,r6 (6) MEM ER # * RI RI + PC PC # SALU SALU SALU(5) SALU(6) T AC: Procesadores ILP 4

15 Pipeline de instrucciones: n Diseño Se necesitan registros distintos para load y store. BI Ld St 4 5 DLR Ld St 5 4 EJ Ld St 4 5 Dato -> SRDAT MEM Ld St 4 5 Mem -> LRDAT ER Ld St 4 5 T AC: Procesadores ILP 5

16 Pipeline de instrucciones: n Diseño Necesario dar soporte a 2 accesos a memoria en mismo ciclo Arquitectura Harvard Necesario dar soporte a 2 tipos de acceso al banco de registros en cada ciclo. Puertos de lectura y escritura BI DLR EJ MEM ER T AC: Procesadores ILP 6

17 Pipeline de instrucciones: n Diseño BI DLR EJ MEM ER Registros inter-etapa +4 AC: Procesadores ILP 7

18 Pipeline de instrucciones: n Dependencias n Si CPI (sin pipeline) = 5 Y CPIideal (con pipeline) = Ganancia ideal = 5 DEPENDENCIAS Se puede alcanzar? Situaciones que impiden que en cada ciclo se inicie la ejecución de una nueva instrucción: FALLOS DE CACHÉ parones en el pipeline pel (stalls) Pérdida de prestaciones CPIreal = CPIideal + (nº parones/instrucción): (será > ) AC: Procesadores ILP 8

19 Tipos de Dependencias Estructurales. Varias instrucciones necesitan un mismo recurso en el mismo ciclo. De datos. Varias instrucciones cercanas hacen referencia a los mismos datos (registros o posiciones de memoria). De control. Una instrucción modifica el PC (instrucción de salto ) AC: Procesadores ILP 9

20 Ejemplos típicos: Dependencias n estructurales u Acceso a memoria o al banco de registros BI DLR EJ MEM ER T En memoria En registros Causa: Un recurso no se ha replicado suficientemente. AC: Procesadores ILP 20

21 Dependencias n estructurales u Efecto de las dependencias estructurales Ejemplo: Cache unificada Parón o burbuja BI DLR EJ MEM ER LD o ST 2 <> LD o ST t Impacto en CPI si 40% ld/st? AC: Procesadores ILP 2

22 Dependencias de datos Dependencias de datos (RAW) Una instrucción ió depende d de los resultados producidos por otra anterior. Ejemplo: add r, r2, r3 sub r4, r, #0 BI add sub DLR add sub EJ add sub MEM add sub ER add sub t SUB lee R Dato erróneo! ADD modifica R AC: Procesadores ILP 22

23 Dependencias RAW: Soluciones Ciclos de espera. Anticipación (forwarding). Reordenación de código. Ciclos de espera: Retrasar las instrucciones dependientes. Hardware. Detección automática en DLR e inserción de parones en el pipeline. Software. Introducción de instrucciones NOP entre las instrucciones dependientes AC: Procesadores ILP 23

24 Dependencias RAW: Soluciones Ciclos de espera hardware ) Mecanismo de marcador (Scoreboarding) BI D LR add sub add and * ** sub and sub and EJ add sub and MEM ER add add *** sub and sub t bit(r) " " bit(r) = 0? bit(r) "0" 3 ciclos de espera AC: Procesadores ILP 24

25 Dependencias RAW: Soluciones Ciclos de espera hardware. 2) Comparación de identificadores en los registros de pipeline. sub r4,r,#0r add r,r2,r3 r2 r3 +4 AC: Procesadores ILP 25

26 Dependencias RAW: Soluciones Ciclos de espera software. add r, r2, r3 nop nop nop sub r4, r, #0 AC: Procesadores ILP 26

27 Dependencias RAW: Soluciones Reducción de los Ciclos de espera. Ej: add r,r2,r3 sub r4,r,r5 and r6,r,r7 or r8,r,r9 xor r0,r,r BI add sub and or xor DLR add sub sub sub and or xor EJ add sub and or xor MEM add sub and or ER add sub and t Escritura en registros. Lecturaderegistros registros Subciclos de lectura/escritura de registros AC: Procesadores ILP 27

28 Dependencias RAW: Soluciones Anticipación (forwarding) El resultado se envía directamente desde la unidad que lo genera a la entrada de la que lo necesita. Ejemplo: Anticipación ALU -> ALU add r,r2,r3r2 r3 sub r4,r,r5 BI add sub and or xor and r6,r,r7 or r8,r,r9 DLR add sub and or xor xor r0,r,r EJ add sub and or xor MEM add sub and or xor ER add sub and or xor t Cero ciclos de espera AC: Procesadores ILP 28

29 Dependencias RAW: Soluciones Ejemplo: Anticipación MEM -> ALU ld r,#0[r6] add r4,r,r7 sub r5,r,r8 and r6,r,r7 Carga retardada BI ld add sub and DLR ld add sub and EJ ld add sub and MEM ld add sub and ER ld add sub and t 3 ciclos de espera -> ciclo AC: Procesadores ILP 29

30 Adelantamiento (forwarding) Caminos adicionales + multiplexores +4 Mux AC: Procesadores ILP 30

31 Dependencias RAW: Soluciones Reordenación de código. a = b + c. ld r2, b. ld r2, b 2. ld r3, c d = e f 2. ld r3, c 3. add r,r2,r3r2 r3 5. ld r5, e 4. st r, a 3. add r,r2,r3 5. ld r5, e 6. ld r6, f 6. ld r6, f 4. st r, a 7. sub r4,r5,r6 7. sub r4,r5,r6 8. st r4, d 8. st r4, d BI DLR EJ MEM ER t AC: Procesadores ILP 3

32 Dependencias n RAW: Soluciones Ejecución del código reordenado.. ld r2, b 2. ld r3, c 5. ld r5, e 3. add r,r2,r3 6. ld r6, f 4. st r, a 7. sub r4,r5,r6 8. st r4, d BI DLR EJ MEM ER t AC: Procesadores ILP 32

33 Dependencias n de control Instrucciones de salto, condicional e incondicional Acciones realizadas en cada etapa del Pipeline: BI: DLR: EJ: MEM: ER: Acceso a McaI; PC+4 -> PC Lectura de registros; Decodificación Opalu/cálculo dirección; Comprobación cond. salto Acceso a McaD/Actualización del PC Escritura en registros. AC: Procesadores ILP 33

34 Dependencias n de control Instrucciones de salto, condicional e incondicional. BI (br) dest DLR EJ 2 3 MEM 2 ER t Se comprueba cond Se actualiza el PC Cuando se calcula el nuevo PC, ya ha comenzado la ejecución de las instrucciones siguientes al salto (en orden secuencial) AC: Procesadores ILP 34

35 Soluciones: Dependencias n de control Insertar ciclos de espera - Hardware Nº parones dependiente del - Software Bifurcación retardada Predicción (saltos condicionales) - Fija - Estática - Dinámica Optimización de código (loop unrolling) número de etapas del pipeline AC: Procesadores ILP 35

36 Dependencias de control: Soluciones Insertar ciclos de espera (hardware o software). Solución hardware: h r BI DLR EJ MEM ER (br) 2 dest t 3 ciclos de espera por salto Se detecta el salto Se actualiza el PC Branch delay slots: Nº de ciclos que transcurren desde que se realiza el fetch de la instrucción br hasta que se realiza el fetch de la instrucción a la que se salta. AC: Procesadores ILP 36

37 Dependencias n de control: ciclos de espera Objetivo: Reducir el número de ciclos de espera Averiguar lo antes posible si el salto es efectivo (brcc). Calcular lo antes posible la dirección de salto. Posibles alternativas: ) Hacer ambas cosas en EJ. 2) Hacer ambas cosas en DLR BI DLR EJ MEM ER 2 dest dest Aquí se tiene el PC correcto DLR EJ MEM ER t BI 2 dest dest dest Aquí se tiene el PC correcto 2 ciclos ciclo AC: Procesadores ILP 37 t

38 Dependencias n de control: ciclos de espera Requisitos de la alternativa 2: Sumador para calcular la dirección Circuito para comprobar la condición. BI DLR 2 dest EJ dest branch delay slot Aumenta la complejidad y la duración de la etapa DLR. Ejemplos: Las condiciones de salto deben ser sencillas: bz r2, direccion bb0 y bb del mc880 AC: Procesadores ILP 38

39 Dependencias n de control: ciclos de espera +4 AC: Procesadores ILP 39

40 Dependencias de control: Soluciones Saltos retardados Se ejecutan completamente las instrucciones que hay en los branch delay slots Ejemplo ( slot ): br otro ld r4, 0(r0) otro: sub r7, r8, r9 El compilador intenta colocar tras los saltos, instrucciones que sean válidas tanto si se salta como si no se salta. Aplicable a saltos condicionales e incondicionales. AC: Procesadores ILP 40

41 Saltos retardados: Estrategias add r, r2, r3 beqz r2, dir beqz r2, dir add r, r2, r3 dir: sub r4, r5, r6 dir: and r7, r8, r0 and r7, r8, r sub r, r, # sub r, r, # bneqz r, dir bneqz r, dir sub r4, r5, r6 Si lo más probable es que el salto se tome. add r, r2, r3 add r, r2, r3 beqz r, dir beqz r, dir sub r4, r5, r6 sub r4, r5, r dir:... dir:... Si lo más probable es que el salto NO se tome. AC: Procesadores ILP 4

42 Dependencias de control: soluciones Predicción de salto. Aplicable a saltos condicionales Suponer a priori i un valor de la condición ió Si acierto, continuar Si fallo, desechar instrucción(es) y tomar el camino correcto Ejemplo: Predicción NO SALTO BI (Brcc) BI (Brcc) 2 3 dest DLR DLR 2 dest EJ EJ MEM 2 3 MEM ER 2 ER t Predicción Predicción Cálculo dirección Comprobación: Actualización PC Comprobación: Acierto! Fallo! t AC: Procesadores ILP 42

43 Dependencias de control: Predicción Requisitos hardware: Detección del error de predicción Registros adicionales para desechar instrucciones. Tipos de predicción: Fija. Estática Dinámica Siempre basada basada en la misma en el código la historia apuesta de la ejecución. - Prestaciones y complejidad de implementación + AC: Procesadores ILP 43

44 Dependencias de control: Predicción Predicción Dinámica. Si el salto fue efectivo en la(s) última(s) ejecución(es), es muy probable bl que lo sea en la siguiente. i Basada en la historia de las instrucciones brcc, que hay que almacenar y actualizar. AC: Procesadores ILP 44

45 Predicción dinámica de salto bit: Salta No salta No salta Saltar No saltar Salta 0 2 bits: No salta No salta No salta Salta No salta Saltar+ Saltar- No saltar- No saltar+ Salta Salta Salta Predicción: se salta Predicción: no se salta AC: Procesadores ILP 45

46 Dependencias de control: Soluciones Unrolling Reducción del nº de instrucciones de salto for (i=0; i< N; i++) for (i=0; i< N; i+=2) { r = r + a[i] + b[i] r = r + a[i] + b[i]; r = r + a[i+] + b[i+]; } buc: ld r5, #0[r] buc: ld r5, #0[r] ld r6, #0[r2] add r7, r5, r7 add r7, r6, r7 add r, r, #4 add r2, r2, #4 sub r4, r4, # bnz r4, $buc ld r6, #0[r2] add r7, r5, r7 add r7, r6, r7 ld r8, #4[r] ld r9, #4[r2] add r7, r8, r7 add r7, r9, r7 add r, r, #8 add r2, r2, #8 sub r4, r4, #2 bnz r4, $buc AC: Procesadores ILP 46

47 Pipeline: Operaciones multiciclo Las operaciones enteras complejas (mult, div) y las de coma flotante necesitan más tiempo en la etapa EJ que las enteras sencillas. Cómo abordar el diseño del pipeline?. Ajustar el Tciclo a la duración de la operación más lenta. - Muchos tiempos muertos en las otras etapas. - Retraso de las instrucciones de corta duración: las más frecuentes. 2. Prolongar la etapa EJ de estas operaciones varios ciclos. No cambia el Tciclo AC: Procesadores ILP 47

48 Pipeline: Operaciones multiciclo 3. Distribuir la etapa de Ejecución entre unidades funcionales independientes (Alus especializadas): Unidad de enteros: load, store, operaciones enteras y saltos. Unidades de coma flotante, mult, div ENT MULT BI DLR +/- C.F. MEM ER DIV Ejecución paralela l AC: Procesadores ILP 48

49 Pipeline: Operaciones multiciclo Ejecución simultánea de hasta 4 instrucciones Ejemplo: BI div mul adf ld DLR div mul adf ld EJ div div mul div mul adf div mul adf ld MEM ER AC: Procesadores ILP 49

50 Pipeline: Operaciones multiciclo Las nuevas instrucciones no acceden a memoria EJ Enteros () MEM BI DLR MULT (3)p ADF/SUBF (3)p DIV (0)np Detección de dependencia estructural e inhibición de la entrada de nuevas instrucciones ER Ej: div div addf sub mult AC: Procesadores ILP 50

51 Pipeline: Operaciones multiciclo Diferencias con el pipeline original:. Posibilidad de dependencias estructurales debidas a U.F. sin pipeline. Parones en el pipeline. Detención de las instrucciones posteriores. Ejemplo: Infrautilización de UFs BI div div addf sub DLR div div addf EJ div div div div.... div div div div MEM ER 0 ciclos AC: Procesadores ILP 5 t

52 Pipeline: Operaciones multiciclo 2. Posibilidad de dependencias estructurales en ER 3. Las instrucciones pueden finalizar fuera de orden Mayor complejidad en el tratamiento de excepciones Ejemplo: BI mul ld add DLR mul ld add EJ mul mul ld mul add mul MEM ld add ER ld mul add AC: Procesadores ILP 52

53 Pipeline: Operaciones multiciclo 4. Pueden aparecer dependencias de datos WAW Ejemplo: :mul r8,r,r2 2:ld r8,0(r2) BI DLR EJ MEM 2 ER 2 Solución: Renombrado de registros Escribe r8 Escribe r8 AC: Procesadores ILP 53

54 Pipeline: Operaciones multiciclo 5. Los parones debidos a dependencias RAW serán más frecuentes. Ejemplo: : mul r,r4,r6 2: add r3,r,r8 BI DLR EJ 2 MEM 2 ER 2 AC: Procesadores ILP 54

55 Pipeline: Operaciones multiciclo Limitación del pipeline: Emisión en orden. Ejemplo: div f0, f2, f4 addf f0, f0, f8 subf f2, f8, f2 ; Dependencia RAW, esperar ; Sin dependencia estructural ni de datos, No puede avanzar! Pérdida de prestaciones e infrautilización de las U.Fs F s! Objetivo: Que las instrucciones pasen a ejecutarse cuando la U.F. esté libre y los operandos disponibles (no RAW). AC: Procesadores ILP 55

56 Planificación dinámica El hardware reordena las instrucciones en tiempo de ejecución. Orden de ejecución Ejemplo: div f0, f2, f4 div f0, f2, f4 addf f0, f0, f8 subf f2, f8, f2 subf f2, f8, f2 addf f0, f0, f8 Ejecución y finalización fuera de orden. Posible aparición de dependencias WAR Ejemplo: div f0, f2, f4 addf f0, f0, f8 subf f8, f2, f2 ; Dependencia RAW, no avanzar. ; Sin dependencia estructural ni RAW! se deja que avance? AC: Procesadores ILP 56

57 Dependencias WAR Planificación dinámica Ejemplo: div f0, f2, f4 addf f0, f0, f8 subf f8, f2, f2 BI div addf subf DLR div addf subf addf EJ subf subf div div div div div div div addf addf ER subf div addf Espera hasta que se resuelva RAW Escribe en f8 Lee f8 incorrecto AC: Procesadores ILP 57

58 Algoritmo de Tomasulo Ej: div f0, f2, f4 addf f0, f0, f8 subf f8, f2, f2 Banco registros Estaciones de reserva AC: Procesadores ILP 58

59 Pipeline: Manejo de excepciones Tipos de excepciones: Síncronas y Asíncronas. Excepciones Síncronas: Se producen siempre en el mismo lugar, cada vez que se ejecuta el programa en las mismas condiciones. Pueden darse y tener que atenderse en mitad de una instrucción. Pueden implicar la detención y reinicio de la instrucción en la que se producen. Su tratamiento requiere: Salvar estado (<PC, registros, Memoria>) Ejecutar rutina de tratamiento. Restaurar estado y reiniciar o continuar. AC: Procesadores ILP 59

60 Pipeline: Manejo de excepciones Excepciones Precisas: Si el estado que se salva es coherente con el del modelo secuencial. Las instrucciones que preceden a la que produjo la excepción se completan. Las que le suceden no modifican el estado. Etapa R ein icio Continuación E E2 E Sistema Operativo RTI E E5 Fallo d e página 2 3 Desbordamiento t AC: Procesadores ILP 60

61 Pipeline: Manejo de excepciones Problemas debidos al pipeline. ) En saltos retardados, pueden tener que reiniciarse instrucciones correspondientes a distintos flujos. Ej: beqz r2, $dir ld r, #0[r5]... dir: add r3, r3, r4 Reinicio de 2 instrucciones no consecutivas. Guardar 2 PC s: - Instrucción del delay slot. - Instrucción a la que se salta. E E2 E3 BZ LD ADD 4 BZ LD ADD 4 BZ LD ADD 5 LD ADD LD E4 BZ LD E5 BZ t Fallo de página AC: Procesadores ILP 6

62 Pipeline: Manejo de excepciones 2) Pueden darse varias excepciones en el mismo m ciclo. Ejemplo: Reinicio E ld add 3 4 ld add E2 ld add 3 ld add E3 ld add ld add E4 ld ld E5 t Desbord. Fallo de página Desbord. Si excepciones precisas Atender primero a la más antigua AC: Procesadores ILP 62

63 Pipeline: Manejo de excepciones 3) Las excepciones pueden aparecer fuera de orden Ejemplo: E LD ADD E2 LD E3 LD E4 LD E5 Fallo de página Fallo de página Si excepciones precisas No se deben tratar en el instante en el que se producen AC: Procesadores ILP 63

64 Pipeline: Manejo de excepciones Problemas debidos a las operaciones multiciclo. Finalización fuera de orden. Ejemplo: multf f2, f5, f4 (OVF) addf f4, f4, f8 BI mul addf DLR mul addf EJ mul mul mul addf addf mul mul ER addf Desbord. Si excepciones precisas addf no se debería haber ejecutado AC: Procesadores ILP 64

65 Pipeline: Manejo de excepciones Problemas debidos a la planificación dinámica. Ejecución y Finalización fuera de orden. Ej: div f0, f2, f4 addf f0, f0, f8 subf f8, f2, f2 BI DLR div addf div subf addf subf EJ div div div div subf subf div div ER subf División por cero Si excepciones precisas addf no se ha ejecutado pero subf ha finalizado. AC: Procesadores ILP 65

66 Tratamiento preciso de excepciones Solución: Obligar a finalizar las instrucciones en orden, aunque se ejecuten fuera de orden. Finalizar Actualizar el estado Modificación del pipeline: BI DEC Emisión Ejecución ER Finalización (Commit) Implementación mediante el ROB (reorder buffer). Estructura donde se envían las instrucciones en el mismo orden en que se emiten (orden secuencial). AC: Procesadores ILP 66

67 Utilización del ROB De la Unidad de Instrucción Emisión ROB inst, etapa, rd, val, excep, PC Banco registros Vi Rob A3 A2 A.... op Vi Gi Vj Gj Rob op Vi Gi Vj Gj Rob Estaciones de reserva M3 M2 M +/- Coma flot. *, / AC: Procesadores ILP 67

68 Procesadores Superescalares Objetivo: Aumentar el grado de paralelismo: IPC > CPI < Procesador con pipeline pp que puede procesar más de instrucción en cada una de sus etapas. tiempo Fetch I4 Decode I4 Execute I4 Pipeline Fetch I5 Decode I5 Fetch I6 Execute I5 Decode I6 Execute I6 Fetch I7 Decode I7 Execute I7 Fetch I4 Fetch I5 Superescalar Decode I4 Execute I4 Decode I5 Execute I5 Fetch I6 Decode I6 Execute I6 Fetch I7 Decode I7 Execute I7 AC: Procesadores ILP 68

69 Características Generales: Superescalares Fetch de varias instrucciones en el mismo ciclo Sistema de Memoria: Mayor ancho de banda y prefetching Predicción de saltos condicionales (en la etapa de fetch). Acceso a banco de registros de varias instrucciones en el mismo ciclo: Varios bancos de registros con múltiples puertos de lectura/escritura Ejecución de varias instrucciones en el mismo ciclo: Varias unidades funcionales independientes Memorias cache no bloqueantes Mecanismos para dar la apariencia de ejecución secuencial (ROB) AC: Procesadores ILP 69

70 Procesadores VLIW Semejanzas con los superescalares: Diferencias i con los superescalares s s Especificación de las instrucciones: Gran tamaño ( bits), separadas en campos independientes que determinan la operación a realizar por cada unidad funcional. Modo de planificar su ejecución: Estática, realizada por el compilador (hardware más sencillo) AC: Procesadores ILP 70

71 Relación VLIW/Superescalares Diferencias AC: Procesadores ILP 7

72 Superescalares/VLIW: conclusiones Los procesadores actuales explotan ILP: Pipeline profundo (con muchas etapas) Emisión de múltiples instrucciones por ciclo: máximo 6 a 8 (Superescalar y VLIW) Uso del procesador: Causas: Raramente se consigue alcanzar 2 IPC Transacciones en Bases de Datos: CPI=7, 4-issue A264 Fallos de Cache (en OLTP hasta el 75% del tiempo) Fallos de predicción de saltos Carencia de paralelismo de grano fino AC: Procesadores ILP 72

73 Multithreading Objetivo: Incremento de la utilización de los recursos del procesador Múltiples threads comparten las unidades funcionales de un procesador. Un único procesador se comporta como N procesadores Procesadores lógicos: Comparten los recursos de ejecución: Unidades funcionales, memorias cache, TLBs Predictores de saltos Buses Mantienen N copias del estado: Registros, PC, tablas de páginas AC: Procesadores ILP 73

74 Multithreading: Ejemplo Issue slots Tiempo Thread A Thread B Thread C Thread D Fallo de Mca Superescalar SMT AC: Procesadores ILP 74

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

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

Arquitectura de Computadores - 2001 IV. Segmentación o Pipelining Alternativas de Implementación de Procesador 1. Procesador Uniciclo CPI = 1 Pero Período de Reloj Grande 2. Procesador Multiciclo CPI > 1 Pero Período de Reloj más Pequeño

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

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

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

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

PIPELINING: Antes de adentrarnos en el tema, veremos una analogía de un pipeline:

PIPELINING: Antes de adentrarnos en el tema, veremos una analogía de un pipeline: PIPELINING: Antes de adentrarnos en el tema, veremos una analogía de un pipeline: Observemos que la técnica de Pipelining no mejora el tiempo de cada tarea, sino el tiempo de toda la carga de trabajo.

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

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

Arquitectura t de Computadores Clase 10: Diseño del microprocesador monociclo pt.2

Arquitectura t de Computadores Clase 10: Diseño del microprocesador monociclo pt.2 Arquitectura t de Computadores Clase 10: Diseño del microprocesador monociclo pt.2 Departamento de Ingeniería de Sistemas Universidad id d de Antioquia i 2011 2 Unidad de control principal Mediante el

Más detalles

Tema 2. Diseño del repertorio de instrucciones

Tema 2. Diseño del repertorio de instrucciones Soluciones a los problemas impares Tema 2. Diseño del repertorio de instrucciones Arquitectura de Computadores Curso 2009-2010 Tema 2: Hoja: 2 / 16 Tema 2: Hoja: 3 / 16 Base teórica Al diseñar un computador,

Más detalles

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores 6. CPU Segmentada (Pipeline) 1. Conceptos Básicos 2. Causas de Ralentización Arquitectura de Computadores Segmentación (Pipeline) - 1 En los dos capítulos siguientes vamos

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

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

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Ricardo.Sanz@upm.es Curso 2004-2005 Arquitectura de Computadores Arquitectura de computadores es la disciplina que estudia la organización y funcionamiento de los computadores

Más detalles

Pipeline o Segmentación Encausada

Pipeline o Segmentación Encausada Pipeline o Segmentación Encausada Material Elaborado por el Profesor Ricardo González A partir de Materiales de las Profesoras Angela Di Serio Patterson David, Hennessy John Organización y Diseño de Computadores

Más detalles

Procesadores Superescalares: Paralelismo Implícito a Nivel de Instrucción

Procesadores Superescalares: Paralelismo Implícito a Nivel de Instrucción Tema 7 Procesadores Superescalares: Paralelismo Implícito a Nivel de Instrucción Se denomina arquitectura superescalar a aquella implementación capaz de ejecutar más de una instrucción por ciclo de reloj.

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

Ejercicios. 5.2 [5] < 5.3> Este ejercicio es similar al 5.1, pero ahora considere los fallos causados por permanecer en 1 (la señal es siempre 1).

Ejercicios. 5.2 [5] < 5.3> Este ejercicio es similar al 5.1, pero ahora considere los fallos causados por permanecer en 1 (la señal es siempre 1). Ejercicios 5.1 [5] < 5.3> Describa el efecto que un simple fallo permanecer como 0 (es decir, independiente de lo que debería ser, la señal es siempre 0) provocaría en los multiplexores en el camino 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

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

Organización de Computadoras. Turno Recursantes Clase 8

Organización de Computadoras. Turno Recursantes Clase 8 Organización de Computadoras Turno Recursantes Clase 8 Temas de Clase Subsistema de Memoria Organización de Memoria Principal Notas de clase 8 2 Memoria Velocidad del procesador: se duplica cada 18 meses

Más detalles

Estructura de Computadores

Estructura de Computadores Estructura de Computadores Tema 4. El procesador Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido Elementos de un

Más detalles

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Repertorio de instrucciones y modos de direccionamiento: conceptos básicos Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa

Más detalles

Tema 7: Esquema del Funcionamiento de una Computadora. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Tema 7: Esquema del Funcionamiento de una Computadora. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid Tema 7: Esquema del Funcionamiento de una Computadora Ingeniería Informática Universidad Autónoma de Madrid Esquema del Funcionamiento de una Computadora O B J E T I V O S Adquirir los conceptos básicos

Más detalles

LABORATORIO DE ARQUITECTURA DE COMPUTADORES. I. T. I. SISTEMAS / GESTIÓN GUÍA DEL ALUMNO

LABORATORIO DE ARQUITECTURA DE COMPUTADORES. I. T. I. SISTEMAS / GESTIÓN GUÍA DEL ALUMNO LABORATORIO DE ARQUITECTURA DE COMPUTADORES. I. T. I. SISTEMAS / GESTIÓN GUÍA DEL ALUMNO Práctica 2: La Unidad Aritmético - Lógica Objetivos Comprender cómo se realiza un sumador con propagación de acarreo

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

Pipeline (Segmentación)

Pipeline (Segmentación) Pipeline (Segmentación) Segmentación (Pipeline) Es una técnica de implementación por medio de la cual se puede traslapar la ejecución de instrucciones. En la actualidad la segmentación es una de las tecnologías

Más detalles

Arquitectura de Computadores. Tema 4 PROCESADORES SEGMENTADOS

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

Más detalles

ARQUITECTURA DE COMPUTADORAS

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

Examen de Arquitectura de Computadores 2 22 de febrero del 2011

Examen de Arquitectura de Computadores 2 22 de febrero del 2011 Examen de Arquitectura de Computadores 2 22 de febrero del 2011 Indique su nombre completo y número de cédula en cada hoja. Numere todas las hojas e indique el total de hojas en la primera. Escriba las

Más detalles

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel.

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel. Tema 2: Arquitectura del repertorio de instrucciones Visión del computador que tiene el programador en bajo nivel. Lo que el programador en lenguaje ensamblador debe conocer para escribir programas: (1)

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

La memoria principal. Los subsistemas de E/S. Los buses del sistema

La memoria principal. Los subsistemas de E/S. Los buses del sistema GUIA 23: MEMORIA E/S La estructura básica de la mayoría de los ordenadores actuales se representa mediante los siguientes elementos básicos: La Unidad Central de Procesamiento, CPU La memoria principal

Más detalles

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus funciones:

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

Capítulo 4 Gestión de memoria

Capítulo 4 Gestión de memoria Sistemas operativos: una visión aplicada Capítulo 4 Gestión de memoria Contenido Objetivos del sistema de gestión de memoria Modelo de memoria de un proceso Esquemas de memoria basados en asignación contigua

Más detalles

Planificación estática

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

Más detalles

Tema 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

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

Capitulo V Administración de memoria

Capitulo V Administración de memoria Capitulo V Administración de memoria Introducción. Una de las tareas más importantes y complejas de un sistema operativo es la gestión de memoria. La gestión de memoria implica tratar la memoria principal

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

Procesadores Superescalares: Paralelismo Explícito a Nivel de Instrucción

Procesadores Superescalares: Paralelismo Explícito a Nivel de Instrucción Tema 8 Procesadores Superescalares: Paralelismo Explícito a Nivel de Instrucción IA-64 es una arquitectura de 64 bits desarrollada conjuntamente por Intel y HP (Hewlett- Packard). Está basado en una tecnología

Más detalles

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F) APRENDERAPROGRAMAR.COM LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde

Más detalles

PRACTICA 2 Ejercicio 2

PRACTICA 2 Ejercicio 2 PRACTICA 2 Ejercicio 2 Simulación de Procesadores con Ejecución en Orden DESCRIPCIÓN GENERAL En esta práctica se utilizará el simulador KScalar y su interfaz gráfica con el objeto de estudiar el funcionamiento

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

BANCOS. Manejo de Bancos. Como crear una ficha de Banco? Como modificar los datos de una ficha de Banco? Como borrar una ficha de Banco?

BANCOS. Manejo de Bancos. Como crear una ficha de Banco? Como modificar los datos de una ficha de Banco? Como borrar una ficha de Banco? BANCOS El Sistema de Gestión Administrativa permite el manejo de los movimientos bancarios. Seleccionada la opción de Bancos, el sistema presentara las siguientes opciones. Manejo de Bancos Manejo de movimientos

Más detalles

Introducción a Computación

Introducción a Computación Curso: Modelización y simulación matemática de sistemas Metodología para su implementación computacional Introducción a Computación Esteban E. Mocskos (emocskos@dc.uba.ar) Facultades de Ciencias Exactas

Más detalles

MICROPROCESADOR. Multiciclo

MICROPROCESADOR. Multiciclo MICROPROCESADOR Multiciclo Ejemplo Tiempos de operación. Unidades de memoria: 10 ns. Alu y sumadores: 10 ns Archivo de registros (lectura y escritura): 5 ns. Suponiendo que los multiplexores, unidad de

Más detalles

Organización Básica de un Computador y Lenguaje de Máquina

Organización Básica de un Computador y Lenguaje de Máquina Organización Básica de un Computador y Prof. Rodrigo Araya E. raraya@inf.utfsm.cl Universidad Técnica Federico Santa María Departamento de Informática Valparaíso, 1 er Semestre 2006 Organización Básica

Más detalles

Microarquitectura: DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE 2008 3. MICROARQUITECTURA: FLUJO DE DATOS Y CONTROL DEL MICROPROCESADOR

Microarquitectura: DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE 2008 3. MICROARQUITECTURA: FLUJO DE DATOS Y CONTROL DEL MICROPROCESADOR Microarquitectura: implementación multiciclo DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE 2008 3. MICROARQUITECTURA: FLUJO DE DATOS Y CONTROL DEL MICROPROCESADOR 3.1 Esquema básico de un microprocesador

Más detalles

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

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

Más detalles

- La implementación es responsable de: Los ciclos de reloj por instrucción (CPI). La duración del ciclo de reloj.

- La implementación es responsable de: Los ciclos de reloj por instrucción (CPI). La duración del ciclo de reloj. Estructura y Tecnología de Computadores III - Capítulo 5-1- CAPÍTULO 5. TÉCNICAS BÁSICAS DE IMPLEMENTACIÓN DE PROCESADORES. INTRODUCCIÓN - La implementación es responsable de: Los ciclos de reloj por instrucción

Más detalles

MATERIAL 2 EXCEL 2007

MATERIAL 2 EXCEL 2007 INTRODUCCIÓN A EXCEL 2007 MATERIAL 2 EXCEL 2007 Excel 2007 es una planilla de cálculo, un programa que permite manejar datos de diferente tipo, realizar cálculos, hacer gráficos y tablas; una herramienta

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

Sistemas de Operación II

Sistemas de Operación II Sistemas de Operación II Sistemas de Archivos Distribuidos Prof. Carlos Figueira Basado en material de Yudith Cardinale (USB) Andrew Tanembaum y Marteen van Steen Contenido Introducción Requisitos Aspectos

Más detalles

3.8 Construcción de una ALU básica

3.8 Construcción de una ALU básica 3.8 Construcción de una ALU básica En este punto veremos como por medio de compuertas lógicas y multiplexores, se pueden implementar las operaciones aritméticas básicas de una ALU. Esencialmente en este

Más detalles

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia. DISCOS RAID Raid: redundant array of independent disks, quiere decir conjunto redundante de discos independientes. Es un sistema de almacenamiento de datos que utiliza varias unidades físicas para guardar

Más detalles

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos

Más detalles

Tema 4: Diseño de un microprocesador

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

Más detalles

ELO311 Estructuras de Computadores Digitales. Unidad Aritmética

ELO311 Estructuras de Computadores Digitales. Unidad Aritmética ELO3 Estructuras de Computadores Digitales Unidad Aritmética Tomás Arredondo Vidal Este material está basado en: material de apoyo del texto de David Patterson, John Hennessy, "Computer Organization &

Más detalles

6-REGISTROS DEL 8086 Y DEL 80286

6-REGISTROS DEL 8086 Y DEL 80286 ESTRUCTURA DE COMPUTADORES I (Capítulo 6: Los registros del microprocesador 8086) 1/7 6-REGISTROS DEL 8086 Y DEL 80286 6.1 INTRODUCCIÓN: Dentro del procesador existen unos contenedores especiales de 16

Más detalles

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática Tema 1 Introducción. Arquitectura básica y Sistemas Operativos Fundamentos de Informática Índice Descripción de un ordenador Concepto básico de Sistema Operativo Codificación de la información 2 1 Descripción

Más detalles

Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato

Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato Bibliografía: William Stallings Organización y Arquitectura de computadores 5ta. Edition. Editorial Pearson Educación.- Objetivos:

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 2: Estructura de los sistemas de computación. 2.1 Funcionamiento de los sistemas de computación. 2.2 Ejecución de instrucciones e interrupciones

Más detalles

Procesadores Superescalares

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

Más detalles

Tema 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

WinHIPE: edición, compilación y ejecución de programas; y generación de animaciones web. Manual de usuario.

WinHIPE: edición, compilación y ejecución de programas; y generación de animaciones web. Manual de usuario. WinHIPE: edición, compilación y ejecución de programas; y generación de animaciones web. Manual de usuario. Índice contenido. INTRODUCCIÓN... 1-2 1. ENTORNO DE TRABAJO... 1-2 2. EDICIÓN DE PROGRAMAS...

Más detalles

Tarea 4.2 Memoria Virtual

Tarea 4.2 Memoria Virtual 1 Tarea 4.2 1. Cuál es la diferencia entre paginación simple y paginación en memoria virtual? En memoria virtual no es necesario que todas las páginas estén en marcos de la memoria principal. Las páginas

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

Centro de Capacitación en Informática

Centro de Capacitación en Informática Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.

Más detalles

UNIDAD 4: El procesador: Camino de los datos y Control.

UNIDAD 4: El procesador: Camino de los datos y Control. UNIDAD 4: El procesador: Camino de los datos y Control. 4.1 Introducción El rendimiento de una máquina depende de tres factores clave: Conteo de Instrucciones, tiempo del ciclo de reloj y ciclos de reloj

Más detalles

Soporte lógico de computadoras

Soporte lógico de computadoras Soporte lógico de computadoras Software: Sistemas Operativos Lenguajes de programación Lenguajes de Programación. Clasificación Proximidad del lenguaje al que entiende el ordenador: Bajo nivel: específico

Más detalles

Tema 3. Buses. Arquitectura de computadores. Plan 96. Curso 2010-2011. Jerarquía de buses

Tema 3. Buses. Arquitectura de computadores. Plan 96. Curso 2010-2011. Jerarquía de buses Tema 3. Buses 1. Introducción Jerarquía de buses Clasificación Fases de una transacción 2. Transferencia de datos 3. Temporización Bus síncrono Bus asíncrono Bus semisíncrono 4. Arbitraje del bus Centralizado

Más detalles

UNIDAD 5: Mejora del rendimiento con la segmentación.

UNIDAD 5: Mejora del rendimiento con la segmentación. UNIDAD 5: Mejora del rendimiento con la segmentación. 5.1 Un resumen de segmentación La segmentación (pipelining) es una técnica de implementación por la cual se solapa la ejecución de múltiples instrucciones.

Más detalles

Organizacion del Computador

Organizacion del Computador Universidad Nacional de Ingeniería Facultad de Ciencias Introducción a la Ciencia de la Computación Organizacion del Computador Prof: J. Solano 2011-I Objetivos Despues de estudiar este cap. el estudiante

Más detalles

COMPUTADORES MULTINUCLEO. Stallings W. Computer Organization and Architecture 8ed

COMPUTADORES MULTINUCLEO. Stallings W. Computer Organization and Architecture 8ed COMPUTADORES MULTINUCLEO Stallings W. Computer Organization and Architecture 8ed Computador multinucleo Un computador multinúcleocombina dos o mas procesadores (llamados núcleos) en una única pieza de

Más detalles

Unidad II: Administración de Procesos y del procesador

Unidad II: Administración de Procesos y del procesador Unidad II: Administración de Procesos y del procesador 2.1 Concepto de proceso Un proceso no es más que un programa en ejecución, e incluye los valores actuales del contador de programa, los registros

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

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

Arquitectura de Computadoras

Arquitectura de Computadoras Arquitectura de Computadoras (Cód. 5561) 1 Cuatrimestre 2016 Dra. Dana K. Urribarri DCIC - UNS Dana K. Urribarri AC 2016 1 Instruction-level parallelism Dana K. Urribarri AC 2016 2 Instruction-level parallelism

Más detalles

18. Camino de datos y unidad de control

18. Camino de datos y unidad de control Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 18. Camino de datos y unidad de control Un La versatilidad una característica deseable los Los

Más detalles

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León Programa. Introducción. 2. Elementos de almacenamiento. 3. Elementos de proceso. 4. Elementos de interconexión.

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

Computación I Representación Interna Curso 2011

Computación I Representación Interna Curso 2011 Computación I Representación Interna Curso 2011 Facultad de Ingeniería Universidad de la República Temario Representación de Números Enteros Representación de Punto Fijo Enteros sin signo Binarios puros

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

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 5. Sistemas de Bases de Datos. frente a Sistemas de Ficheros

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 5. Sistemas de Bases de Datos. frente a Sistemas de Ficheros FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 5. Sistemas de Bases de Datos frente a Sistemas de Ficheros 1.- Sistemas de Ficheros. 2.- Problemas de los Sistemas de Ficheros. 3.- Sistemas

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

PROBLEMAS DE FUNDAMENTOS DE TECNOLOGÍA DE COMPUTADORES T5. MEMORIAS

PROBLEMAS DE FUNDAMENTOS DE TECNOLOGÍA DE COMPUTADORES T5. MEMORIAS PROBLEMAS DE FUNDAMENTOS DE TECNOLOGÍA DE COMPUTADORES T5. MEMORIAS Tema 5 Memorias Hoja: 2 / 14 Base teórica La memoria es el lugar en el que se almacenan las instrucciones y los datos para que se puedan

Más detalles

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS. GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS. 1 Direcciones o Ubicaciones, Carpetas y Archivos Botones de navegación. El botón Atrás permite volver a carpetas que hemos examinado anteriormente. El botón Arriba

Más detalles

SIMATIC S7-1200 Actualización del manual de sistema S7-1200, edición 04/2012 Información del producto

SIMATIC S7-1200 Actualización del manual de sistema S7-1200, edición 04/2012 Información del producto SIMATIC S7-1200 Actualización del manual de sistema S7-1200, edición 04/2012 Información del producto Pese a los esfuerzos realizados por garantizar la exactitud y claridad en la documentación del producto,

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

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

Práctica 8 - DMA y Almacenamiento Masivo

Práctica 8 - DMA y Almacenamiento Masivo Práctica 8 - DMA y Almacenamiento Masivo Organización del Computador 1 Segundo Cuatrimestre 2011 Ejercicio 1 El siguiente protocolo de handshaking permite a un amo (por ejemplo: CPU) ordenar la realización

Más detalles

10/09/2015 1.0 Primera versión del documento Federico González. 13/09/2015 1.0 Revisión de SQA Alejandro Tosi

10/09/2015 1.0 Primera versión del documento Federico González. 13/09/2015 1.0 Revisión de SQA Alejandro Tosi PlainStock Modelo de de Prueba Versión 5.0 Historia de revisiones Fecha Versión Descripción Autor 10/09/2015 1.0 Primera versión del documento Federico González 13/09/2015 1.0 Revisión de SQA Alejandro

Más detalles

1.2 Análisis de los Componentes. Arquitectura de Computadoras Rafael Vazquez Perez

1.2 Análisis de los Componentes. Arquitectura de Computadoras Rafael Vazquez Perez 1.2 Análisis de los Componentes. Arquitectura de Computadoras Rafael Vazquez Perez 1.2.1 CPU 1 Arquitecturas. 2 Tipos. 3 Características. 4 Funcionamiento(ALU, unidad de control, Registros y buses internos)

Más detalles

Carga de la instrucción / Decodificación y carga de registros (Figura 37) Instrucciones de salto condicional (Figura 40)

Carga de la instrucción / Decodificación y carga de registros (Figura 37) Instrucciones de salto condicional (Figura 40) Inicio Carga de la instrucción / Decodificación y carga de registros (Figura 37) de acceso a la (Figura 38) de tipo R (Figura 39) de salto condicional (Figura 40) jump (Figura 41) Figura 5.36.- Una visión

Más detalles

INTRODUCCIÓN. Definiciones ORDENADOR (RAE 1992): En esta asignatura computador y ordenador tiene el mismo significado

INTRODUCCIÓN. Definiciones ORDENADOR (RAE 1992): En esta asignatura computador y ordenador tiene el mismo significado INTRODUCCIÓN UPCO ICAI Departamento de Electrónica y Automática 1 Definiciones ORDENADOR (RAE 1992): Máquina electrónica dotada de una memoria de gran capacidad y de métodos de tratamiento de la información,

Más detalles