Arquitecturas y Computación de Alto Rendimiento SISTEMAS PARA COMPUTACIÓN DE ALTO RENDIMIENTO. Índice

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

Download "Arquitecturas y Computación de Alto Rendimiento SISTEMAS PARA COMPUTACIÓN DE ALTO RENDIMIENTO. Índice"

Transcripción

1 Arquitecturas y Computación de Alto Rendimiento SISTEMAS PARA COMPUTACIÓN DE ALTO RENDIMIENTO 1 Índice 1. Necesidades de cómputo. Exascale. Arquitecturas de altas prestaciones. Top 500. Green Memoria compartida 1. soporte para programación paralela 2. coherencia de cachés: repaso y directorios 3. modelo de coherencia de memoria (introd.) 3. Memoria distribuida, clusters y cloud 4. Coprocesadores (GPUs y MIC) 2 Page 1

2 Soporte para programación paralela SPP 1. Memoria compartida 2. Programación 1. Comunicación 2. Sincronización 1. Tipos 2. Historia 3. Componentes 4. Implementación 1. locks 2. barriers 3 SPP: Memoria Compartida Definición: En un MP de Memoria Compartida (Shared-Memory MP) cualquier procesador puede acceder a cualquier posición de memoria Ventajas: La ubicación es transparente Su modelo de programación natural es similar al que se usa en los sistemas monoprocesadores con time-sharing: Pero los procesos se pueden ejecutar en procesadores diferentes Implican habitualmente una mejora del throughput 4 Page 2

3 SPP: Memoria Compartida Uso habitual: 1. como servidores 2. y para programación paralela: Permiten compartición de grano lo fino que se quiera La comunicación (acceso convencional ) y la sincronización (acceso atómico ) es siempre a través de variables compartidas Modelo load/store: no necesarios nuevos mecanismos en la arquitectura de los procesadores Automatización del movimiento de datos (cachés) y de la gestión de su coherencia 5 Comunicación: SPP: Programación Implícita a través de variables compartidas: Cómo se implementa paso de mensajes, p.ej. MPI, sobre un MP de Memoria Compartida? Sincronización: Tipos: Exclusión mutua: LOCKS (cerrojos) Sincronización de eventos: Barriers 6 Page 3

4 SPP: Sincronización Ejemplos: oibm 370: compare&swap atómico para multiprogramación ointel x86: cualquier instrucción de acceso a memoria puede llevar el prefijo LOCK (acceso atómico) olos SPARC (muy RISC): operaciones atómicas registromemoria: swap, compare&swap omips, PowerPC, Alpha: RISCs: no accesos atómicos sino pareja de instrucciones i load-locked/store- l d/ conditional oen general, mucho debate y discusión: qué implementar en el Hw, cómo implementarlo, etc. 7 SPP: Sincronización DECISIONES: Velocidad vs. flexibilidad Qué implementar en Hw: normalmente, sólo operaciones atómicas Sw - Hw: los mecanismos suministrados por el Hw determinan lo que los algoritmos pueden usar a la hora de diseñar el Hw se tiene en cuenta lo que el Sw demanda Evaluación: como siempre, con programas de prueba 8 Page 4

5 SPP: Sincronización: locks LOCKs: primera versión: lock: ld.r1, /dir_cerrojo cmp.r1, #0 bnz $lock st #1, /dir_cerrojo ret unlock: st #0, /dir_cerrojo ret 9 SPP: Sincronización: locks LOCKs: segunda versión: con test&set (t&s) lock: t&s.r1, /dir_cerrojo bnz $lock ret unlock: st #0, /dir cerrojo ret consideraciones de rendimiento: tráfico, invalidaciones, hambruna,... variaciones: t&s con backoff, test&test&set 10 Page 5

6 11 SPP: Sincronización: locks Test and Test and Set: A: while (LOAD(/dir_cerrojo) = 1) do nothing; if (TEST&SET(/dir_cerrojo) = 0) { región crítica; } else goto A; o, mejor: repeat while (LOAD(/dir_cerrojo) = 1) do nothing; until (TEST&SET(/dir_cerrojo) = 0)) + : hace el spin en la caché : sigue habiendo mucho tráfico si hay muchos procesos ejecutando el t&s SPP: Sincronización: locks Test and Set con backoff: Cuando hay fallo, tarda un poco antes de reintentarlo: retardo constante retardo exponencial + : mucho menos tráfico : el retardo exponencial puede producir hambruna en caso de mucha contención : los recién llegados, menos espera: y sin embargo, el retardo exponencial produce los mejores resultados en la práctica 12 Page 6

7 SPP: Sincronización: locks tercera versión: load-locked + store-conditional (RISCs) ll: lee la variable en un registro sc: intenta almacenar la variable en la posición de Memoria si y sólo si ningún otro procesador ha escrito en la variable desde que ejecutó ll: si hay éxito, entre ll y sc, todo atómico lock: ll.r1, /dir_cerrojo /* LL dir a R1* / bnz.r1, $lock /* cerrado? */ sc #1, /dir_cerrojo /* SC 1 en dir */ beqz $lock /* si fallo, again*/ ret unlock: st #0, /dir_cerrojo ret otras versiones: ticket lock, array-based queing: ambas logran FIFO 13 cuarta versión: SPP: Sincronización: locks Ejercicio : implemente un cerrojo (su acquire ) suponiendo que la arquitectura suministra la instrucción: lock.exchange.ri, /dir Supóngase que el flag Z se pone a 1 si se devuelve en valor cero en.ri Discusión! Page 7

8 SPP: Sincronización: locks Quinta versión: [exa de mayo 2013 de ACAR (6 créditos)] Véase la documentación en 8. [2 puntos] Utilice la instrucción ió atómica LOCK.CMPXCHG (Compare and Exchange) de la arquitectura IA32 para realizar la programación de la adquisición de un cerrojo mediante spin-lock. Procure reducir en lo posible el número de escrituras. Nota: aunque trabajamos esta instrucción en clase, a continuación se encuentra un fragmento de lo que dice sobre ella el manual de IA32: Compares the value in the EAX register with the first operand (destination operand). If the two values are equal, the second operand (source operand) is loaded into the destination operand. Otherwise, the destination operand is loaded into the EAX register. [ ] Flags affected: The ZF flag is set if the values in the destination operand and register AL, AX, or EAX are equal; otherwise it is cleared 15 SPP: Sincronización: barrier barriers: Qué es un barrier? Herramienta de programación Se utiliza para la sincronización i ió de procesos Características Permite poner una barrera (detener la ejecución) de n 1 procesos en un punto determinado del código, y hacer que continúen cuando llegue el proceso n a la barrera Se pueden, y suelen, implementar en Sw utilizando locks, contadores en memoria compartida y flags 16 Page 8

9 SPP: Sincronización: barrier Estructura de datos clásica de una barrera: struct bar_type { int counter; struct lock_type lock; int flag = 0; } bar_name; /*Contador*/ /*Cerrojo*/ /*Bandera*/ 17 SPP: Sincronización: barrier primera versión: barrier centralizado Counter conserva el número de procesos que ha llegado a la barrera. Se incrementa su valor cada vez que llega uno (con lock), y comprueba si ha llegado a numprocs BARRIER (bar_name, p) { LOCK(bar_name.lock); if (bar_name.counter == 0) bar_name.flag = 0; /* El primero baja la bandera*/ mycount = bar_name.counter++; /* mycount es privada */ UNLOCK(bar_name.lock); if (mycount == p) { /* El último que llega */ bar_name.counter = 0; /* inicia el contador para la siguiente barrera*/ bar_name.flag = 1; /* Libera los procesos */ } else while (bar_name.flag == 0) {}; /* Espera activa*/ } 18 Page 9

10 SPP: Sincronización: barrier Posibles problemas de esta implementación?: dos barriers seguidos de la misma barrera --típico en bucles--?... operaciones BARRIER ( bar1, p ) ; /*Uno que queda no llega ver el flag a 1...*/... operaciones BARRIER ( bar1, p ) ; /*El primero que llega pone el flag a 0*/ La solución necesitaría que ningún proceso entrase en una nueva instancia de la barrera hasta que no existiese garantía de que todos han salido de la instancia anterior: cómo hacerlo? SPP: Sincronización: barrier segunda versión: barrier centralizado 2 Cambio de sentido: Idea: No dar valor explícito a la bandera: en vez de poner un 1 o un 0 siempre para bajar o subir la bandera, se van alternando su valor Un solo banderazo (cambio de sentido) cada vez que están todos. BARRIER (bar_name, p) { local_sense =!(local_sense); /* Cambio de sentido privado*/ LOCK(bar_name.lock); mycount = bar_name.counter++; /* mycount es privada */ if (bar_name.counter == p) /*El último que llega */ UNLOCK(bar_name.lock); /* inicia contador para bar_name.counter = 0; la siguiente barrera*/ bar_name.flag = local_sense; /* Libera los procesos*/ else { UNLOCK(bar ( name.lock); while (bar_name.flag!= local_sense) {}; }/*Espera activa*/ } Rendimiento: 1) latencia; 2) tráfico; 3) memoria; 4) equidad (fairness); 5) contención 20 Page 10

11 21 SPP: Sincronización Ejemplo: lock en Alpha // El estado que se devuelve en R0 es: // 0 - fallo (spinlock a 0; sigue a 0, falla store-conditional) // 1 - éxito (spinlock a 0; puesto a 1) // 2 - fallo (spinlock a 1; sigue a 1, falla store-conditional) // 3 - fallo (spinlock a 1; sigue a 1) #define BASIC_SPINLOCK_ACQUIRE (spinlock_address){ long status = 0; While (1) { if (*(spinlock_address) == 0) { status = TEST_AND_SET (spinlock_address); if (status == 1) { MB; break; } } } } SPP: Sincronización Ejemplo: lock en Alpha #define TEST_AND_SET (spinlock_address) asm ( ldl_l $0, ($16); or $0,1,$1; stl_c $1, ($16); sll $0, 1, $0; or $0, $1, $0; (spinlock_address)); 22 Page 11

12 SPP: Sincronización Ejemplo: lock en Alpha LDL_L Ra.wq, disp.ab(rb.ab) Operación: va {Rbv + SEXT (disp) } CASE big_endian_data: va Little_endian_data: va va ENDCASE Lock_flag 1 Locked_physical_address PHYSICAL_ADDRESS (va) Ra SEXT ((va ) <31:0>) 23 SPP: Sincronización Ejemplo: lock en Alpha STL_C Ra.mx, disp.ab(rb.ab) Operación: va {Rbv + SEXT (disp)} CASE Big_endian_data: va z va XOR 1002 Little_endian_data: va va ENDCASE IF (lock_flag k = 1) THEN (va ) <31:0> Rav<31:0> Ra lock_flag Lock_flag 0 24 Page 12

13 SPP: Sincronización Ejemplo: lock en Alpha Casos Cerrojo abierto - acierto en stl_c - fallo en stl_c Cerrojo cerrado - acierto en stl_c - fallo en stl_c 25 Índice 1. Necesidades de cómputo. Exascale. Arquitecturas de altas prestaciones. Top 500. Green Memoria compartida 1. soporte para programación paralela 2. coherencia de cachés: repaso y directorios 3. modelo de coherencia de memoria (introd.) 3. Memoria distribuida, clusters y cloud 4. Coprocesadores (GPUs y MIC) 26 Page 13

14 Coherencia de cachés 1. Uso de cachés privadas 2. El problema de coherencia de cachés (PCC) 3. Posibles soluciones al PCC 4. Políticas para mantener la coherencia 1. Invalidación 2. Actualización 3. Consideraciones de rendimiento 4. Decisiones de diseño 5. Variaciones 27 Coherencia de cachés Justificación del uso de cachés privadas: reducen el tiempo medio de acceso (uso monoprocesador ) reducen la demanda de ancho de banda en la red de interconexión Problema: existencia de datos compartidos modificables (shared writable data) copias de una misma variable en diferentes cachés la escritura de un procesador en su copia no se hace visible a los demás que también tienen copia: accederán a valores no actualizados (stale t l data) ) conocido como el Problema de Coherencia de Cachés (PCC) se necesita realizar alguna acción para solucionar este problema 28 Page 14

15 PCC: posibles soluciones Copiar en la caché cualquier bloque: todo cacheable funcionamiento monoprocesador : se lleva a la caché cualquier bloque que se necesite: independiente de su semántica coherencia mantenida por Hw: circuitería añadida que garantiza que no se acceda a una copia no actualizada de un bloque políticas:» Invalidación (I)» Actualización (A) implementaciones:» MP basados en buses: snoopy» MP escalables : directorios 29 PCC: políticas Políticas para mantener la coherencia son independientes de su implementación A) Invalidación (I): Write-Invalidate cuando un procesador modifica su copia de un bloque, se señalan como no válidas (inválidas) el resto de las copias existentes B) Actualización (A): Write-Update/Broadcast Ídem, se actualiza con la modificación el resto de las copias existentes 30 Page 15

16 PCC: políticas: I vs. A... Store Invalidación Px Py Pk... Actualización Px Py Pk... Variación: write-once (Goodman, 1983) 31 PCC: políticas: rendimiento Nomenclatura: P: tasa de fallos monoprocesador: el bloque no está presente en la caché F: tasa de fallos total I: tasa de fallos por invalidación (invalidation misses): el bloque está presente en la caché pero en estado no-válido T: tráfico extra debido al mecanismo de coherencia Bq: tamaño del bloque C: tamaño (capacidad) de la caché 32 Page 16

17 PCC: políticas: rendimiento Rendimiento Invalidación Actualización a) Tasa de fallos b) Tráfico añadido F = P + I * F = P T I = T invalidar + T fallos por invalidación * reducido por write-once 33 T A >> T I ** Dependerá de la frecuencia de los fallos por Invalidación PCC: políticas: decisiones de diseño Invalidación Decisiones de diseño Actualización a) Tamaño del bloque (Bq) Bq falsa compartición extremo: 1 solo bloque b) Tamaño de la caché (C) C t de vida bloques nº actualizaciones extremo: C = M 34 Page 17

18 PCC: políticas: I ó A? I ó A? Depende del comportamiento del programa: extremos: grano fino compartición secuencial Peros : la vida real 1) No comportamiento extremo 2) Cada bloque puede tener un comportamiento distinto 3) Y encima éste puede cambiar dinámicamente 35 PCC: grano fino vs. secuencial Maneras de compartir un bloque grano fino secuencial Px Py Pz Page 18

19 PCC: grano fino vs. secuencial grano fino I rping-pong: ej. lock A a secuencial I a A r act. inútiles 37 PCC: políticas: variaciones Variaciones: tratan de paliar defectos Invalidación: 1. (write-once: por defecto, siempre) 2. read-broadcast: reduce a un fallo global por invalidación: particularmente adecuado para 1 escritor y varios lectores Actualización: 1. Difundir escrituras sólo si el bloque está realmente compartido: línea común adicional de shared 2. Aunque esté presente en otras cachés puede no ser útil: envejecimiento de los bloques: ej. competitive snooping: cuando todos las copias están envejecidas ( criterio?: símil del esquiador novel) invalidar y no difundir más escrituras 38 Page 19

20 PCC: read-broadcast Px Py Pz Pk... Load Sin read-broadcast Px Py Pz Pk... fallo por invalidación Con read-broadcast Px Py Pz Pk PCC: políticas: vida real Vida real: Hay máquinas que permiten ambas políticas de coherencia La mayoría de las arquitecturas implementa Invalidación: p.ej., muy popular el MESI (p.ej., Pentium) No suelen implementar sólo Actualización: Mucho tráfico en general Situación peor: varias escrituras por un procesador antes de la lectura por otro: varias operaciones de bus frente a 1 sola en Invalidación Problemática para protocolos no basados en buses, o sea, escalables 40 Page 20

21 PCC: implementaciones Implementaciones: Hw: snoopy: máquinas basadas en buses: broadcast directorios: máquinas escalables : otras redes de intercomunicación: multicast: máquinas CC-NUMA; Intel MIC NUEVO!!! redes coherentes : MP con una red de interconexión diseñada expresamente para mantener la coherencia: meros experimentos académicos Sw: no realizaciones comerciales cuestión en que parece completamente parada 41 PCC: implementaciones snoopy Implementaciones snoopy: Se utilizan en MP en los que la red de interconexión es un bus Idea básica: Las transacciones en el bus son visibles a todos los procesadores Los procesadores (realmente, sus controladores de caché -- versión ++ --) observan lo que pasa en el bus y realizan acciones para preservar la coherencia 42 Page 21

22 PCC: implementaciones snoopy Implementación: Se sofistica en controlador de la caché: doble interfaz: el procesador / el bus Frente a cada transacción realiza cero o más acciones:»actualizar estado»suministrar datos»generar nuevas transacciones El protocolo se implementa como una máquina de estados distribuida El tamaño del grano de coherencia es el bloque de caché 43 [...] Coherencia de cachés Políticas para mantener la coherencia 1. Invalidación 2. Actualización 3. Consideraciones de rendimiento 4. Decisiones de diseño 5. Variaciones Implementaciones 1. Hardware 1. Snoopy: buses 2. Directorios: ahora, MIC/Xeon Phi 2. Software: nada real 44 Page 22

23 PCC: snoopy: otros aspectos Otros aspectos generales de las implementaciones snoopy: Complicaciones de diseño: 3 estados ( papel ) / 40 estados ( silicio ) i Diseño del controlador de la caché: procesador/bus Los resultados del snoop: cómo y cuándo suministrarlos Aunque las transacciones sobre el bus puedan ser atómicas, no el funcionamiento general Serialización, interbloqueo, hambruna,... Implementación de operaciones atómicas Complicaciones adicionales (muchas) en buses de ciclo partido PCC: directorios Implementaciones con Directorios: Se utilizan en MP en los que la red de interconexión no es un bus: CC-NUMAs (tecnología demodé actualmente) Intel MIC, ha retomado la idea Idea básica: Se mantiene siempre anotado dónde existen copias de los bloques y en qué estado se encuentran multicast: operaciones procoherencia dirigidos exclusivamente a las cachés que tengan copia del bloque: gossip vs. snooping Variación: jerarquías: snooping + directorios: redes de MP basados en buses; jerarquías de directorios Implementación: Muchas posibilidades: RENDIMIENTO vs. TAMAÑO DIRECTORIO vs. ESCALABILIDAD? 46 Page 23

24 PCC: directorios RENDIMIENTO = grado de contención + Vel. de búsqueda Propuestas: - A) Directorios completos (full-map) - B) Directorios limitados (limited) escalabilidad - C) Directorios encadenados (chained) - Idea rescatada recientemente en la arquitectura Intel-MIC/Xeon Phi: - núcleos interconectados por un anillo bidireccional, 64 bytes de datos - mantiene la coherencia entre las cachés L2 - directorio completo distribuido alrededor del anillo en los Tag Directory (TD). - las direcciones (bloques) se distribuyen uniformemente entre los TDs - Cuando fallo en L2, se envía una petición a través de las líneas AD del anillo: - si se encuentra en la L2 de otro core, petición del bloque que se sirve a través de las líneas de datos del anillo - si no, se envía petición a memoria principal. 47 Intel Xeon Phi 48 Page 24

25 Intel Xeon Phi 49 PCC: soluciones Sw 50 Soluciones (mejor que implementaciones) Software: Cuestión que se comenzó a investigar a mediados de los 80s (vs. implementaciones Hw) Casi todas las soluciones propuestas (menos las triviales muy poco eficientes) se han desarrollado en entornos académicos y no se han implementado en máquinas comerciales Posibles ventajas de las soluciones Sw: 1. Aunque todas las soluciones (eficientes) requieren soporte Hw, muchas veces completamente ad hoc, son sin dudas, mucho más sencillas que las implementaciones Hw 2. Ya que el rendimiento de las políticas de coherencia depende claramente de lo que llamamos el comportamiento del programa, las soluciones Sw pueden tenerlo en cuenta para actuar eficientemente 3. Teóricamente, son escalables con el número de procesadores Page 25

26 PCC: soluciones Sw Ejemplo: Cheong y Veidenbaum, U. of Illinois at Urbana- Champaign, Compiler-Directed Cache Management in Multiprocessors, IEEE Computer, Índice 1. Necesidades de cómputo. Exascale. Arquitecturas t de altas prestaciones. Top 500. Green Memoria compartida 1. soporte para programación paralela 2. coherencia de cachés: repaso y directorios 3. modelo de coherencia de memoria (introd.)) 3. Memoria distribuida, clusters y cloud 4. Coprocesadores (GPUs y MIC) 52 Page 26

27 Modelo de coherencia de memoria 3. Modelo de coherencia de memoria (introducción) 1. Introducción 2. Coherencia secuencial 3. Coherencia relajada 1. Processor consistency 2. Weak consistency 3. Release consistency 53 Memoria compartida Memory Consistency Models for Shared Memory MP a quién le importa? Lenguaje máquina C C++ Ada HPF Java compiladores/librerías/so/etc Middleware Modelo de Coherencia de Memoria 54 Page 27

28 Modelo de coherencia de memoria Idea: cuál es la semántica de las operaciones de acceso a memoria compartida?? O cómo se ordenan las escrituras y lecturas entre los diferentes procesadores? Nuestra mentalidad : modelo uniprocesador : accesos atómicos a M y en el orden del programa: y, sin embargo, el compilador o la UC (p.ej., superescalares) no necesariamente fuerzan el orden secuencial: p.ej., buffer de escritura, terminación fuera de orden, etc. 55 Modelo de coherencia de memoria Nuestra visión: escribir A escribir B leer A leer B Ejecución en MP donde los procesadores comparten información: el orden relativo en que se realizan los accesos es importante. t 56 Page 28

29 Modelo de coherencia de memoria Ejemplo: P1 A:= flag:= 0 P2 A:= 666; flag:= 1; while (flag==0) do nothing print A; Qué resultado esperamos? Por qué pudiera ser que no lo obtuviésemos?: cachés privadas:? buffer de escritura:? red de interconexión: también en buses? 57 Modelo de coherencia de memoria Coherencia Secuencial (Sequential Consistency, SC) de Lamport (1979): (A system is sequentially consistent if) the result of any execution is the same as if the operations of all the processors were executed in some sequential order, and the operations of each individual processor appear in this sequence in the order specified by its program. 58 Page 29

30 Modelo de coherencia de memoria visualización: serialización de los accesos: Accesos a M en el orden del programa P 1 P 2... P n El conmutador se mueve aleatoriamente después de cada acceso Memoria 59 Modelo de coherencia de memoria Ejemplo: A:= B:= x:= y:= 0 P1 A:= 1 (a) x:= B (b) ( barrier (2)?) print(x) P2 B:= 1 (c) y:= A (d) ( barrier (2)?) print(y) Coherencia Secuencial? Sí/No: demostración Page 30

31 Modelo de coherencia de memoria Modelos de Coherencia Relajada (Relaxed Consistency, RC): Menos exigente que la SC, pero más eficiente: permite optimizaciones jugando con el orden de los accesos a memoria Existen diferentes modelos que siguen el principio de RC Todos los modelos de RC suministran algún tipo de mecanismo que permite forzar explícitamente la coherencia secuencial Modelos: - Processor Consistency (PC): Goodman, Weak Consistency (WC): Dubois et al., Release Consistency (RC): Garachorloo et al., Modelo de coherencia de memoria SC PC WC RC LD LD {M, M} {M, M} ST LD SYNC ACQUIRE LD ST {M, M} {M, M} LD {ST, LD} SYNC RELEASE {M, M} ST RELEASE 62 Page 31

5.5. Sincronización.

5.5. Sincronización. 5.5. Sincronización. La comunicación entre procesos en un sistema multiprocesador se realiza utilizando memoria compartida. El acceso a esta memoria compartida, o a las variables que contendrá, se debe

Más detalles

15. Arquitectura de los multiprocesadores. 16. Multiprocesadores de memoria compartida. 17. Multicomputadores.

15. Arquitectura de los multiprocesadores. 16. Multiprocesadores de memoria compartida. 17. Multicomputadores. UNIDAD TEMÁTICA 5: MULTIPROCESADORES. 15. Arquitectura de los multiprocesadores. 16. Multiprocesadores de memoria compartida. 17. Multicomputadores. 15-1 TEMA 15: ARQUITECTURA DE LOS MULTIPROCESADORES.

Más detalles

un programa concurrente

un programa concurrente Introducción un programa concurrente asumimos que tengamos un programa concurrente que quiere realizar acciones con recursos: si los recursos de los diferentes procesos son diferentes no hay problema,

Más detalles

Organización del Computador 1. Máquina de von Neumann Jerarquía de Niveles

Organización del Computador 1. Máquina de von Neumann Jerarquía de Niveles Organización del Computador 1 Máquina de von Neumann Jerarquía de Niveles Inicios de la computación Turing y Church sientan las bases teóricas de la computación Máquina de Turing Máquina teórica compuesta

Más detalles

Plataformas paralelas

Plataformas paralelas Plataformas paralelas Curso 2011-2012 Elementos de un computador paralelo Hardware: Múltiples procesadores Múltiples memorias Redes de interconexión Software: Sistemas Operativos paralelos Programas orientados

Más detalles

Concurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia

Concurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia Concurrencia: deberes Concurrencia: Exclusión Mutua y Sincronización Capítulo 5 Comunicación entre procesos Compartir recursos Sincronización de múltiples procesos Asignación del tiempo de procesador Concurrencia

Más detalles

Juan de Dios Murillo Morera e-mail: jmurillo@una.ac.cr Santiago Caamaño Polini e-mail: scaamano@costarricense.cr INTRODUCCIÓN

Juan de Dios Murillo Morera e-mail: jmurillo@una.ac.cr Santiago Caamaño Polini e-mail: scaamano@costarricense.cr INTRODUCCIÓN UNICIENCIA 24 pp. 83-89 2010 IMPLEMENTACIÓN DE UN SERVIDOR FTP UTILIZANDO EL MODELO CLIENTE/SERVIDOR MEDIANTE EL USO DE SOCKETS EN LENGUAJE C UNIX CON EL FIN DE MEJORAR LOS TIEMPOS DE RESPUESTA EN LA RED

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

Memoria Compartida Distribuida (DSM) Sistema de Archivos

Memoria Compartida Distribuida (DSM) Sistema de Archivos Memoria Compartida Distribuida (DSM) La memoria compartida distribuida es una abstracción que se propone como alternativa a la comunicación por mensajes. Memoria compartida basada en páginas: este esquema

Más detalles

Mensajes. Interbloqueo

Mensajes. Interbloqueo CONCURRENCIA DE PROCESOS Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen Los procesos comparten variables globales, comparten y compiten por recursos, se ejecutan simultáneamente intercalándose

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

Concurrencia: Exclusión mutua y Sincronización

Concurrencia: Exclusión mutua y Sincronización Concurrencia: Exclusión mutua y Sincronización Prof. Carlos Figueira Basado en materiales de Yudith Cardinale (USB) Williams Stallings, Eugene Styer Concurrencia Múltiples aplicaciones Aplicaciones estructuradas

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

2 Control de procesos y sincronización

2 Control de procesos y sincronización 2 Control de procesos y sincronización En los sistemas multiprogramados se define el proceso como entidad representante de la ejecución de un programa en un determinado contexto. Aunque hoy en día se ha

Más detalles

Entorno de Ejecución del Procesador Intel Pentium

Entorno de Ejecución del Procesador Intel Pentium Arquitectura de Ordenadores Arquitectura del Procesador Intel Pentium Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Entorno de Ejecución del Procesador

Más detalles

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones Instruction Set Architecture (ISA) Arquitectura del conjunto de instrucciones software Conjunto de instrucciones hardware Universidad

Más detalles

Arquitectura de Computadores II Exámenes Tipo Test Resueltos y justificados. Ana B. Pelegrina Ortiz

Arquitectura de Computadores II Exámenes Tipo Test Resueltos y justificados. Ana B. Pelegrina Ortiz Arquitectura de Computadores II Exámenes Tipo Test Resueltos y justificados Ana B. Pelegrina Ortiz Resultados de los tipo test del tema 1 de ACII en el SWAD 1. Un programa tarda 60 segundos en ejecutarse

Más detalles

Sistemas Operativos. Características de la Multiprogramación. Interacción entre Procesos. Características de la Multiprogramación

Sistemas Operativos. Características de la Multiprogramación. Interacción entre Procesos. Características de la Multiprogramación Universidad Simón Bolívar Departamento de Electrónica y Circuitos EC3731 Arquitectura del Computador II Prof. Osberth De Castro Prof. Juan C. Regidor Sistemas Operativos Concurrencia y Sincronización de

Más detalles

Algunas preguntas clave para el diseño de multiprocesadores son las siguientes:

Algunas preguntas clave para el diseño de multiprocesadores son las siguientes: 6. MULTIPROCESADORES 6.1 Introducción Algunos diseñadores de computadoras han mantenido la ilusión de crear una computadora poderosa simplemente conectando muchas computadoras pequeñas. Esta visión es

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

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA INGENIERÍA EN INFORMÁTICA. ARQUITECTURA DE COMPUTADORES II 19 de junio de 2007

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA INGENIERÍA EN INFORMÁTICA. ARQUITECTURA DE COMPUTADORES II 19 de junio de 2007 UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA INGENIERÍA EN INFORMÁTICA. ARQUITECTURA DE COMPUTADORES II 19 de junio de 2007 Para la realización del presente examen se dispondrá de 2 1/2

Más detalles

Unidad I Fundamentos de Sistemas Distribuidos. M.C. Juan Carlos Olivares Rojas

Unidad I Fundamentos de Sistemas Distribuidos. M.C. Juan Carlos Olivares Rojas Unidad I Fundamentos de Sistemas Distribuidos M.C. Juan Carlos Olivares Rojas Temario 1.1. Características de un sistema distribuido 1.2. Objetivos de los sistemas distribuidos 1.3. Ventajas y desventajas

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

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

Unidad 2: Gestión de Memoria

Unidad 2: Gestión de Memoria Unidad 2: Gestión de Memoria Tema 3, Gestión de Memoria: 3.1 Definiciones y técnicas básicas. 3.2 Gestión de memoria contigua: Partición, fragmentación, algoritmos de ubicación... 3.3 Paginación: Estructura

Más detalles

Arquitectura Von Neumann

Arquitectura Von Neumann Arquitectura Von Neumann Arquitectura Von Neumann Establecida en 1945 por Von Neumann Modelo básico de arquitectura utilizado en la mayoría de los computadores Su idea es la de conectar permanentemente

Más detalles

Arquitecturas CISC y RISC

Arquitecturas CISC y RISC Arquitecturas CISC y RISC Diseño de Sistemas Digitales EL-3310 I SEMESTRE 2008 2. ARQUITECTURA DEL CONJUNTO DE INSTRUCCIONES 2.1 Elementos de la arquitectura Clasificación de la arquitectura Organización

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 a los Sistemas Operativos

Introducción a los Sistemas Operativos Introducción a los Sistemas Operativos 2º Ingeniero de Telecomunicación (Sonido e Imagen) Departamento de Ingeniería Telemática Universidad Carlos III de Madrid 2 Qué vamos a ver hoy? Qué es un sistema

Más detalles

Estructura de Computadores

Estructura de Computadores Estructura de Computadores Tema 6. Sistemas de entrada/salida Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido Concepto

Más detalles

INDICE. Prefacio Parte 1: sistemas operativos tradicionales

INDICE. Prefacio Parte 1: sistemas operativos tradicionales INDICE Prefacio Parte 1: sistemas operativos tradicionales 1 1 Introducción 1.1 Qué es un sistema operativo? 1.1.1 El sistema operativo como una maquina extendida 3 1.1.2 El sistema operativo como controlador

Más detalles

Implementación de monitores POSIX

Implementación de monitores POSIX Implementación de monitores POSIX Ampliación de Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Programación concurrente: Problemática Presencia de condiciones de

Más detalles

Apuntes de arquitectura de computadoras. Unidad 1 Modelo de arquitecturas de cómputo. 1.1 Modelos de arquitecturas de cómputo.

Apuntes de arquitectura de computadoras. Unidad 1 Modelo de arquitecturas de cómputo. 1.1 Modelos de arquitecturas de cómputo. Apuntes de arquitectura de computadoras Unidad 1 Modelo de arquitecturas de cómputo. 1.1 Modelos de arquitecturas de cómputo. 1.1.1 Arquitecturas Clásicas. Estas arquitecturas se desarrollaron en las primeras

Más detalles

Middlewar Middlew es par ar a es par Sistemas de Alto Re R ndimiento José M. Peña

Middlewar Middlew es par ar a es par Sistemas de Alto Re R ndimiento José M. Peña Middlewares para Sistemas de Alto Rendimiento José M. Peña Contenidos Middlewares: Ejemplo lenguajes/entornos de programación: Lenguaje de programación paralela: OpenMP Ejemplos de servicios HPC: Sistemas

Más detalles

SISTEMAS DE ARCHIVOS DISTRIBUIDOS

SISTEMAS DE ARCHIVOS DISTRIBUIDOS SISTEMAS DE ARCHIVOS DISTRIBUIDOS Tema # VII Sistemas de operación II Abril-Julio 2008 Yudith Cardinale Introducción Requisitos Aspectos de Diseño Servicios de archivos Servicios de directorios Módulo

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

Módulo I. Conceptos Introductorios. 1. Concepto de Computadora: Son esencialmente orientadas al Cálculo. Unica operación que realiza es la Suma.

Módulo I. Conceptos Introductorios. 1. Concepto de Computadora: Son esencialmente orientadas al Cálculo. Unica operación que realiza es la Suma. Módulo I. Conceptos Introductorios 1. Concepto de Computadora: Son esencialmente orientadas al Cálculo. Unica operación que realiza es la Suma. HARDWARE INPUT COMPUTADORA OUTPUT SOFTWARE 2. Historia de

Más detalles

Organización del Computador I Verano. Memoria Virtual Basado en el capítulo 5 del libro de Patterson y Hennessy

Organización del Computador I Verano. Memoria Virtual Basado en el capítulo 5 del libro de Patterson y Hennessy Organización del Computador I Verano Memoria Virtual Basado en el capítulo 5 del libro de Patterson y Hennessy Verano 204 Profesora Borensztejn Memoria Virtual Memoria Virtual es la técnica que permite

Más detalles

CDI Exclusión mutua a nivel alto. conceptos

CDI Exclusión mutua a nivel alto. conceptos conceptos El concepto de usar estructuras de datos a nivel alto libera al programador de los detalles de su implementación. El programador puede asumir que las operaciones están implementadas correctamente

Más detalles

Procesador Intel Core 2 Extreme de 4 núcleos Traducción de Textos Curso 2007/2008

Procesador Intel Core 2 Extreme de 4 núcleos Traducción de Textos Curso 2007/2008 Procesador Intel Core 2 Traducción de Textos Curso 2007/2008 Versión Cambio 0.9RC Revisión del texto 0.8 Traducido el octavo párrafo 0.7 Traducido el séptimo párrafo Autor: Rubén Paje del Pino i010328

Más detalles

Arquitectura de Computadores 3º Plan 96. Buses

Arquitectura de Computadores 3º Plan 96. Buses Índice 1. Introducción. 2. Transferencia de Datos 3. Arbitraje del Bus 1. Introducción Buses Definición Conjunto de lineas compartidas por distintos elementos de un computador cuya función es permitir

Más detalles

Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio

Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio Fundamentos de Arquitectura de Computadores Modelo de von Neumann Profesor: Felipe Cabarcas Correo:cabarcas@udea.edu.co Oficina:

Más detalles

Sistemas de Operación II

Sistemas de Operación II Sistemas de Operación II Procesos en Sistemas Distribuidos Prof. Yudith Cardinale Abril-Julio 2012 Contenido Hilos en Sistemas Distribuidos Clientes Servidores Anexo: Virtualización 2 Procesos e hilos

Más detalles

:Arquitecturas Paralela basada en clusters.

:Arquitecturas Paralela basada en clusters. Computación de altas prestaciones: Arquitecturas basadas en clusters Sesión n 1 :Arquitecturas Paralela basada en clusters. Jose Luis Bosque 1 Introducción Computación de altas prestaciones: resolver problemas

Más detalles

Concurrencia entre Procesos.

Concurrencia entre Procesos. Concurrencia entre Procesos. Sistemas Operativos Tema 3. 1 Procesamiento concurrente. Procesamiento concurrente: base de los sistemas operativos modernos (multiprogramados): Un conjunto de procesos que

Más detalles

Arquitectura de Computadores. Tema 13 Memoria Virtual. Eduardo Daniel Cohen dcohen@arnet.com.ar http://www.herrera.unt.edu.

Arquitectura de Computadores. Tema 13 Memoria Virtual. Eduardo Daniel Cohen dcohen@arnet.com.ar http://www.herrera.unt.edu. Arquitectura de Computadores Tema Memoria Virtual Eduardo Daniel Cohen dcohen@arnet.com.ar http://www.herrera.unt.edu.ar/arqcom En Perspectiva: En dónde estamos ahora? Las cinco componentes clásicas de

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 Estructura de un computador: conceptos básicos Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa 1. Introducción 2. Elementos

Más detalles

Receta general para resolver problemas de sincronización con semáforos

Receta general para resolver problemas de sincronización con semáforos Receta general para resolver problemas de sincronización con semáforos La primera vez que te enfrentas a la tarea de implementar una solución a un problema de sincronización entre procesos, es normal que

Más detalles

Sistemas Operativos. Tema 1. Arquitectura Básica de los Computadores

Sistemas Operativos. Tema 1. Arquitectura Básica de los Computadores Sistemas Operativos. Tema 1 Arquitectura Básica de los Computadores http://www.ditec.um.es/so Departamento de Ingeniería y Tecnología de Computadores Universidad de Murcia Sistemas Operativos. Tema 1 Arquitectura

Más detalles

V.- V.-El El manejo de de las las Interrupciones

V.- V.-El El manejo de de las las Interrupciones Las Las V.- V.-El El manejo de de las las Conceptos Conceptos BásicosB Básicos Modos Modos de de Manejo Manejo Ejemplos Ejemplos de de aplicación aplicación Las Las El manejo de las en el 8051 Las interrupciones

Más detalles

La arquitectura del 8086/8088

La arquitectura del 8086/8088 Repasamos aquí la arquitectura de un PC. Para más información sobre lo aquí expuesto se puede consultar [PA01] y los capítulos iniciales de [Tej01], [Rod00] y [Nor01]. Anatomía del PC A grandes rasgos,

Más detalles

Sistemas Distribuidos

Sistemas Distribuidos Sistemas Distribuidos Exclusion Mutua: Memoria Compartida. Ramiro De Santiago Lopez. 28/01/2014 Exclusion Mutua (ME) Un proceso excluye temporalmente a todos los demás para usar un recurso compartido.

Más detalles

Arquitectura de Computadores II Clase #6

Arquitectura de Computadores II Clase #6 Arquitectura de Computadores II Clase #6 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Recapitulando: donde estamos? Componentes clásicos de un computador Procesador

Más detalles

Tema 1: Implementación del sistema de archivos

Tema 1: Implementación del sistema de archivos Tema 1: Implementación del sistema de archivos 1. Introducción 2. Implementación 3. Estructura del almacenamiento secundario Dpto. Tema Lenguajes 1: Implementación y Sistemas del Informáticos. sistema

Más detalles

utilizar libros ni un ejemplo tráfico

utilizar libros ni un ejemplo tráfico UNIVERSIDAD CARLOS III DE MADRID INGENIERÍA EN INFORMÁTICA. ARQUITECTURA DE COMPUTADORES II 14 de junio de 2010 Para la realización del presente examen se dispondrá de 2 1/2 horas. NO se podrán utilizar

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 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas

Más detalles

Tema 3. Monitores Programación Concurrente

Tema 3. Monitores Programación Concurrente Tema 3. Monitores Programación Concurrente Depto. de Lenguajes y Sistemas Informáticos Universidad de Granada Contenidos 1. Concepto de Monitor 1.1. Fundamento teórico de los monitores 1.2. Sintaxis de

Más detalles

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. ARQUITECTURAS DE COMPUTADORES 2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. Unidad de E/S 1 Unidad de E/S Indice Introducción.

Más detalles

Introducción a la Entrada/Salida

Introducción a la Entrada/Salida Introducción a la Entrada/Salida Organización de entrada/salida La familia de procesadores 80x86, presente en el IBM PC, utiliza la arquitectura Von Neumann, que puede verse en la figura 1. El denominado

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

1. Introducción 2. Historia 3. Características clave 4. Cuestiones de diseño

1. Introducción 2. Historia 3. Características clave 4. Cuestiones de diseño Tema 1. Introducción a los sistemas distribuidos 1. Introducción 2. Historia 3. Características clave 4. Cuestiones de diseño Tema 1 Introducción a los Sistemas Distribuidos 1 Introducción y objetivos

Más detalles

SISTEMAS OPERATIVOS PROCESOS CONCURRENTES UNIDAD III

SISTEMAS OPERATIVOS PROCESOS CONCURRENTES UNIDAD III SISTEMAS OPERATIVOS PROCESOS CONCURRENTES UNIDAD III Mas Publicaciones Sala de Prensa - Noticias Testimonios Página de Inicio 1 Karen Suzely Sandoval Diaz ID: UB6571SSE13056 INDICE No. Página INTRODUCCIÓN...

Más detalles

INDICE Prologo Capitulo 0. Guía del lector Primera parte: antecedentes Capitulo 1. Introducción a los computadores

INDICE Prologo Capitulo 0. Guía del lector Primera parte: antecedentes Capitulo 1. Introducción a los computadores INDICE Prologo XVII Capitulo 0. Guía del lector 1 0.1. organización del libro 2 0.2. orden de presentación de los temas 3 0.3. recursos en Internet y en la Web 4 Primera parte: antecedentes 7 Capitulo

Más detalles

TEMA 3. GESTIÓN DE MEMORIA

TEMA 3. GESTIÓN DE MEMORIA TEMA 3. GESTIÓN DE MEMORIA 3.1. Introducción 3.2. Memoria virtual 3.2.1. Paginación 3.2.2. Segmentación 3.2.3. Segmentación paginada 3.2.4. Paginación por demanda 3.2.5. Algoritmos de reemplazo de página

Más detalles

Fundamentos de Sistemas Operativos

Fundamentos de Sistemas Operativos Fundamentos de Sistemas Operativos Sistemas Informáticos Fede Pérez Índice TEMA Fundamentos de Sistemas Operativos 1. - Introducción 2. - El Sistema Operativo como parte de un Sistema de Computación 2.1

Más detalles

DEPARTAMENTO DE ELECTRONICA. Microprocesadores 1121060

DEPARTAMENTO DE ELECTRONICA. Microprocesadores 1121060 DEPARTAMENTO DE ELECTRONICA Microprocesadores 1121060 Microprocesadores 1121060 Tema 1. Operación básica de un Microprocesador 1. a los microprocesadores 2. Arquitectura Básica de un microprocesador. 3.

Más detalles

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz Compiladores y Lenguajes de Programación Maria de Guadalupe Cota Ortiz Organizaciones que rigen las normas para estandarización de Lenguajes de Programación IEEE (Instituto de Ingenieros Eléctricos y Electrónicos)

Más detalles

OBJETIVOS DE LA MATERIA... 4 PROGRAMA ANALÍTICO. CONTENIDOS TEÓRICOS Y PRÁCTICOS... 5 BIBLIOGRAFIA... 7

OBJETIVOS DE LA MATERIA... 4 PROGRAMA ANALÍTICO. CONTENIDOS TEÓRICOS Y PRÁCTICOS... 5 BIBLIOGRAFIA... 7 UNIVERSIDAD NACIONAL DE LA MATANZA DEPARTAMENTO DE INGENIERIA E INVESTIGACIONES TECNOLOGICAS INGENIERIA EN INFORMATICA ARQUITECTURA DE COMPUTADORAS (1109) Profesor Titular: Ing. Fernando I. Szklanny PLANIFICACIÓN

Más detalles

Arquitectura de los Ordenadores (Teoría) Final Junio 2008. Mañana Pág 1 APELLIDOS Y NOMBRE GRUPO Nº EXPEDIENTE

Arquitectura de los Ordenadores (Teoría) Final Junio 2008. Mañana Pág 1 APELLIDOS Y NOMBRE GRUPO Nº EXPEDIENTE Arquitectura de los Ordenadores (Teoría) Final Junio 2008. Mañana Pág 1 1).- Dada la estructura de unidades funcionales (FD i : unidades de fetch y decodificación; EJ 1 y EJ 2 : unidades de ejecución de

Más detalles

Nicolás Zarco Arquitectura Avanzada 2 Cuatrimestre 2011

Nicolás Zarco Arquitectura Avanzada 2 Cuatrimestre 2011 Clusters Nicolás Zarco Arquitectura Avanzada 2 Cuatrimestre 2011 Introducción Aplicaciones que requieren: Grandes capacidades de cómputo: Física de partículas, aerodinámica, genómica, etc. Tradicionalmente

Más detalles

UNIVERSIDAD NACIONAL DE INGENIERÍA

UNIVERSIDAD NACIONAL DE INGENIERÍA UNIVERSIDAD NACIONAL DE INGENIERÍA Facultad de Ingeniería Industrial y de Sistemas Escuela Profesional de Ingeniería de Sistemas SÍLABO CURSO: SISTEMAS OPERATIVOS I. INFORMACIÓN GENERAL CODIGO : ST-324

Más detalles

Secciones críticas y exclusión mutua

Secciones críticas y exclusión mutua Secciones críticas y exclusión mutua Lecturas: Andrews, secciones 3.1, 3.2, 3.3, 3.4 Ben-Ari, sección 2.2 Manuel Carro Universidad Politécnica de Madrid Este texto se distribuye bajo los términos de la

Más detalles

Técnicas SuperEscalares en la Paralelización de Bibliotecas de Computación Matricial sobre Procesadores Multinúcleo y GPUs

Técnicas SuperEscalares en la Paralelización de Bibliotecas de Computación Matricial sobre Procesadores Multinúcleo y GPUs Técnicas SuperEscalares en la Paralelización de Bibliotecas de Computación Matricial sobre Procesadores Multinúcleo y GPUs Enrique S. Quintana-Ortí quintana@icc.uji.es High Performance Computing & Architectures

Más detalles

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05 Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco efranco.docencia@gmail.com Estructuras de datos (Prof. Edgardo A. Franco)

Más detalles

El procesador. (mrebollo@dsic.upv.es) Sistemas Informáticos y Computación. Facultad de Administración y Dirección de Empresas

El procesador. (mrebollo@dsic.upv.es) Sistemas Informáticos y Computación. Facultad de Administración y Dirección de Empresas El procesador Apellidos, Nombre Departamento Centro Rebollo Pedruelo, Miguel (mrebollo@dsic.upv.es) Sistemas Informáticos y Computación Facultad de Administración y Dirección de Empresas 1. Resumen El

Más detalles

Sistemas con Microcontroladores y Microprocesadores

Sistemas con Microcontroladores y Microprocesadores Sistemas con Microcontroladores y Microprocesadores Objetivos Al terminar el curso, el estudiante estará capacitado para: 1. Entender funcionalmente cómo trabaja un sistema de computadora: Describir los

Más detalles

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores 7. Memoria Caché 1. Fundamento e Introducción 2. Estructura 3. Políticas de Ubicación 4. Políticas de Sustitución 5. Políticas de Escritura 6. Otras Consideraciones Arquitectura

Más detalles

Tipos de Dispositivos Controladores

Tipos de Dispositivos Controladores Tipos de Dispositivos Controladores PLC Allen Bradley Siemens Schneider OMRON PC & Software LabView Matlab Visual.NET (C++, C#) FPGAS Xilinx Altera Híbridos Procesador + FPGA (altas prestaciones) µcontrolador

Más detalles

Tema 1 Estructuras de interconexión de un computador.

Tema 1 Estructuras de interconexión de un computador. Estructura de Computadores II 1 Tema 1 Estructuras de interconexión de un computador. En el nivel jerárquico superior, un computador consta de la UCP, la memoria y la unidad de E/S. Se puede describir

Más detalles

Multicast con/sin búfer (en el receptor) Semánticas de envío Tipos de multicast

Multicast con/sin búfer (en el receptor) Semánticas de envío Tipos de multicast IPC en Grupo Índice Grupos, tipología, tipos de comunicación y utilidad Soporte de los modos de comunicación MultidifusiónIP Multicast con/sin búfer (en el receptor) Semánticas de envío Tipos de multicast

Más detalles

Exclusión mutua. Gustavo Romero. 14 de febrero de 2014. Arquitectura y Tecnología de Computadores

Exclusión mutua. Gustavo Romero. 14 de febrero de 2014. Arquitectura y Tecnología de Computadores Exclusión mutua Gustavo Romero Arquitectura y Tecnología de Computadores 14 de febrero de 2014 Gustavo Romero Exclusión mutua (1/109) Índice 1 Introducción 2 Usuario 3 Hardware Cerrojos Gestión de interrupciones

Más detalles

Tema 4. Gestión Avanzada de Memoria

Tema 4. Gestión Avanzada de Memoria Departamento de Ingeniería y Tecnología de Computadores Universidad de Murcia Índice 1 El sistema de gestión de memoria 2 Generación de un ejecutable Bibliotecas Formato del ejecutable Mapa de memoria

Más detalles

Arquitectura de un computador

Arquitectura de un computador Arquitectura de un computador Servidores de Información Multimedia 2º Ingeniero de Telecomunicación (Esp. Sonido e Imagen) Departamento de Ingeniería Telemática Universidad Carlos III de Madrid 2 Índice

Más detalles

Contenido TEMA 2 ENTRADA / SALIDA. Interfaz HW: buses del sistema. Interfaz HW de E/S

Contenido TEMA 2 ENTRADA / SALIDA. Interfaz HW: buses del sistema. Interfaz HW de E/S Contenido TEMA ENTRADA / SALIDA Sergio Romero Montiel Depto Arquitectura de Computadores El concepto de interfaz de E/S Direccionamiento de interfaces de E/S Mapa de memoria Organización Mapeada y no mapeada

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

Tema 5 Diseño del Set de Instrucciones (ISA) Arquitectura de Computadoras

Tema 5 Diseño del Set de Instrucciones (ISA) Arquitectura de Computadoras Tema 5 Diseño del Set de Instrucciones (ISA) Arquitectura de Computadoras http://www.herrera.unt.edu.ar/arqcom dcohen@herrera.unt.edu.ar Temario 1. Evolución histórica. 2. Repaso de conceptos importantes.

Más detalles

Un proceso es un programa en ejécución Está formado por:

Un proceso es un programa en ejécución Está formado por: Principios Generales de la Concurrencia CONTENIDO: Concepto de Concurrencia Por qué utilizar la Concurrencia Exclusión Mutua y Sincronización Corrección en Sistemas Concurrentes Consideraciones sobre el

Más detalles

UN MIDDLEWARE DE MEMORIA COMPARTIDA DISTRIBUIDA PARA UN SISTEMA DE REGISTRO E IDENTIFICACIÓN DE PERSONAS

UN MIDDLEWARE DE MEMORIA COMPARTIDA DISTRIBUIDA PARA UN SISTEMA DE REGISTRO E IDENTIFICACIÓN DE PERSONAS UN MIDDLEWARE DE MEMORIA COMPARTIDA DISTRIBUIDA PARA UN SISTEMA DE REGISTRO E IDENTIFICACIÓN DE PERSONAS RESUMEN En este trabajo se describe un sistema distribuido para la identificación de personas y

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

Gestión de Memoria. Curso 2005-2006. AT3148 Ampliación de Sistemas Operativos A. Sánchez-Macián, J.A. Maestro, M.P.

Gestión de Memoria. Curso 2005-2006. AT3148 Ampliación de Sistemas Operativos A. Sánchez-Macián, J.A. Maestro, M.P. Gestión de Memoria Transparencias basadas en el libro de referencia: Sistemas operativos. Una visión aplicada. J. Carretero, F.García, P. de Miguel, F. Pérez. McGraw Hill 2001 Curso 2005-2006 Contenido

Más detalles

ESTRUCTURA DE MICROPROCESADORES

ESTRUCTURA DE MICROPROCESADORES ESTRUCTURA DE MICROPROCESADORES Introducción a la arquitectura i8086 Profesor Ing. Johan Carvajal Godínez AGENDA DE LA CLASE HISTORIA DEFINICIONES ANTECEDENTES MICROCOMPUTADORA INTRODUCCION AL 8086 HISTORIA

Más detalles

Sistemas Distribuidos

Sistemas Distribuidos Objetivos del curso Sistemas Distribuidos Presentar una visión global del estado del arte y los aspectos más novedosos del diseño y construcción de sistemas distribuidos. Desarrollar ejemplos prácticos

Más detalles

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores 5. Sistemas de Entrada/Salida 1. Estructura de un Sistema de E/S 2. Métodos de E/S 3. E/S por sondeo (polling) 4. E/S por interrupciones 5. E/S por Acceso Directo a Memoria

Más detalles

CAPÍTULO 1. CONCEPTOS FUNDAMENTALES

CAPÍTULO 1. CONCEPTOS FUNDAMENTALES CAPÍTULO 1. CONCEPTOS FUNDAMENTALES 1.1 Introducción La idea de programación concurrente siempre estuvo asociada al mundo de los Sistemas Operativos (SSOO). No en vano, los primeros programas concurrentes

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

TEMA 2: DESARROLLO DEL SOFTWARE

TEMA 2: DESARROLLO DEL SOFTWARE TEMA 2: DESARROLLO DEL SOFTWARE EDI I Curso 2007/08 Escuela Politécnica Superior Universidad Autónoma de Madrid TEMA 2: DESARROLLO DEL SOFTWARE 2.1. Ciclo de vida del Software 2.2. Corrección de errores

Más detalles

TEMA 4. Unidades Funcionales del Computador

TEMA 4. Unidades Funcionales del Computador TEMA 4 Unidades Funcionales del Computador Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca Introducción El elemento físico, electrónico o hardware de un sistema

Más detalles

Gestión de Ficheros y Directorios

Gestión de Ficheros y Directorios Gestión de Ficheros y Directorios Transparencias basadas en el libro de referencia: Sistemas operativos. Una visión aplicada. J. Carretero, F.García, P. de Miguel, F. Pérez. McGraw Hill 2001 Curso 2005-2006

Más detalles

Tecnologías y Arquitecturas

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

Más detalles

Tema 6. Gestión de la memoria

Tema 6. Gestión de la memoria Tema 6. Índice Introducción Compartición de memoria Memoria virtual Soporte en los procesadores: la MMU en Linux en Windows NT/2000 1 Tema 6. Introducción Necesidad de la gestión de la memoria Requisitos

Más detalles