Gestión de memoria Gestión de memoria Índice y bibliografía

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

Download "Gestión de memoria Gestión de memoria Índice y bibliografía"

Transcripción

1 Gestión de memoria Arquitectura de Sistemas Paralelos (1) Índice Jerarquía de memoria Memorias cache Gestión de memoria Índice y bibliografía Organización física Organización lógica Optimización Memoria virtual Bibliografía Arquitectura de computadores: Un enfoque cuantitativo, John L. Hennessy y David A. Patterson Organización y arquitectura de computadores, W. Stalling. Arquitectura de Sistemas Paralelos (2)

2 Jerarquía de memoria Introducción Necesidad de grandes cantidades de memoria rápida Diferentes tipos de memorias según los criterios de tamaño, velocidad y coste (tecnología) Principio de localidad: los programas favorecen una parte de su espacio de direcciones Idealmente sería deseable una capacidad indefinidamente grande de memoria tal que cualquier particular palabra estuviese inmediatamente disponible Estamos forzados a reconocer la posibilidad de construir una jerarquía de memorias, cada una de las cuales tenga mayor capacidad que la precedente pero que sea menos rápidamente accesible A.W. Burks, H.H. Goldstine y J. von Neumann, Discusión preliminar del diseño lógico de un instrumento de cálculo electrónico (1946) Arquitectura de Sistemas Paralelos (3) Jerarquía de memoria Principio de localidad Localidad temporal Si se referencia un elemento, éste tenderá a ser referenciado pronto (p.e. bucles) Localidad espacial Si se referencia un elemento, los elementos cercanos a él tenderán a ser referenciado pronto (p.e. tablas) Arquitectura de Sistemas Paralelos (4)

3 Jerarquía de memoria Definición Una jerarquía de memoria es una reacción natural a la localidad y tecnología Una jerarquía en memoria está organizada en varios niveles, cada uno más pequeño, más rápido y más caro por byte que el siguiente Los niveles de la jerarquía están contenidos en el siguiente: todos los datos de un nivel se encuentran también en el nivel siguiente y así sucesivamente hasta que alcancemos el extremo inferior de la jerarquía Arquitectura de Sistemas Paralelos (5) Jerarquía de memoria Conceptos básicos Nivel (level) Bloque o línea (block or line): mínima unidad de información que puede estar presente o no en la jerarquía de dos niveles (tamaño fijo o variable) Acierto/Fallo (hit/miss) Frecuencia de aciertos/fallos (hit rate/miss rate) Tiempo de acierto (hit time) Penalización por fallo (miss penalty) Tiempo de acceso (access time): tiempo para acceder a la primera palabra de un bloque en un fallo Tiempo de transferencia (transfer time): tiempo adicional para transferir las restantes palabras del bloque Nivel superior Nivel inferior Bloques Arquitectura de Sistemas Paralelos (6)

4 Jerarquía de memoria Ejemplo Coste/bit (+) Capacidad (-) Velocidad (+) Frecuencia de accesos (+) Registros procesador Cache Memoria principal Cache de disco Disco magnético CD-DVD Arquitectura de Sistemas Paralelos (7) Jerarquía de memoria Evaluación del rendimiento Tiempo medio de acceso a memoria Tiempo de acceso medio a memoria = Tiempo de acierto + + Frecuencia de fallos*penalización por fallo Influencia de parámetros El tamaño de bloque influye sobre: Penalización por fallo Tiempo de acceso medio a memoria Frecuencia de fallos Arquitectura de Sistemas Paralelos (8)

5 Evaluación del rendimiento Relación entre parámetros Tiempo medio de acceso Tamaño del bloque Penalización por fallo Tiempo de transferencia Tiempo de acceso Frecuencia por fallo Tamaño del bloque Tamaño del bloque Arquitectura de Sistemas Paralelos (9) Jerarquía de memoria Criterios para clasificar los niveles Ubicación de bloque Dónde puede ubicarse un bloque en el nivel superior? Identificación de bloque Cómo se encuentra un bloque si está en el nivel superior? Sustitución de bloque Qué bloque debe reemplazarse en caso de fallo? Estrategia de escritura Qué ocurre en una escritura? Arquitectura de Sistemas Paralelos (10)

6 Memorias cache Introducción Representa el nivel de jerarquía de memoria entre la CPU y la memoria principal Se le pueden aplicar todos los conceptos vistos para la jerarquía de memoria (principio de localidad, terminología, etc.) Algunos datos (década del 90) Arquitectura de Sistemas Paralelos (11) Organización física Memorias cache Arquitecturas Según su ubicación dentro o fuera del chip procesador: internas o externas Según su ubicación con respecto al resto de dispositivos (configuración) Organización lógica Según su estructura interna y funcionamiento: ubicación, identificación, sustitución y escritura Según el tipo de información que contienen: unificadas o separadas Arquitectura de Sistemas Paralelos (12)

7 Arquitecturas de memorias cache Organización física Según su ubicación Caches externas: No se encuentran en el interior del chip del procesador (cache-off-chip) Caches internas: Se encuentran en el propio chip del proceador (cache-on-chip) Según la configuración Configuración en serie (Look-Through Architecutre) Configuración en paralelo (Look-Aside Architecture) Arquitectura de Sistemas Paralelos (13) Organización física según la configuración Configuración en serie CPU Bus local Cache DMA I/O Memoria Bus Ventajas: Si el dato se encuentra en la cache no hay acceso a memoria y no se ocupa el bus Inconvenientes: La cache debe tener 2 interfaces de buses diferentes y el tiempo de acceso es mayor (igual al tiempo de acceso a cache más el tiempo de acceso a memoria principal) Arquitectura de Sistemas Paralelos (14)

8 Organización física según la configuración Configuración en paralelo Cache DMA I/O Memoria Bus CPU Ventajas: Sólo hay una interfaz con el bus y el tiempo de acceso es menor (igual al tiempo de acceso a memoria principal) Inconvenientes: El bus se ocupa en cualquier acceso a memoria, evitando que otros dispositivos puedan acceder a él Arquitectura de Sistemas Paralelos (15) Organización física Ejemplo: Pentium II Arquitectura de Sistemas Paralelos (16)

9 Organización lógica Ubicación de bloque Dónde puede ubicarse un bloque en una cache? Caches de mapeado o correspondencia directa: si cada bloque sólo tiene un lugar donde puede aparecer en la cache (dirección del bloque) MOD (número de bloques en cache) Caches totalmente o completamente asociativas: si cada bloque se puede colocar en cualquier parte de la cache Caches asociativas por conjuntos (asociativas por conjuntos de n vías): si cada bloque se puede colocar en un subconjunto restringido de lugares de la cache (conjunto). Un conjunto es un grupo de dos o más bloques de la cache (dirección del bloque) MOD (número de conjuntos en cache) Arquitectura de Sistemas Paralelos (17) Ubicación de bloque Memoria: 32 bloques Caches: 8 bloques Tres tipos: - Completamente asociativas - De correspondencia directa - Asociativa por conjuntos de 2 vías Arquitectura de Sistemas Paralelos (18)

10 Organización lógica Identificación de bloque Cómo se encuentra un bloque si está en el nivel superior? La dirección se descompone en varios campos: Etiqueta (tag): se utiliza para comparar la dirección requerida por la CPU con aquellos bloques que pueden contener la información deseada (búsqueda en paralelo de etiquetas) Índice (index): se usa para seleccionar el conjunto en el caso de las asociativas por conjunto o el bloque en las de mapeado directo (conjuntos de una vía). No existe para las completamente asociativas Desplazamiento de bloque (block offset): selecciona el dato deseado dentro del bloque Cómo se sabe que un bloque contiene información válida? Mediante el bit de válido (valid bit) Al calcular el coste de las caches hay que incluir el coste debido al almacenamiento de las etiquetas y el de los bits necesarios Arquitectura de Sistemas Paralelos (19) Identificación de bloque Según el tipo de cache (I) En caches de mapeado directo: Etiqueta Índice (Bloque) Desplazamiento En caches asociativas por conjunto: Etiqueta Índice (Conjunto) Desplazamiento En caches completamente asociativas: Etiqueta Desplazamiento Arquitectura de Sistemas Paralelos (20)

11 Identificación de bloque Según el tipo de cache (II) Memoria: 32 bloques Caches: 8 bloques Tres tipos: - Completamente asociativas - De correspondencia directa - Asociativa por conjuntos de 2 vías Arquitectura de Sistemas Paralelos (21) Identificación de bloque Ejemplos Procesador de 16 bits de datos y 24 de direcciones Tamaño de la cache: 8Kb Tamaño de la línea: 8 bytes 1. Cache completamente asociativa 2. Cache asociativa por conjuntos de 4 vías 3. Cache de mapeado directo 1 Etiqueta: 21bits Desplazamiento: 3bits Palabra: 2bits Byte:1bit 2 Etiqueta: 13bits Conjunto: 8bits Desplazamiento: 3bits Palabra: 2bits Byte:1bit 3 Etiqueta: 11bits Bloque: 10bits Desplazamiento: 3bits Palabra: 2bits Byte:1bit Arquitectura de Sistemas Paralelos (22)

12 Identificación de bloque Implementación de caches de mapeado directo Arquitectura de Sistemas Paralelos (23) Identificación de bloque Implementación de caches totalmente asociativas Arquitectura de Sistemas Paralelos (24)

13 Identificación de bloque Implementación de caches asociativas por conjuntos Arquitectura de Sistemas Paralelos (25) Identificación de bloque Ejemplo: VAX-11/780 - Cache asociativa por conjunto de 2 vías - Capacidad de datos: 8Kb - Tamaño de bloque: 8 bytes - Número de conjuntos: 512 Pasos de un acierto: 1) División de la dirección 2) Acceso a ambos bancos 3) Comparación de etiquetas 4) Multiplexación 5) Envío a la CPU Arquitectura de Sistemas Paralelos (26)

14 Organización lógica Políticas de sustitución de bloque (I) Qué bloque debe reemplazarse en caso de fallo? Se pueden seguir diferentes estrategias: Aleatoria (Random): Se elige un bloque al azar FIFO (First Input First Out): Se sustituye el bloque que más tiempo ha estado en la cache LRU (Least Recently Used): Se sustituye el bloque que más tiempo ha estado en la cache sin ser referenciado LFU (Least Frecuently Used): Se sustituye el bloque que menos referencias ha tenido Se tienen en cuenta criterios de coste y eficiencia Los esquemas más utilizados son el aleatorio y el LRU Arquitectura de Sistemas Paralelos (27) Organización lógica Políticas de sustitución de bloque (II) Ejemplo de política LRU (cache de 4 bloques) Dirección Bloque LRU Comparativa de frecuencias de fallos (VAX, 16bytes/bloque) Arquitectura de Sistemas Paralelos (28)

15 Organización lógica Políticas de escritura (I) Qué ocurre en una escritura? Opciones a la hora de escribir en la cache: Escritura directa (Write through): La información se escribe en el bloque de la cache y en el bloque de la memoria de nivel inferior Postescritura (Copy Back): La información se escribe sólo en el bloque de la cache. El bloque modificado de la cache se escribe en la memoria de nivel inferior sólo cuando es reemplazado Los bloques de las caches copy back se denominan sucios o modificados cuando la información de la cache difiere de la memoria de nivel inferior Para reducir la frecuencia de postescrituras en el reemplazo se usa el bit de modificación o sucio (dirty bit): si el bloque está limpio no se escribe en el nivel inferior Cuando una cache es write through, la CPU debe esperar la finalización de cada escritura antes de proceder con la siguiente operación. Para evitarlo se utiliza un buffer de escritura que permite al procesador continuar mientras se actualiza la memoria Arquitectura de Sistemas Paralelos (29) Organización lógica Políticas de escritura (II) Ventajas de las caches copy back: En las caches copy back, las escrituras se realizan a la velocidad de la memoria cache, y múltiples escrituras en un bloque requieren sólo una escritura en la memoria de nivel inferior Como cada escritura no va a memoria, la postescritura utiliza menos ancho de banda (multiprocesadores) Ventajas de las caches write through: En las caches write through, los fallos de lectura no ocasionan escrituras en el nivel inferior Las caches write through son más fáciles de implementar La escritura directa tiene la ventaja también de que la memoria principal tiene la copia más reciente de los datos (coherencia de cache, multiprocesadores y E/S) Arquitectura de Sistemas Paralelos (30)

16 Organización lógica Políticas de escritura (III) Qué ocurre en una escritura? Opciones cuando se produce un fallo de escritura: Ubicar en escritura (Write allocation): El bloque se carga en la cache y a continuación se escribe sobre él (similar a un fallo en lectura) No ubicar en escritura (No write allocatation): El bloque se modifica en el nivel inferior y no se carga en la cache Aunque cualquier política de fallo de escritura puede utilizarse con la escritura directa o con la postescritura, las caches copy back utilizan write allocation (CB-WA) y las write through usan no write allocation (WT-NWA) Arquitectura de Sistemas Paralelos (31) Organización lógica Caches unificadas vs. Caches separadas Caches unificadas o mixtas (unified or mixed): Contienen tanto datos como instrucciones Caches separadas (separated): Existe una cache para datos y otra para instrucciones Ventajas No hay competencia entre el procesador de instrucciones y la unidad de ejecución Duplicación del ancho de bus (puertos separados) Parámetros de diseño (capacidad, tamaños de bloque, asociatividad, etc.) diferentes para instrucciones y datos (optimización) Inconvenientes En general la tasa de fallos global es algo mayor (próxima transparencia): la caches de instrucciones tienen menor frecuencia de fallos que las de datos (localidad) la separación de instrucciones y datos elimina fallos debidos a conflictos pero al dividir también se fija el espacio de cache dedicado a cada tipo No se equilibra la carga de trabajo de forma automática Arquitectura de Sistemas Paralelos (32)

17 Caches unificadas vs. Caches separadas Comparativa (I) Comparativa de frecuencias de fallos (VAX, 16 bytes/bloque, LRU, 2 vías) Ejemplo: Frecuencia de fallos (53% de referencias son instrucciones) En cache unificada de 32Kb: 4.3% En caches separadas de 16Kb: 53%*3.6%+47%*5.3%=4.4% Arquitectura de Sistemas Paralelos (33) Caches unificadas vs. Caches separadas Comparativa (II) Ejemplo: (75% de accesos a instrucción) a) Cache unificada de 32Kb. Penalización: 50 ciclos, Tiempo de acierto para instrucción: 1 ciclo, para datos: 2 ciclos (un solo puerto) b) Caches separadas de 16Kb. Penalización: 50 ciclos, Tiempo de acierto: 1 ciclo Solución: a) T acceso medio =75%*(1+4.3%*50)+25%*(2+4.3*50)= 3.4 ciclos b) T acceso medio =75%*(1+3.6%*50)+25%*(1+5.3%*50)= 2.6 ciclos Arquitectura de Sistemas Paralelos (34)

18 Optimización Cómo mejorar el rendimiento de las caches El objetivo es reducir el tiempo medio de acceso a memoria: Tiempo de acceso medio a memoria = Tiempo de acierto + + Frecuencia de fallos*penalización por fallo Existen tres formas de reducir el tiempo medio de acceso a memoria: Reducir los fallos de la cache (miss rate) Reducir las penalizaciones por fallo (miss penalty) Reducir el tiempo de acceso en caso de acierto (hit time) Arquitectura de Sistemas Paralelos (35) Optimización Reducción de fallos en las caches Existen tres tipos de fallos en una memoria cache: Forzosos (Compulsory): En el primer acceso a un bloque éste no se encuentra en la cache (fallos de arranque en frío o de primera referencia) Capacidad (Capacity): La cache no puede contener todos los bloques necesarios durante la ejecución de un programa Conflicto (Conflict): Diferentes bloques deben ir necesariamente al mismo conjunto o línea cuando la estrategia es asociativa por conjuntos o de correspondencia directa (fallos de colisión) Arquitectura de Sistemas Paralelos (36)

19 Reducción de fallos en las caches Tipos de fallos (I) Arquitectura de Sistemas Paralelos (37) Reducción de fallos en las caches Tipos de fallos (II) Arquitectura de Sistemas Paralelos (38)

20 Reducción de fallos de la cache Técnica: Incremento del tamaño de bloque (I) Incrementar el tamaño de bloque Ventajas: Se reducen los fallos forzosos como sugiere el principio de localidad espacial Inconvenientes: Aumentan los fallos por conflicto al reducirse el número de bloques de la cache y los fallos de capacidad si la cache es pequeña. La penalización por fallo aumenta al incrementarse el tiempo de transferencia del bloque Penalización por fallo Tiempo de transferencia Tiempo de acceso Frecuencia por fallo Tamaño del bloque Arquitectura de Sistemas Paralelos (39) Tamaño del bloque Reducción de fallos de la cache Técnica: Incremento del tamaño de bloque (II) Arquitectura de Sistemas Paralelos (40)

21 Reducción de fallos de la cache Técnica: Incremento del tamaño de bloque (III) Ejemplo: Tiempo de búsqueda = 40CLK Tasa de transferencia= 8bytes/CLK Tiempo de acierto= 1CLK a) Cache de 1Kb con línea de 16bytes b) Cache de 256Kb con línea de 256bytes Solución: a) Tiempo de acceso medio a memoria = %*(40+2)=7.321 ciclos b) Tiempo de acceso medio a memoria = %*(40+32)=1.353 ciclos Arquitectura de Sistemas Paralelos (41) Reducción de fallos de la cache Técnica: Incremento de la asociatividad Aumentar la asociatividad Ventajas: Se reducen los fallos por conflicto Inconveniente: Aumenta el tiempo de acceso medio al incrementarse el tiempo de acierto (multiplexión). También aumenta el coste debidos a los comparadores Cache de mapeado directo (1Kb): tamm= 1+(0.133*50)=7.65 ciclos Cache asociativa por conjuntos de 8 vías (128Kb): tamm= 1.14+(0.006*50)=1.44 ciclos Tiempo medio de acceso a memoria (ciclos) Arquitectura de Sistemas Paralelos (42)

22 Reducción de fallos de la cache Técnica: Cache victima (I) Caches víctimas: Consiste en añadir una pequeña cache totalmente asociativa (1-5 bloques) para almacenar bloques descartados por fallos de capacidad o conflicto. En caso de fallo, antes de acceder a la memoria principal se accede a esta cache. Si el bloque buscado se encuentra en ella se intercambian los bloques de ambas caches Cache víctima de 4 bloques reduce del 20% al 95% los fallos de conflicto en una cache de correspondencia directa de 4Kb (Jouppi 1990) Arquitectura de Sistemas Paralelos (43) Reducción de fallos de la cache Técnica: Cache victima (II) Arquitectura de Sistemas Paralelos (44)

23 Reducción de fallos de la cache Técnica: Cache pseudo-asociativa Caches pseudo-asociativas (o columna asociativa): Consiste en utilizar toda la capacidad de la cache para reubicar algunos bloques extra en bloques que en principio no les pertenece Implementación: Cuando en una cache de correspondencia directa se falla, antes de ir a buscar en la memoria principal puede intentarse en otro bloque (el correspondiente al índice pero con el bit más significativo invertido) del pseudo conjunto Tiempo de acierto Tiempo de pseudo-acierto Tiempo de fallo Arquitectura de Sistemas Paralelos (45) Reducción de fallos de la cache Técnica: Pre-búsqueda hardware de instrucciones y datos Pre-búsqueda hardware de instrucciones y dato: Consiste en que cuando se accede a memoria en caso de fallo no sólo se trae el bloque solicitado sino también los consecutivos, almacenándolos en un buffer. Si en el próximo acceso el bloque se encuentra en el buffer, se cancela el acceso en curso a la cache, se lee el bloque del buffer y comienza una nueva solicitud de pre-búsqueda. En un sistema con caches de datos e instrucciones separadas de 64Kb asociativas de 4 vías, un buffer de 8 bloques eliminan del 50% al 70% de los fallos (Palacharna and Kessler 1994) Arquitectura de Sistemas Paralelos (46)

24 Reducción de fallos de la cache Técnica: Pre-búsqueda controlada por el compilador (I) Pre-búsqueda controlada por el compilador: Otra alternativa consiste en que es el propio compilador el que inserta instrucciones de pre-búsqueda, solicitando datos cuando aún no son necesarios Pre-búsqueda en registro: El valor se almacena en un registro Pre-búsqueda en cache: El valor se almacena en la cache Arquitectura de Sistemas Paralelos (47) Reducción de fallos de la cache Técnica: Pre-búsqueda controlada por el compilador (II) for(i=0;i<3;i++) for(j=0;j<100;j++) a[i][j]=b[j][0]*b[j+1][0]; Fallos de cache = (3*100)/ = 251 for(j=0;j<100;j++){ prefetch(b[j+7][0]); prefetch(a[0][j+7]); a[0][j]=b[j][0]*b[j+1][0];} for(i=1;i<3;i++) for(j=0;j<100;j++){ prefetch(a[i][j+7]); a[i][j]=b[j][0]*b[j+1][0]; a[i][7]... a[i][99] y b[7][0]... b[99][0] pre-buscados Fallos de cache = (3*7)/2 + 8 = 19 (se evitan 232 fallos con 400 instrucciones prefetch) Arquitectura de Sistemas Paralelos (48)

25 Reducción de fallos de la cache Técnica: Optimización del compilador Optimización del compilador: El compilador reordena el código de manera que por la forma en como se hacen los accesos se reducen los fallos de cache Detectando conflictos y reordenando las instrucciones se han reducido los fallos un 50% en una cache de correspondencia directa de 2Kb con bloques de 4 bytes y 75% en una de 8Kb (McFarling 1989) Técnicas: Mejora de la localidad espacial: Mezcla de arrays e Intercambio de bucles Mejora de la localidad temporal: Fusión de bucles y Bloqueado Arquitectura de Sistemas Paralelos (49) Reducción de la penalización por fallo Técnica: Dar prioridad a los fallos de lectura sobre la escritura (I) Dar prioridad a los fallos de lectura sobre la escritura: En la caches WT el buffer de post-escritura mejora el rendimiento pero también complica los accesos a memoria cuando el bloque buscado se encuentra en el buffer (aún no ha sido escrito en memoria) y se produce un fallo en lectura de dicho bloque. Qué hacer? Ejemplo: Una cache de correspondencia directa WT con buffer de post-escritura (conflicto entre las posiciones 512 y 1024) El contenido de R2 y R3 es igual? M[512] R3 -- escritura en buffer R1 M[1024] -- fallo en lectura R2 M[512] -- fallo en lectura (aún no se ha copiado el bloque) -- El fallo en lectura debe esperar a que finalice la escritura Arquitectura de Sistemas Paralelos (50)

26 Reducción de la penalización por fallo Técnica: Dar prioridad a los fallos de lectura sobre la escritura (II) Solución: Para evitar que los fallos en lectura esperen siempre a que el buffer se vacíe (en un buffer de cuatro palabras supone un incremento de la penalización de un 50%) se puede comprobar el contenido del buffer y si no hay conflicto permitir que el fallo en lectura continúe Esta técnica también permite reducir la penalización por fallo en caso de caches CB (escritura del bloque sucio) Arquitectura de Sistemas Paralelos (51) Reducción de la penalización por fallo Técnica: Uso de Sub-bloques Uso de sub-bloques: Cuando las etiquetas son demasiado grandes (ocupan mucho y su comparación es costosa) pueden reducirse haciendo bloques más grandes pero eso aumenta la penalización por fallo (tiempo de transferencia) Para evitarlo pueden dividirse los bloques en sub-bloques y utilizar en vez de un bit de válido tantos como sub-bloques tengamos. Las transferencias son a nivel de sub-bloques Caché de correspondencia directa - Cache por bloques: 16 etiquetas 16 bits de válido - Caches con sub-bloques: 4 etiquetas 16 bits de válido Arquitectura de Sistemas Paralelos (52)

27 Reducción de la penalización por fallo Técnica: Re-arranque rápido y primera palabra crítica Re-arranque rápido y primera palabra crítica: Estas técnicas se basan en el hecho de que en un momento dado la CPU sólo necesita una palabra del bloque para continuar la ejecución Re-arranque rápido (Early restart): Consiste en no esperar a leer todo el bloque sino que en cuanto se haya transferido la palabra solicitada enviarla a la CPU y luego continuar trayendo el bloque Primera palabra crítica (Critical word first): Consiste en solicitar a la memoria sólo la palabra que falló y enviarla tan pronto como llegue a la CPU. Mientras ésta continua con la ejecución, se rellena el resto de palabras del bloque Arquitectura de Sistemas Paralelos (53) Reducción de la penalización por fallo Técnica: Caches no bloqueantes Caches no bloqueantes: Esta técnica se utiliza en máquinas con pipeline ( se verán en el tema de Introducción al Paralelismo). Por ejemplo, es posible continuar la búsqueda de una instrucción en la cache de instrucciones mientras se espera que se traiga un bloque fallido en la cache de datos Arquitectura de Sistemas Paralelos (54)

28 Reducción de la penalización por fallo Técnica: Caches de segundo nivel (I) Caches de segundo nivel: Añadiendo un nivel más en la jerarquía de memoria (L1 y L2) Rendimiento (tiempo medio de acceso a memoria, tmam) tmam=t_acierto L1 +f_fallo L1 *(t_acierto L2 +f_fallo L2 *p_fallo L2 ) Frecuencia de fallos local: número de fallos en la cache dividido por el número total de accesos a esa cache (en L2 es f_ fallo L2 ) Frecuencia de fallos global: número de fallos en la cache dividido por el número total de accesos a memoria generados por la CPU (en L2 es f_fallo L1 *f_fallo L2 ) Ejemplo: 1000 referencias a memoria, 40 fallos en la cache L1 y 20 en la cache L2 Frecuencia de fallos en L1 (tanto local como global) = 40/1000 =4% Frecuencia de fallos local para L2 = 20/40 =50% Frecuencia de fallos global para L2= 20/1000=2% (4%*50%) Arquitectura de Sistemas Paralelos (55) Reducción de la penalización por fallo Técnica: Caches de segundo nivel (II) Frecuencia de fallo vs. Tamaño de cache (escalas lineal y logarítmica) Cache de un único nivel: single cache miss rate Cache de dos niveles: (primer nivel: 32Kb) local miss rate global miss rate Arquitectura de Sistemas Paralelos (56)

29 Reducción de la penalización por fallo Técnica: Caches de segundo nivel (III) Ejemplo Cuál es el impacto de la asociatividad de la cache de segundo nivel sobre la penalización? Datos: Un grado de asociatividad 2 incrementa el tiempo de acierto en un 10% Tiempo de acierto de L2 para cache de mapeado directo = 10 ciclos Frecuencia de fallos local de L2 para cache de mapeado directo = 25% Frecuencia de fallos local de L2 para cache asociativa de 2 vías = 20% Penalización por fallo de L2 = 50 ciclos Solución P_fallo 1-vía-L1 =10+25%*50=22,5 ciclos P_fallo 2-vías-L1 = %*50=20.1 ciclos El segundo nivel de cache debe estar sincronizado con el primero (t_acierto=10 o 11 ciclos) Arquitectura de Sistemas Paralelos (57) Reducción del tiempo acierto Técnica: caches pequeñas y simples Caches pequeñas y simples: Buena parte del tiempo de acierto se dedica a leer y comparar las etiquetas Las caches pequeñas (on-chip) permiten tiempos de acierto reducidos pero poca capacidad. Una posible solución: etiquetas onchip y datos off-chip En las caches de correspondencia directa (simples) la comprobación de la etiqueta y el acceso al dato se hace a la vez En el primer nivel de cache se utilizan caches pequeñas y simples Arquitectura de Sistemas Paralelos (58)

30 Reducción del tiempo acierto Técnica: Evitar la traducción de direcciones Evitar la traducción de direcciones durante la indexación de la cache: Consiste en almacenar direcciones virtuales ( se verá en el apartado de Memoria Virtual) en la cache, evitando así la traducción de direcciones virtuales a físicas en caso de acierto (Caches virtuales vs. Caches físicas) Arquitectura de Sistemas Paralelos (59) Reducción del tiempo acierto Técnica: Escrituras en pipeline para aciertos en escritura rápidos Escrituras en pipeline para aciertos en escritura rápidos: Consiste en crear un pipeline ( se verán en el tema de Introducción al Paralelismo) para las operaciones de escritura, de manera que la escritura actual se hace solapada en el tiempo con la comparación de etiquetas de la escritura siguiente. Las operaciones de lectura no son parte de este pipeline pues la comparación de etiquetas y la lectura del bloque se hacen siempre en paralelo Arquitectura de Sistemas Paralelos (60)

31 Memoria virtual Objetivos Los objetivos de la memoria virtual son: Permitir a los programas usar más memoria de la disponible físicamente. Se gestiona automáticamente los dos niveles de la jerarquía de memoria representada por la memoria principal y la secundaria, liberando al programador de esta tarea (origen histórico)... se ha inventado un sistema para hacer que la combinación de tambores de núcleos magnéticos parezca al programador como un simple nivel de almacenamiento, realizando automáticamente las transferencias precisas Kilburn y cols. [1962] Compartir una misma memoria física entre diferentes procesos con su propio espacio de direcciones (sistemas multitarea). Sería muy costoso dedicar una memoria de tamaño igual al espacio total de direcciones a cada proceso. Se requiere un esquema de protección Arquitectura de Sistemas Paralelos (61) Memoria virtual Definiciones (I) Página/Marco (page) o segmento (segment): en los términos definidos para la jerarquía de memoria es un bloque Fallo de página (page fault) o de dirección (address fault): en los términos definidos para la jerarquía de memoria es un fallo Direcciones virtuales: son las direcciones que genera la CPU Direcciones físicas: son las direcciones que atacan a la memoria principal Correspondencia de memoria (memory mapping)o traducción de direcciones (address translation): el proceso (software/hardware) para traducir las direcciones virtuales a direcciones físicas Niveles de la jerarquía controlados por la memoria virtual: Memoria RAM y disco duro Arquitectura de Sistemas Paralelos (62)

32 Memoria virtual Definiciones (II) Direcciones virtuales 0 4K 8K 12K A B C D Memoria virtual Traducción de direcciones C A B Memoria principal Direcciones físicas 0 4K 8K 12K 16K 20K 24K 28K Página Fallo de página Arquitectura de Sistemas Paralelos (63) D Disco Memoria virtual Diferencias entre cache y memoria virtual (I) El reemplazo en los fallos de cache está controlado principalmente por hardware, mientras que el reemplazo en memoria virtual está controlador principalmente por el sistema operativo El tamaño de la dirección del procesador determina el tamaño de la memoria virtual, pero el tamaño de la cache es normalmente independiente de la dirección del procesador Además de actuar como memoria de más bajo nivel para la memoria principal en la jerarquía, la memoria secundaria se utiliza para el sistema de ficheros que normalmente no es parte del espacio de direcciones Arquitectura de Sistemas Paralelos (64)

33 Memoria virtual Diferencias entre cache y memoria virtual (II) Parámetro Primer nivel de cache Memoria virtual Tamaño de bloque Tiempo de acierto Penalización por fallo: Tiempo de acceso Tiempo de transferencia Frecuencia de fallo Tamaño de la memoria bytes 1-2 ciclos de reloj ciclos de reloj 2-60 ciclos de reloj 2-40 ciclos de reloj % 0,0016-1Mb ciclos de reloj ciclos de reloj ciclos de reloj ciclos de reloj % Mb Arquitectura de Sistemas Paralelos (65) Memoria virtual Paginación vs. Segmentación (I) En los sistemas de memoria virtual los bloques pueden ser: de tamaño fijo: Página (ligado al hardware) de tamaño variable: Segmento (ligado al proceso) Cuando el bloque es de tamaño fijo se habla de paginación y cuando es variable de segmentación Lo más habitual es utilizar la paginación pues es más sencilla de implementar (direccionamiento, política de reemplazo, etc.) Hay soluciones híbridas: segmentación paginada en la que un segmento es un número entero de páginas (la política de reemplazo es más sencilla, pues no se necesita que la memoria sea contigua ni que los segmentos completos estén en memoria principal) Arquitectura de Sistemas Paralelos (66)

34 Memoria virtual Paginación vs. Segmentación (II) Arquitectura de Sistemas Paralelos (67) Paginación vs. Segmentación (III) Fragmentación Fragmentación externa (Segmentación) Proceso1 Proceso1 Proceso2 Proceso1 Proceso2 Proceso3 Proceso1 Proceso3 Fragmentación externa (Paginación) Página Fragmentación interna Arquitectura de Sistemas Paralelos (68)... Marco1 Marco2... Proceso1 Proceso4 Proceso3 Fragmentación externa Solución: Compresión (muy costosa) Tiempo Influencia del tamaño de página a) Pagina grande: Mayor eficiencia en la transferencia b) Página pequeña: Menor fragmentación y menor tiempo de arranque

35 Memoria virtual Ubicación de bloque en paginación Dónde puede ubicarse un bloque en memoria principal? Los sistemas operativos permiten que los bloques se coloquen en cualquier parte de la memoria principal (totalmente asociativa) Al ser muy alta la penalización por fallo en la memoria virtual, los diseñadores de S.O. optan por reducir la frecuencia de fallos en vez de utilizar un algoritmo de ubicación más sencillo Arquitectura de Sistemas Paralelos (69) Memoria virtual Identificación de bloque en paginación Cómo se encuentra un bloque si está en memoria principal? La dirección virtual se descompone en dos campos: número de página virtual y desplazamiento de página La dirección física se obtiene concatenando simplemente la dirección física de la página con el desplazamiento de página Se utiliza una estructura de datos (tabla de páginas) que contiene la dirección física de la página y es indexada por la dirección virtual Arquitectura de Sistemas Paralelos (70)

36 Identificación de bloque en paginación Correspondencia entre dirección virtual y física Arquitectura de Sistemas Paralelos (71) Memoria virtual Sustitución de bloque en paginación Qué bloque debería sustituirse en un fallo de memoria virtual? Con objeto de minimizar los fallos de página, se intenta sustituir la página que menos recientemente ha sido usada (LRU) Implementación de una política LRU: Muchas máquinas proporcionan un bit de uso o bit de referencia para cada página, que se pone a uno siempre que dicha página es accedida. El S.O. borra periódicamente los bits de uso y más tarde los registra para poder determinar qué páginas fueron accedidas durante un periodo de tiempo determinado. De esta manera, el S.O. puede seleccionar una página que se encuentre entre la menos recientemente referenciadas Arquitectura de Sistemas Paralelos (72)

37 Memoria virtual Política de escritura en paginación Qué ocurre en una escritura? La estrategia de escritura es siempre la post-escritura (write back) debido a la gran diferencia que existe entre los tiempos de acceso en uno y otro nivel Los sistemas de memoria virtual incluyen un bit de modificado o sucio (dirty) para que sólo los bloques que han sido alterados desde que se cargaron sean escritos en la memoria secundaria Arquitectura de Sistemas Paralelos (73) Memoria virtual Tabla de páginas (I) Permite traducir direcciones virtuales a direcciones físicas Está indexada por el número de página virtual y contiene la dirección física de la página. Se requiere un bit de válido para indicar que la entrada contiene un página física válida (se encuentra en memoria principal y no se produce fallo de página) El tamaño de la tabla de páginas es inversamente proporcional al tamaño de página Las tablas de páginas son habitualmente tan grandes que se almacenan en memoria principal y, con frecuencia, paginadas ellas mismas: se requiere un acceso a memoria para obtener la dirección física y otro para obtener el dato Bits de control: válido, uso, sucio, permiso lectura y permiso escritura Optimización: Jerarquía de tablas de página, técnicas hashing (tablas de páginas invertidas) y Buffer de Traducción Anticipada (TLB) Arquitectura de Sistemas Paralelos (74)

38 Memoria virtual Tabla de páginas (II) Ejemplo: Dirección virtual de 28 bits, páginas de 4Kb y 4 bytes/entrada (256Mb/4Kb)*4 = 256Kb Arquitectura de Sistemas Paralelos (75) Memoria virtual Buffer de traducción anticipada o TLB (I) De nuevo el principio de localidad: Si las referencias tienen localidad entonces la traducción de direcciones también debe tener localidad El buffer de traducción anticipada (translation-lookaside buffer) o TLB es una cache, habitualmente totalmente asociativa o asociativa por conjuntos, cuyas entradas contienen: en la parte de la etiqueta, el número de página virtual (o parte) y en la parte del dato, el número de página física y los bits de control Un tamaño de página mayor hace que más memoria pueda estar mapeada con una entrada, por lo que se reduce el numero de fallos en la TLB Hay TLBs unificadas y separadas (datos e instrucciones) Tamaño de bloque Tiempo de acierto Penalización de fallos Frecuencia de fallos Tamaño TLB 4-8 bytes (una entrada de tabla de página) 1 ciclo de reloj ciclos de reloj 0.1%-0.2% Valores típicos de parámetros Arquitectura de Sistemas Paralelos (76)

39 Memoria virtual Buffer de traducción anticipada o TLB (II) Arquitectura de Sistemas Paralelos (77) Buffer de traducción anticipada o TLB (III) Ejemplo: TLB del VAX-11/780 Tamaño de página de 512bytes Entrada de TP de 4bytes TLB de 512bytes asociativa por conjuntos de 2 vías Pasos: 1: Envío del índice de la dirección virtual 2: Comprobación de válido y tipo de acceso a memoria 3: Comparación de etiquetas 4: Envío de la dirección física a través del multiplexor 5: Combinación del número y desplazamiento de página Arquitectura de Sistemas Paralelos (78)

40 Buffer de traducción anticipada o TLB (IV) TLB y cache Cuando se combinan caches y memoria virtual, la dirección virtual debe ser traducida a una dirección física mediante la TLB antes de que pueda acceder a la cache (elevado tiempo de acierto) Una forma de reducir el tiempo de acierto es: acceder a la cache únicamente con el desplazamiento de página (no necesita ser traducido) y mientras se están leyendo las etiquetas de dirección de la cache, el número de página virtual es enviado a la TLB para ser traducido como la TLB es habitualmente más pequeña y rápida que la memoria de etiquetas de la cache, la lectura de la TLB puede hacerse de forma simultánea a la lectura de la memoria de etiquetas sin ralentizar los tiempos de acierto de la cache después la comparación de direcciones se realiza entre la dirección física de la TLB y la etiqueta de la cache Inconveniente: una cache de correspondencia directa no puede ser mayor que una página Otra alternativa es utilizar caches virtuales (transparencia 59) Arquitectura de Sistemas Paralelos (79)

Reducción de la penalización por fallo Técnica: Dar prioridad a los fallos de lectura sobre la escritura (I)

Reducción de la penalización por fallo Técnica: Dar prioridad a los fallos de lectura sobre la escritura (I) Reducción de la penalización por fallo Técnica: Dar prioridad a los fallos de lectura sobre la escritura (I) Dar prioridad a los fallos de lectura sobre la escritura: En la caches WT el buffer de post-escritura

Más detalles

Organización lógica Identificación de bloque

Organización lógica Identificación de bloque Cómo se encuentra un bloque si está en el nivel superior? La dirección se descompone en varios campos: Etiqueta (tag): se utiliza para comparar la dirección requerida por la CPU con aquellos bloques que

Más detalles

Caches unificadas vs. Caches separadas Comparativa (I)

Caches unificadas vs. Caches separadas Comparativa (I) Caches unificadas vs. Caches separadas Comparativa (I) Comparativa de frecuencias de fallos (VAX, 16 bytes/bloque, LRU, 2 vías) Ejemplo: Frecuencia de fallos (53% de referencias son instrucciones) En cache

Más detalles

Memoria virtual Ubicación de bloque en paginación

Memoria virtual Ubicación de bloque en paginación Ubicación de bloque en paginación Dónde puede ubicarse un bloque en memoria principal? Los sistemas operativos permiten que los bloques se coloquen en cualquier parte de la memoria principal (totalmente

Más detalles

Gestión de memoria Profesores y tutorías

Gestión de memoria Profesores y tutorías Teoría: Gestión de memoria Profesores y tutorías Raouf Senhadji Navarro Despacho: F062 Horario de tutorías: Lunes y miércoles de 12:00h a 13:30h y martes y jueves de 16:00h a 17:30h Prácticas y problemas:

Más detalles

Profesores y Horarios de Tutorías Temas 3 y 4. Daniel Cascado Caballero Lourdes Miró Amarante

Profesores y Horarios de Tutorías Temas 3 y 4. Daniel Cascado Caballero Lourdes Miró Amarante Profesores y Horarios de Tutorías Temas 3 y 4 Teoría: Daniel Cascado Caballero (danic@atc.us.es) Despacho: F070 Lourdes Miró Amarante (lmiro@atc.us.es) Despacho: F061 Horario de tutorías: Martes: 11:00h

Más detalles

Microprocesadores para comunicaciones. Escuela Técnica Superior de Ingenieros de Telecomunicación. Organización y estructura de las memorias caché

Microprocesadores para comunicaciones. Escuela Técnica Superior de Ingenieros de Telecomunicación. Organización y estructura de las memorias caché Microprocesadores para comunicaciones Escuela Técnica Superior de Ingenieros de Telecomunicación Organización y estructura de las memorias caché Índice Introducción Niveles de jerarquía de memoria Principio

Más detalles

UNIDAD TEM ATICA 3: ACELERACI ON DEL ACCESO A MEMORIA.

UNIDAD TEM ATICA 3: ACELERACI ON DEL ACCESO A MEMORIA. UNIDAD TEMÁTICA 3: ACELERACIÓN DEL ACCESO A MEMORIA. 10. Evaluación de las prestaciones del subsistema de memoria. 11. Mejora de las prestaciones de las antememorias. 12. Mejora de las prestaciones de

Más detalles

Ejercicios del tema 5. Jerarquía de de Memoria

Ejercicios del tema 5. Jerarquía de de Memoria Ejercicios del tema 5. Jerarquía de de Memoria Ejercicio 1. Considere un computador de 32 bits con una caché de 64 KB asociativa por conjuntos de 4 vías y un tiempo de acceso de 4 ns. El tamaño de la línea

Más detalles

Tema 6: Memoria virtual. Óscar David Robles Sánchez Sofía Bayona Beriso David Miraut Andrés Luis Rincón Córcoles

Tema 6: Memoria virtual. Óscar David Robles Sánchez Sofía Bayona Beriso David Miraut Andrés Luis Rincón Córcoles Tema 6: Memoria virtual Óscar David Robles Sánchez Sofía Bayona Beriso David Miraut Andrés Luis Rincón Córcoles Contenidos Introducción. Localización de páginas. Fallos de página. TLB. Gestión de fallos

Más detalles

Introducción a memorias cache

Introducción a memorias cache Introducción a memorias cache Lección 6 Ing. Cristina Murillo Miranda Arquitectura de Sistemas Embebidos Programa de Maestría en Electrónica Énfasis en Sistemas Embebidos Escuela de Ingeniería en Electrónica

Más detalles

Arquitectura de Computadoras

Arquitectura de Computadoras Arquitectura de Computadoras Clase 7 Memoria Sistema de Memoria Los programadores desean acceder a cantidades ilimitadas de memoria rápida!! Solución práctica: Jerarquía de memoria organizada en niveles

Más detalles

Sistema de memoria. Introducción

Sistema de memoria. Introducción Sistema de memoria Introducción Memorias de acceso aleatorio: Apropiadas para la memorización a largo plazo de programas. Grandes y lentas. Organización: n: líneas de direcciones. m: tamaño de palabra.

Más detalles

Tema 6: Sistema de memoria

Tema 6: Sistema de memoria Tema 6: Sistema de memoria Introducción Jerarquía del sistema de memorias Memoria principal Memoria entrelazada Memoria cache Políticas de ubicación Políticas de extracción Políticas de reemplazo Políticas

Más detalles

Introducción. Universidad de Sonora Arquitectura de Computadoras 2

Introducción. Universidad de Sonora Arquitectura de Computadoras 2 Memoria virtual Introducción Memoria virtual es un mecanismo que permite que la memoria principal parezca mas grande que su tamaño físico. Permite ejecutar programas mas grandes que la memoria física disponible.

Más detalles

Memoria caché básica

Memoria caché básica Memoria caché básica 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 ARCOS Departamento de Informática

Más detalles

Introducción a la Computación. Capitulo 4 Memoria Cache

Introducción a la Computación. Capitulo 4 Memoria Cache Introducción a la Computación Capitulo 4 Memoria Cache Características generales Ubicación Capacidad Unidad de transferencia Método de Acceso Prestaciones Dispositivo Físico Características Físicas Organización

Más detalles

Diseño de la jerarquía de memoria

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

Más detalles

Memoria. Organización de memorias estáticas.

Memoria. Organización de memorias estáticas. Memoria 1 Memoria Organización de memorias estáticas. 2 Memoria En memoria físicas con bus de datos sea bidireccional. 3 Memoria Decodificación en dos niveles. 4 Necesidad de cantidades ilimitadas de memoria

Más detalles

Memoria Cache. Departamento de Arquitectura de Computadores

Memoria Cache. Departamento de Arquitectura de Computadores Memoria Cache Departamento de Arquitectura de Computadores Índice Introducción. Conceptos básicos Características de los sistemas de memoria Jerarquías de memoria Memoria Principal Características físicas

Más detalles

Memoria Virtual. Ing. Jorge Castro-Godínez

Memoria Virtual. Ing. Jorge Castro-Godínez Memoria Virtual Lección 7 Ing. Jorge Castro-Godínez MT7003 Microprocesadores y Microcontroladores Área de Ingeniería Mecatrónica Instituto Tecnológico de Costa Rica I Semestre 2014 Jorge Castro-Godínez

Más detalles

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

Sistema Cache. Técnicas Digitales III Ing. Gustavo Nudelman Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Sistema Cache Técnicas Digitales III Ing. Gustavo Nudelman 2012 RAM dinámica Almacena un bit como una capacidad espuria en un transistor La necesidad de conservar la carga y la lectura destructiva obliga

Más detalles

Organización de Computadoras. Clase 10

Organización de Computadoras. Clase 10 Organización de Computadoras Clase 10 Temas de Clase Memoria Cache Memoria Externa Notas de Clase 10 2 Memoria Caché Históricamente CPU han sido más rápidas que las memorias. El aumento de circuitos que

Más detalles

Trabajo Práctico Número 6

Trabajo Práctico Número 6 Página 1 de 6 Trabajo Práctico Número 6 Arquitectura de Computadoras 24/05/2014 Instrucciones Los problemas de ejercitación propuestos en el presente trabajo práctico pueden ser resueltos en forma individual

Más detalles

Tema 5. El Sistema de Memoria

Tema 5. El Sistema de Memoria Tema 5. Arquitectura de Computadores Curso 2009-2010 Índice Transparencia: 2 / 38 Características del sistema de memoria Memoria principal y entrelazado de memoria Jerarquía del sistema de memorias Principios

Más detalles

Memoria Virtual. Memoria Virtual

Memoria Virtual. Memoria Virtual Memoria Virtual DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE 2008 Memoria Virtual Define la relación entre memoria principal y memoria secundaria Permite crear la ilusión de una memoria principal de

Más detalles

Introducción. Universidad de Sonora Arquitectura de Computadoras 2

Introducción. Universidad de Sonora Arquitectura de Computadoras 2 Memoria virtual Introducción Memoria virtual es un mecanismo que permite que la memoria principal parezca mas grande que su tamaño físico. Permite ejecutar programas mas grandes que la memoria física disponible.

Más detalles

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

Aspectos avanzados de arquitectura de computadoras Jerarquía de Memoria II. Facultad de Ingeniería - Universidad de la República Curso 2017 Aspectos avanzados de arquitectura de computadoras Jerarquía de Memoria II Facultad de Ingeniería - Universidad de la República Curso 2017 Técnicas Básicas (1/5) Mayor Tamaño de Caché Mejora obvia: Aumentar

Más detalles

Arquitectura de Computadores II Clase #7

Arquitectura de Computadores II Clase #7 Arquitectura de Computadores II Clase #7 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2009 Veremos Memoria virtual Resumen de ideas para mejorar performance 1 Recordemos:

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

PRINCIPIOS GENERALES DE JERARQUÍA DE MEMORIA

PRINCIPIOS GENERALES DE JERARQUÍA DE MEMORIA PRINCIPIOS GENERALES DE JERARQUÍA DE MEMORIA REGULARIDADES EN LOS ACCESOS A MEMORIA PRINCIPIO DE LOCALIDAD - ESPACIAL: Si se referencia un elemento, los elementos cercanos a él se volverán a referenciar

Más detalles

Memoria Virtual. Memoria Virtual

Memoria Virtual. Memoria Virtual Memoria Virtual Es el nivel de la jerarquía que maneja la cache entre memoria principal y memoria secundaria. Permite que los programas se expandan más allá de los límites de la memoria principal. Permite

Más detalles

Memoria virtual Ejercicios resueltos

Memoria virtual Ejercicios resueltos Memoria virtual Ejercicios resueltos Ejercicio 1. Sea un computador de 20 bits con memoria virtual paginada con páginas de 1 KB y un total de memoria física de 256 KB. Se pide, de forma razonada y breve:

Más detalles

Tema II. Unidad de memoria

Tema II. Unidad de memoria Tema II Unidad de memoria 2 Unidad de memoria 2.1 Definiciones y conceptos básicos 2.1.1 Localización 2.1.2 Capacidad 2.1.3 Unidad de transferencia 2.1.4 Método de acceso 2.1.5 Tipos físicos 2.1.6 Características

Más detalles

JERARQUÍAS DE MEMORIA

JERARQUÍAS DE MEMORIA JERARQUÍAS DE MEMORIA Organización de Computadoras Facultad de Ingeniería Universidad de Buenos Aires 10/09/2017 1 Introducción Grande y rápida: Explotando la Jeraquía de Memoria 2 Que significan todos

Más detalles

Organización del Computador 1 Memoria Cache

Organización del Computador 1 Memoria Cache Organización del Computador 1 Memoria Cache Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 2011 Memorias: Evolución Memoria cache Pioneros: Maurice Wilkes

Más detalles

Arquitectura de Computadoras para Ingeniería

Arquitectura de Computadoras para Ingeniería Arquitectura de Computadoras para Ingeniería (Cód. 7526) 1 Cuatrimestre 2016 Dra. Dana K. Urribarri DCIC - UNS Dana K. Urribarri AC 2016 1 Memoria cache (continuación) Dana K. Urribarri AC 2016 2 Memoria

Más detalles

EJERCICIOS DEL TEMA 4

EJERCICIOS DEL TEMA 4 Computación de Altas Prestaciones 1 EJERCICIOS DEL TEMA 4 SISTEMAS MULTIPROCESADOR (MEMORIA COMPARTIDA) 1. Se diseña un procesador con un único nivel de memoria caché con tasa de fallos del 6% y tamaño

Más detalles

Memoria y caché. Organización del Computador I, verano de 2016

Memoria y caché. Organización del Computador I, verano de 2016 Organización del Computador I, verano de 2016 (2) El problema que nos ocupa hoy Tiempos de acceso en ciclos: Registro: 0-1 ciclos. Memoria: 50-200 ciclos. Disco: decenas de millones de ciclos. Dicho de

Más detalles

Memoria Virtual. Departamento de Arquitectura de Computadores

Memoria Virtual. Departamento de Arquitectura de Computadores Memoria Virtual Departamento de Arquitectura de Computadores Índice Introducción. Conceptos básicos Características de los sistemas de memoria Jerarquías de memoria Memoria Principal Características físicas

Más detalles

Arquitectura de Computadores II Clase #7

Arquitectura de Computadores II Clase #7 Arquitectura de Computadores II Clase #7 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Memoria virtual 1 Recordemos: Jerarquía de Memoria Registros Instr.

Más detalles

Arquitectura de Computadores II Clase #7

Arquitectura de Computadores II Clase #7 Arquitectura de Computadores II Clase #7 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Memoria virtual Recordemos: Jerarquía de Memoria Nivel Superior Registros

Más detalles

Tema 13. Memoria cache

Tema 13. Memoria cache 1 Estructura y Tecnología de Computadores F. El subsistema de memoria Tema 13. Memoria cache José Manuel Mendías Cuadros Dpto.. Arquitectura de Computadores y Automática Universidad Complutense de Madrid

Más detalles

TEMA 2. ORGANIZACIONES DE FICHEROS Y ESTRUCTURAS DE ACCESO

TEMA 2. ORGANIZACIONES DE FICHEROS Y ESTRUCTURAS DE ACCESO TEMA 2. ORGANIZACIONES DE FICHEROS Y ESTRUCTURAS DE ACCESO 1. Introducción 2. Conceptos fundamentales de organizaciones de ficheros 3. Dispositivos de almacenamiento secundario 4. Ficheros desordenados

Más detalles

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda Tipos de Dispositivos ENTRADA-SALIDA 1. Dispositivos de Bloque: Almacena información en bloques de tamaño fijo (512b hasta 32Kb) Se puede leer o escribir un bloque en forma independiente 2. Dispositivos

Más detalles

Tutorías con Grupos Reducidos (TGR) Parte 5: Memoria Virtual

Tutorías con Grupos Reducidos (TGR) Parte 5: Memoria Virtual Tutorías con Grupos Reducidos (TGR) Parte 5: Memoria Virtual ESTRUCTURA DE COMPUTADORES Grupo de Arquitectura de Computadores (GAC) Dyer Rolán García (GAC) Memoria Virtual Curso 20/202 / 43 Índice Introducción

Más detalles

Memoria. Otros temas sobre cachés

Memoria. Otros temas sobre cachés Memoria Otros temas sobre cachés Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias de reemplazo de bloque. 3. Cachés multinivel. Universidad de Sonora Arquitectura de Computadoras 2 Localizando

Más detalles

Trabajo Práctico Número 6 Arquitectura de Computadoras

Trabajo Práctico Número 6 Arquitectura de Computadoras Trabajo Práctico Número 6 Arquitectura de Computadoras http://www.herrera.unt.edu.ar/arqcom De qué trataba este TP? Memoria caché: Políticas de escritura: write-back, write-through Métricas de performance:

Más detalles

GESTION DE LA MEMORIA

GESTION DE LA MEMORIA GESTION DE LA MEMORIA SISTEMAS OPERATIVOS Generalidades La memoria es una amplia tabla de datos, cada uno de los cuales con su propia dirección Tanto el tamaño de la tabla (memoria), como el de los datos

Más detalles

Clase Práctica Memoria Caché

Clase Práctica Memoria Caché Organización del Computador 1 Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 26 de Octubre de 2010 Clase Práctica Memoria Caché Qué es la memoria caché? En el sentido general, un

Más detalles

Tema II. Unidad de memoria

Tema II. Unidad de memoria Tema II Unidad de memoria 2.1 Definiciones y conceptos básicos. 2.2 Jerarquía de memorias. 2.3 Memorias de semiconductor. 2.4 Memorias asociativas. 2.5 Memoria caché. 2.6 Discos magnéticos. 2.1 Definiciones

Más detalles

Manejo de Entrada-Salida. Arquitectura de Computadoras

Manejo de Entrada-Salida. Arquitectura de Computadoras Manejo de Entrada-Salida Arquitectura de Computadoras Agenda 1.2.3.1Módulos de entrada/salida. 1.2.3.2Entrada/salida programada. 1.2.3.3Entrada/salida mediante interrupciones. 1.2.3.4Acceso directo a memoria.

Más detalles

Sistemas Electrónicos Digitales

Sistemas Electrónicos Digitales Sistemas Electrónicos Digitales Universidad de Alcalá Curso Académico 2014/2015 Curso 3º Cuatrimestre 1º Ejercicio 1 Se dispone de chips de EEPROM de 2Kx8. Realice la ampliación a 8Kx8 manteniendo una

Más detalles

Miss rate vs. Tamaño de bloque En general el MR baja cuando se aumenta el tamaño del bloque.

Miss rate vs. Tamaño de bloque En general el MR baja cuando se aumenta el tamaño del bloque. Miss rate vs. Tamaño de bloque En general el MR baja cuando se aumenta el tamaño del bloque. Ejemplo, bloque de una palabra vs bloque de cuatro palabras. Existe una relación casi directa entre el aumento

Más detalles

QUÉ ES LA MEMORIA CACHÉ?

QUÉ ES LA MEMORIA CACHÉ? QUÉ ES LA MEMORIA CACHÉ? Es una memoria de acceso rápido que se encuentra entre la CPU y la MEMORIA PRINCIPAL El ser pequeña y rápida es muy útil para acceder a datos o instrucciones recientemente accedidas

Más detalles

Miss rate vs. Tamaño de bloque En general el MR baja cuando se aumenta el tamaño del bloque.

Miss rate vs. Tamaño de bloque En general el MR baja cuando se aumenta el tamaño del bloque. Miss rate vs. Tamaño de bloque En general el MR baja cuando se aumenta el tamaño del bloque. Ejemplo, bloque de una palabra vs bloque de cuatro palabras. Existe una relación casi directa entre el aumento

Más detalles

ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1

ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1 7.- Un memoria tiene 16 Mbytes de capacidad con palabras de 32 bits y trabaja con una memoria caché de 256 Kb dividida en 256 bloques agrupados en conjuntos de 2. a. Cuántos bits hay en cada uno de los

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 Memoria Virtual Dana K. Urribarri AC 2016 2 Memoria Virtual Arquitectura 32 bits:

Más detalles

Ing. Carlos Bacalla Página 1 de 5

Ing. Carlos Bacalla Página 1 de 5 Memoria Caché 1. Introducción Ante la inmensa velocidad de los procesadores que a medida del tiempo se va incrementando, el límite es mayor entre la transferencia de la memoria principal (RAM) y el CPU;

Más detalles

Universidad de Sonora Arquitectura de Computadoras 2

Universidad de Sonora Arquitectura de Computadoras 2 Memoria Cachés Introducción Caché es el nivel de memoria situada entre el procesador y la memoria principal. Se comenzaron a usar a fines de los años 60s. Hoy en día, todas la computadoras incluyen cachés.

Más detalles

Area Académica: Sistemas Computacionales. Tema: Elementos de diseño de memoria caché

Area Académica: Sistemas Computacionales. Tema: Elementos de diseño de memoria caché Area Académica: Sistemas Computacionales Tema: Elementos de diseño de memoria caché Profesor: Raúl Hernández Palacios Periodo: 2011 Keywords: Memory, cache memory. Tema: Elementos de diseño de memoria

Más detalles

Memoria. Otros temas sobre cachés

Memoria. Otros temas sobre cachés Memoria Otros temas sobre cachés Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias de reemplazo de bloque. 3. Cachés multinivel. Universidad de Sonora Arquitectura de Computadoras 2 Localizando

Más detalles

Jerarquía de Memoria Memoria Cache

Jerarquía de Memoria Memoria Cache Jerarquía de Memoria Memoria Cache Marcelo Tosini - Elías Todorovich Arquitectura I - Curso 2017 Arqui1-UNICEN Introducción Los programas comparten en la memoria tanto su código como sus datos. Estrategia

Más detalles

LECCIÓN 1. DISEÑO DE SISTEMAS DE MEMORIA

LECCIÓN 1. DISEÑO DE SISTEMAS DE MEMORIA SISTEMAS DE MEMORIA DEL COMPUTADOR LECCIÓN 1. DISEÑO DE SISTEMAS DE MEMORIA Departamento de Informática. Curso 2005-2006 1 CARACTERÍSTICAS GENERALES DE LA MEMORIA (I) Capacidad : Mide la cantidad de información

Más detalles

Memoria Caché. Organización de Computadoras Universidad Nacional de Quilmes

Memoria Caché. Organización de Computadoras Universidad Nacional de Quilmes Memoria Caché Organización de Computadoras Universidad Nacional de Quilmes Durante la ejecución de un programa se accede a memoria con un criterio que no es aleatorio, pero tampoco absolutamente predecible.

Más detalles

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos Sistema Operativo Repaso de Estructura de Computadores Capítulo 1 Explota los recursos hardware de uno o más procesadores Proporciona un conjunto de servicios a los usuarios del sistema Gestiona la memoria

Más detalles

TEMA 11: MEJORA DE LAS PRESTACIONES DE LAS CACHE.

TEMA 11: MEJORA DE LAS PRESTACIONES DE LAS CACHE. TEMA 11: MEJORA DE LAS PRESTACIONES DE LAS CACHE. 1. Introducción. 2. Mejora de la penalización por fallo. 3. Mejora de la tasa de fallos. 4. Mejora de la tasa de fallos y penalización por fallo mediante

Más detalles

Organización de computadoras. Clase 11. Universidad Nacional de Quilmes. Lic. Martínez Federico

Organización de computadoras. Clase 11. Universidad Nacional de Quilmes. Lic. Martínez Federico Organización de computadoras Clase 11 Universidad Nacional de Quilmes Lic. Martínez Federico Qué vimos? Mascaras Qué vimos? Qué vimos? Mascaras Repeticiones controladas Qué vimos? Mascaras Repeticiones

Más detalles

Jerarquía de memoria - Motivación

Jerarquía de memoria - Motivación Jerarquía de memoria - Motivación Idealmente uno podría desear una capacidad de memoria infinitamente grande, tal que cualquier. palabra podría estar inmediatamente disponible Estamos forzados a reconocer

Más detalles

Sistemas Operativos. Iván Bernal, Ph.D. 4. Escuela Politécnica Nacional I.

Sistemas Operativos. Iván Bernal, Ph.D. 4. Escuela Politécnica Nacional   I. Sistemas Operativos Clase # 26 Administración de Memoria Martes, 22 de Octubre de 2002 Agenda Administración de Memoria: Paginación Iván Bernal, Ph.D. Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec

Más detalles

Optimizaciones avanzadas de memoria caché

Optimizaciones avanzadas de memoria caché de memoria caché 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 ARCOS Departamento de Informática

Más detalles

Práctica final. Emilia Cruz Fernández Martínez

Práctica final. Emilia Cruz Fernández Martínez Guadalinex Práctica final Curso 2003/2004 Emilia Cruz Fernández Martínez Desarrollo de una unidad didáctica usando software libre ELEMENTOS FUNCIONALES DE UN ORDENADOR Qué es un ordenador? Es un dispositivo

Más detalles

Sistemas Operativos. Trabajo Práctico N ō 6

Sistemas Operativos. Trabajo Práctico N ō 6 Departamento de Ciencias e Ingeniería de la Computación Ingeniería en Computación Ingeniería en Sistemas de Información Sistemas Operativos Segundo Cuatrimestre de 2017 Trabajo Práctico N ō 6 1. Problemas

Más detalles

Universidad de Los Andes Escuela de Ingeniería de Sistemas Departamento de Computación Arquitectura de Computadores. Clase 24

Universidad de Los Andes Escuela de Ingeniería de Sistemas Departamento de Computación Arquitectura de Computadores. Clase 24 Universidad de Los Andes Escuela de Ingeniería de Sistemas Departamento de Computación Arquitectura de Computadores Clase 24 Semestre B-2010 Ícaro Alzuru C. AGENDA Memoria Virtual Memory Management Unit

Más detalles

PROBLEMAS TEMA 1: Estructuras de interconexión de un computador

PROBLEMAS TEMA 1: Estructuras de interconexión de un computador PROBLEMAS TEMA 1: Estructuras de interconexión de un computador Problemas propuestos en examen PROBLEMA 1. Una CPU que emplea un tamaño de palabra de 16 bits tiene un repertorio de 16 instrucciones con

Más detalles

Capítulo 4 Memoria virtual

Capítulo 4 Memoria virtual Capítulo 4 Memoria virtual Cómo la memoria virtual se mapea a la memoria física. La memoria virtual es una técnica de gestión de la memoria que permite que el sistema operativo disponga, tanto para el

Más detalles

Organización del Computador I. Memoria Cache. Autor: Alejandro Furfaro

Organización del Computador I. Memoria Cache. Autor: Alejandro Furfaro Organización del Computador I Memoria Cache 1 Memorias: Evolución Pioneros: Maurcice Wilkes con la primer memoria de tanque de mercurio para la computadora EDSAC. 2 bytes: 1947. Visionarios. "640K debe

Más detalles

Organización del Computador. Memorias

Organización del Computador. Memorias Organización del Computador Memorias Jerarquía de las memorias Jerarquía de memorias en un Pentium Métricas de las memorias Capacidad de almacenamiento: en bytes o múltiplos (kb, MB, TB) Tiempo de acceso:

Más detalles

Manejo de Entrada-Salida. Arquitectura de Computadoras

Manejo de Entrada-Salida. Arquitectura de Computadoras Manejo de Entrada-Salida Arquitectura de Computadoras Agenda 1.2.3.1Módulos de entrada/salida. 1.2.3.2Entrada/salida programada. 1.2.3.3Entrada/salida mediante interrupciones. 1.2.3.4Acceso directo a memoria.

Más detalles

En el entorno de la informática, proporciona una descripción de la construcción y distribución física de los componentes de la computadora.

En el entorno de la informática, proporciona una descripción de la construcción y distribución física de los componentes de la computadora. Concepto de computadora: Máquina electrónica rápida y exacta que es capaz de aceptar datos a través de un medio de entrada (input), procesarlos automáticamente bajo el control de un programa previamente

Más detalles

Diagrama a bloques de una computadora

Diagrama a bloques de una computadora Diagrama a bloques de una computadora Memoria Primaria Bus de Datos Bus de Dato s Bus de Direccione s Procesador Bus de Direcciones Memoria Secundaria Unidad de Control ALU Bus Interno Registros Bus de

Más detalles

Subsistemas de memoria. Departamento de Arquitectura de Computadores

Subsistemas de memoria. Departamento de Arquitectura de Computadores Subsistemas de memoria Departamento de Arquitectura de Computadores Índice Introducción. Conceptos básicos Características de los sistemas de memoria Jerarquías de memoria Memoria Principal Características

Más detalles

Tema 5. El sistema de memoria

Tema 5. El sistema de memoria Soluciones a los problemas impares Tema 5. Arquitectura de Computadores Curso 009-010 Tema 5: Hoja: / 36 Tema 5: Hoja: 3 / 36 Base teórica es el lugar donde residen los programas y datos ya que según la

Más detalles

ESTRUCTURA DE COMPUTADORES

ESTRUCTURA DE COMPUTADORES ESTRUCTURA DE COMPUTADORES AUTOEVALUACIÓN Tema 0 1. Cuál es el elemento dominante de una operación AND? Y de una O? 2. Para la representación de números binarios con signo qué ventajas tiene el complemento

Más detalles

DIAGRAMA A BLOQUES DE UNA COMPUTADORA

DIAGRAMA A BLOQUES DE UNA COMPUTADORA DIAGRAMA A BLOQUES DE UNA COMPUTADORA BUS DE DATOS: Interconecta los dispositivos de entrada/salida, la memoria RAM y el CPU. BUS DE DIRECCIONES: Se utiliza para direccional las localidades de memoria

Más detalles

Mapa de memoria. memoria CACHÉ

Mapa de memoria. memoria CACHÉ Mapa de memoria memoria CACHÉ Miguel Ángel Asensio Hernández, Profesor de Electrónica de Comunicaciones. Departamento de Electrónica, I.E.S. Emérita Augusta. 06800 MÉRIDA. Segmentación de la memoria Estructuración

Más detalles

Organización del Computador I. Memoria Cache. Autor: Alejandro Furfaro

Organización del Computador I. Memoria Cache. Autor: Alejandro Furfaro Organización del Computador I Memoria Cache Autor: Alejandro Furfaro - 2006 1 Memorias: Evolución Pioneros: Maurcice Wilkes con la primer memoria de tanque de mercurio para la computadora EDSAC. 2 bytes:

Más detalles

POWER PC. Indice ARQUITECTURA DE COMPUTADORES. Antonio del Amo Ruiz. 1. Introducción. 2. Tecnología RISC. 3. Arquitectura de la CPU Power PC

POWER PC. Indice ARQUITECTURA DE COMPUTADORES. Antonio del Amo Ruiz. 1. Introducción. 2. Tecnología RISC. 3. Arquitectura de la CPU Power PC ARQUITECTURA DE COMPUTADORES POWER PC Antonio del Amo Ruiz 1. Introducción 2. Tecnología RISC Indice 3. Arquitectura de la CPU Power PC 4. Modelos del Power PC 5. Comparación entre Power PC, Pentium y

Más detalles

Sistemas de memoria. Conceptos básicos. Memoria caché. Memoria principal. Memoria virtual. Jerarquía de memoria. Estructura de computadores 2

Sistemas de memoria. Conceptos básicos. Memoria caché. Memoria principal. Memoria virtual. Jerarquía de memoria. Estructura de computadores 2 Sistemas de memoria Conceptos básicos Jerarquía de memoria Memoria caché Memoria virtual Memoria principal Memoria caché Conceptos generales Operación de un sistema caché Rendimiento caché Fuentes de fallos

Más detalles

Basado en S.O. de William Stallings / 5ed. y S.O. de Jesús Carretero (y otros). Universidad Simón Bolívar

Basado en S.O. de William Stallings / 5ed. y S.O. de Jesús Carretero (y otros). Universidad Simón Bolívar Departamento de Electrónica y Circuitos EC3731 Arquitectura del Computador II Prof. Osberth De Castro Prof. Juan C. Regidor Necesidades de memoria en S.O. La multiprogramación requiere la convivencia de

Más detalles

La solución es colocar un memoria más pequeña y rápida entre la CPU y la memoria principal.

La solución es colocar un memoria más pequeña y rápida entre la CPU y la memoria principal. Lo ideal sería hacer la memoria principal con la misma tecnología que los registros internos de la CPU por su gran velocidad. Esto no es posible por su elevado coste. La solución es colocar un memoria

Más detalles

Arquitectura de Computadores Problemas (hoja 4). Curso

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

Más detalles

Introducción a la seguridad en redes IP

Introducción a la seguridad en redes IP Introducción a la seguridad en redes IP Tabla de Contenidos 1. Introducción a la seguridad en redes IP... 2 1.1 Funcionamiento de TCP e IP... 2 Interfaces de protocolo... 3 1.2 El protocolo Internet...

Más detalles

Memoria Caché. Algorítmo de Mapeo Directo

Memoria Caché. Algorítmo de Mapeo Directo Algorítmo de Mapeo Directo Antecedentes Uno de los principales problemas con la arquitectura de computadoras Von Neumann es que la memoria principal generalmente es considerablemente más lenta que el procesador;

Más detalles

Sistemas Operativos. Curso 2016 Administración de memoria II

Sistemas Operativos. Curso 2016 Administración de memoria II Sistemas Operativos Curso 2016 Administración de memoria II Agenda Memoria Virtual. Paginación. Segmentación. Segmentación con paginación. Sistemas Operativos Curso 2016 Administración de memoria II 2/35

Más detalles

Facultad de Ingeniería Industrial y de Sistemas v2.0 MA781U MEMORIA VIRTUAL

Facultad de Ingeniería Industrial y de Sistemas v2.0 MA781U MEMORIA VIRTUAL MEMORIA VIRTUAL Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen Para un aprovechamiento eficiente del CPU y los recursos de E/S se requiere mantener en el sistema operativo la mayor

Más detalles

Memoria virtual. 6. La: memoria. Fundamentos de Computadores Ingeniería de Telecomunicación. Departamento de Automática Escuela Politécnica Superior

Memoria virtual. 6. La: memoria. Fundamentos de Computadores Ingeniería de Telecomunicación. Departamento de Automática Escuela Politécnica Superior 6. La: memoria Fundamentos de Computadores Ingeniería de Telecomunicación Raúl Durán Díaz Departamento de Automática Escuela Politécnica Superior Curso académico 2009 2010 Raúl Durán Díaz 6. La: memoria

Más detalles