Estructura y Tecnolología de Ordenadores

Slides:



Advertisements
Presentaciones similares
Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.
Advertisements

GESTION DE MEMORIA.
III - Gestión de memoria
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
Administración de memoria
Organización y arquitectura de sistemas de memoria
III - Gestión de memoria
Multiprocesadores 3.1 Dominios de aplicación
Memoria Cache.
Arquitectura de Computadores I
3.4.- Administración de Memoria Virtual.
Microprocesadores para comunicaciones Escuela Técnica Superior de Ingenieros de Telecomunicación Organización y estructura de las memorias caché.
Prof. José Díaz Chow (Xdc.)
Introducción a los Sistemas Operativos Memoria Virtual
Departamento de Ingeniería de Sistemas Universidad de Antioquia
Departamento de Ingeniería de Sistemas Universidad de Antioquia
MEMORIA 1.
SISTEMAS DE MEMORIA DEL COMPUTADOR
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Windows XP sp3.
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
Algorítmo de Mapeo Directo
Memoria cache.
INTEGRANTES MEDINA ORTIZ MISSAEL MARTIN GONZALEZ MADRIGAL OMAR
Su objetivo es conseguir el rendimiento de una memoria de gran velocidad al costo de una memoria de baja velocidad Los puntos básicos relacionados con.
Teoría de Sistemas Operativos
Gustavo Andrés Uribe Gómez
Direcciones físicas y direcciones virtuales (lógicas)
Arquitectura del Computador
TRADUCTOR DE UN PROGRAMA
Tema 10: Gestión de Memoria
Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.
Simulador didáctico de jerarquías de memoria
UNIDAD IV ADMINISTRACIÓN DE SISTEMAS CONCEPTOS DE GESTIÓN Y ALMACENAMIENTO.
Estructura y Tecnolología de Ordenadores
Estructura y Tecnología de Ordenadores Noviembre 2004.
Administración de Memoria Memoria Virtual
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
JERARQUIA DE LA MEMORIA
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Overview Sistemas Computacionales
Asignación de Espacio No Contiguo
Soporte HW para Administración de Memoria Cecilia Hernández
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 19 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Capítulo 7 Gestión de memoria.
Administración de Memoria no contigua
Organización del Computador
Programa del Curso Fundamentos del Diseño de Computador. Fundamentos del Diseño de Computador. Arquitectura del Conjunto de Instrucciones (Revisión). Arquitectura.
Organización del Computador
Memoria virtual.
Memoria Principal Memoria de acceso aleatorio. La unidad de memoria y jerarquías de almacenamiento Unidades de Almacenamiento. La unidad de memoria es.
Gestión de Memoria.
Introducción a los SOs.
Organización del Computador I Verano Memoria Virtual Basado en el capítulo 7 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.
Organización del Computador I Verano Jerarquía de Memoria Basado en el capítulo 7 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Tema 5: Multiprocesadores
Estructura de los Sistemas Operativos
UNIDAD CENTRAL DE PROCESO
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 20 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Gestión de memoria Rina Arauz.
Memoria Virtual Msc. Rina Arauz.
INGENIERIA EN SISTEMAS FUNDAMENTOS DE COMPUTACION
Unidad de transferencia de memoria
Universidad Metropolitana Introducción a la Computación Universidad Metropolitana Introducción a la Computación Septiembre, 2007 Arquitectura Von Newman.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Memoria Virtual Concepto Paginado bajo demanda Performance del Paginado bajo.
Gestión de Memoria – Parte 2
Arquitectura de Computadores Clase 18 Memoria Caché: Fundamentos IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
Arquitectura de Computadores Clase 17 Tecnologías de Memorias IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de.
NOMBRE: SONIA IDROBO GRADO: 11 COMPUTACION PROFESOR: IGNACION REALPE.
Arquitectura de Computadores
Transcripción de la presentación:

Estructura y Tecnolología de Ordenadores Memoria Caché Estructura y Tecnolología de Ordenadores

Tema 3: Jerarquía de Memoria: Memoria Caché y Memoria Virtual Definición de memoria caché Estrategias de Mapeado: Directo, Asociativo y Asociativo por conjunto Algoritmos de reemplazamiento: FIFO, LRU, Aleatorio Coherencia del caché. Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Hemos visto…. Jerarquías de memoria CPU CPU D I Cache L2 cache RAM RAM disco disco red Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Terminología básica bloque El nivel superior -el más cercano al procesador es mas rápido y pequeño que el nivel inferior. Mínima unidad de información en una jerarquía de dos niveles bloque Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Memoria Caché Para usos normales, a partir de 1 MB (1024 Kb) la caché resulta ineficaz, e incluso pudiera llegar a ralentizar el funcionamiento del ordenador. El tamaño idóneo depende del de la RAM Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Ejemplo: Pentium II/III tienen 32 Kb de caché interna, y 512 Kb de caché externa al encapsulado del microchip (L2, en este caso de dos chips). Funciona a una frecuencia que es la mitad de la del micro (es decir, a 133, 150 MHz o más), mientras que la caché externa clásica funciona a la de la placa base (de 50 a 66 MHz en los Pentium y 100 MHz en los AMD K6-2). Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Ejemplo I CPU Memoria Caché L2 Pentium, K5, K6 Externa, en la placa base Pentium Pro Interna, en la CPU Pentium II, Athlon Externa, en un módulo cercano a la CPU Celeron (1ra generación) Ninguna Celeron (generaciones posteriores), Pentium III, 4, Duron, Athlon XP Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Ejemplo II Procesadores mas comunes y sus memorias caché CPU Caché L1 Caché L2 Celeron 32 KB 128 KB Duron 64 KB Athlon XP 512 KB Pentium 4 20 KB 256 KB Pentium 4 “Northwood” Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Hemos visto…. Ley de localidad todo programa favorece una parte de su espacio de direcciones en cualquier instante de tiempo. 2 dimensiones: Localidad temporal (tiempo). Si se referencia un elemento tenderá a ser referenciado pronto. Localidad espacial (espacio). Si se referencia un elemento, los elementos cercanos a él tenderán a ser referenciados pronto. Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Terminología básica (1) Mapa de Memoria: espacio direccionable (2n) Acierto (hit) : un acceso a un bloque de memoria que se encuentra en el nivel superior Fallo (miss) : el bloque no se encuentra en ese nivel Frecuencia de aciertos : fracción de accesos a memoria encontrados en el nivel superior Frecuencia de fallos (1 - frecuencia de aciertos) : fracción de accesos a memoria no encontrados en el nivel superior Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Terminología básica (2) Tiempo de acierto : tiempo necesario para acceder a un dato presente en el nivel superior de la jerarquía incluye el tiempo necesario para saber si el acceso es un acierto o un fallo Penalización de fallo : tiempo necesario para sustituir un bloque de nivel superior por el correspondiente bloque de nivel más bajo, más el tiempo necesario para proporcionar este bloque al dispositivo que lo solicito (generalmente la CPU). Estructura y Tecnología de Ordenadores ETSII- ULL 2004

relacionado con la latencia del nivel más bajo Penalización de fallo... 2 componentes: tiempo de acceso : tiempo necesario para acceder a la primera palabra de un bloque en un fallo relacionado con la latencia del nivel más bajo tiempo de transferencia : tiempo para transferir las restantes palabras del bloque relacionado con el ancho de banda entre las memoria de nivel más bajo y más alto. Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Cómo se pasan las direcciones entre la jerarquía de memorias? Ubicación del bloque Dónde puede ubicarse un bloque en el nivel superior? Identificación del bloque Cómo se encuentra un bloque en el nivel superior? Sustitución de bloque Qué bloque debe reemplazarse en caso de fallo? Estrategia de escritura Qué ocurre en una escritura? Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Entonces el diseño de la memoria caché ha de resolver los siguientes problemas: MIGRACIÓN: ¿Qué objetos migran de la memoria principal a la cache? IDENTIFICACIÓN: ¿Cómo se busca una palabra en la cache? UBICACIÓN: ¿En que marco de línea se puede almacenar cada línea? EXTRACCIÓN: ¿Qué líneas se copian a la cache y cuándo? REEMPLAZO: ¿Qué información debe desalojarse para almacenar una nueva línea producto de un fallo? ESCRITURA: ¿Cómo se tratan las escrituras? Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Migración La política que cumplen todas las caches es la de migrar bloques de información de tamaño fijo que se denominan “líneas”. Por ello se considera dividida la memoria principal en líneas y la cache en marcos de línea. Las líneas suelen tener un tamaño de 2v palabras. La dirección de la línea se obtiene eliminando los v bits menos significativos de la dirección de la palabra. Valores típicos de v=1,2, 3 o 4 Esto da líneas de 2, 4, 8 o 16 palabras. Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Identificación de un bloque de cache (línea) Dirección de memoria 0 1 1 0 1 0 1 1 Bloque de datos etiqueta Bloque de Cache (MARCO) Hit comparador Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Ubicación de un bloque en la cache (marco) correspondencia directa cada bloque debe ir solamente en un lugar dentro de la cache asociativa un bloque puede ubicarse en cualquier lugar de la cache asociativa por conjuntos un bloque puede ser colocado en un grupo restringido de lugares de la cache un conjunto es un grupo de dos o más marcos (bloques) de la cache Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Ecuaciones de ubicación de bloques (marcos) correspondencia directa ubicación = dirección (x) mod (m) marcos asociativa ubicación = cualquiera asociativa por conjuntos ubicación = dirección (x) mod (m) conj. Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Ejemplo cache de 8 bloques (marcos) memoria de 32 celdas. cache asociativa por conjuntos tiene 4 conjuntos de 2 bloques c/u Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Ejemplo Estructura de la Caché: Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Ejemplo de Caché: DECStation 3100 Procesador MIPS R2000 Segmentación similar a la vista Cada ciclo de reloj solicita (velocidad máxima): Una palabra de instrucción y una de datos Posee dos Cachés: Instrucciones y datos 16 Kbloques (Bloque = 1 palabra) Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Ejemplo de Caché:DECStation 3100 Pasos para una petición de lectura 1. Enviar dirección a la caché adecuada Del PC (Instrucciones) De la salida de la ALU (Datos) 2. Si hay acierto toma I ó D Si hay fallo envía dirección a MP y lo escribimos en la Caché Pasos y problemas de escritura en Caché (Datos) Formas de mantener la coherencia: Escritura directa (write-through), Postescritura (write-back) DECStation utiliza escritura directa 1. Indexa la Caché utilizando los bits 15-2 2. Escribir en la palabra de la Caché Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Ejemplo 1 Proceso de acceso a la caché en un ejemplo Contenido de la Caché Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Ejemplo 2 Dirección de bloque Bloque de cache (0 modulo 4) = 0 6 (0 modulo 4) = 0 6 (6 modulo 4) = 2 8 (8 modulo 4) = 0 Dirección de bloque de memoria accedido Acierto o fallo Contenido de la cache después de la referencia 1 2 3 Fallo Memoria [0] 8 Memoria [8] 6 Memoria [6] Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Dirección de bloque de memoria accedido Acierto o fallo Conjunto de la cache (0 modulo 2) = 0 6 (6 modulo 2) = 2 8 (8 modulo 2) = 0 Dirección de bloque de memoria accedido Acierto o fallo Contenido de la cache después de la referencia 1 2 3 Fallo Memoria [0] 8 Memoria [8] Acierto 6 Memoria [6] Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Dirección de bloque de memoria accedido Acierto o fallo Contenido de la cache después de la referencia 1 2 3 Fallo Memoria [0] 8 Memoria [8] Acierto 6 Memoria [6] Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Identificación La memoria cache se divide en 2r conjuntos Cada conjunto tiene m marcos de línea (2 y 4) Una línea se ubica en el conjunto x mod 2r Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Identificación Nos quedamos con los r bits menos significativos de la dirección x Estos r bits menos significativos de la dirección identifican el conjunto donde debe ubicarse la línea Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Ejemplo MP de 228 bytes Organizada en: palabras de 4 bytes Líneas de 16 palabras – 24 La cache tiene 28 - 256 conjuntos asociativos de 2 marcos cada uno Los 2 bits menos significativos identifican el byte Los 4 bits siguientes la palabra Los 8 bits siguientes el conjunto La dirección de la línea, formada por 28-4-2= 22 bits, se divide en: 8 bits menos significativos – conjunto 22-8 = 14 bits restantes- etiqueta Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Ejemplo (parte 1) Caché de 512 bytes dividida en bloques de 16 bytes (32 bloques) La caché está, a su vez, agrupada en 8 conjuntos de 4 bloques cada uno (4 vías). 1 2 3 4 5 6 7 El nivel inferior es una RAM de 16 Kbytes. Entonces tiene 1024 bloques de 16 bytes cada uno 1 . . . . . . . . . . . . . . . . . . . . . . . . 1023 Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Ejemplo (parte 2) Si la dirección que necesita la CPU es 9000 entonces: bloque = 9000 DIV 16 = 562 desplaz = 9000 MOD 16 = 8 En la caché irá en el conjunto: conjunto = 562 MOD 8 = 2 y el valor de la etiqueta será: etiqueta = 562 DIV 8 = 70 70 2 8 etiqueta indice desplazamiento Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Ejemplo (parte 3) 1000110 010 1000 en binario sería: 9000 = 1000 1100 101 000 Como el bloque es de 16 bytes, el desplazamiento lo dan los 4 últimos bits desplazamiento = 1000 ( = 8) dir. est. bloque = 1000 1100 10 Como la caché es de 8 conjuntos, entonces, el MOD 8 representa los últimos 3 bits de la dirección de estructura de bloque. Entonces: indice = 010 ( = 2) etiqueta = 1000 110 ( = 70) 1000110 010 1000 etiqueta indice desplazamiento Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Extracción Determina qué líneas se transfieren a la cache y cuando. Existen dos técnicas: Extracción por demanda Extracción por anticipación Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Extracción Por demanda: se transfiere una línea a la caché cuando hay un fallo Cuando la palabra pedida NO está en la caché Por anticipación: se aprovecha la proximidad secuencial trayendo líneas antes que se produzcan fallos Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Extracción por anticipación Alternativas Traer la línea j+1 cuando se accede a una palabra de la línea j (siempre que NO este) Cuando se produce un fallo en la línea j, se traen las líneas j y j+1 La línea j+1 se marca como anticipada Son exitosas en las caches de instrucciones por la gran proximidad secuencial Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Reemplazo Cuando se ha producido un fallo de acceso en la cache se procede a obtener la línea afectada de la memoria principal y almacenarla en la cache. Sabemos que se almacenará en el conjunto que le corresponda por su dirección, pero ¿dónde se debe almacenar la nueva línea? Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Reemplazo de bloques (marcos) Ante un fallo de cache es necesario traer un bloque nuevo y ubicarlo en algún lugar del nivel superior Si existe algún bloque de cache con datos no válidos, el reemplazo se hace en ese lugar Debido a la alta frecuencia de aciertos de la cache es necesario tomar estrategias de reemplazo Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Reemplazo de bloques (marcos) Si la cache es de mapeo directo no hay problema, ya que el nuevo bloque puede ir en un solo lugar En caso de caches asociativas el bloque puede ubicarse en diferentes lugares. Estrategias: reemplazo aleatorio reemplazo pseudo aleatorio LRU (menos recientemente usado) Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Reemplazo de bloques (marcos) Aleatorio : se selecciona aleatoriamente uno de los m marcos del conjunto afectado (mediante algún mecanismo de hardware) . FIFO (First in First out): se elimina la línea que lleva más tiempo almacenada en el conjunto. Cada marco debe incluir unos bits de antigüedad. LRU (Least recently used): se elimina la línea que lleva más tiempo sin ser utilizada. Se guarda unos bits de utilización que se actualizan con cada acceso al conjunto. Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Notas La estrategia aleatoria es sencilla de construir en hardware Cuando el número de bloques a gestionar aumenta, la estrategia LRU se convierte es muy cara frecuentemente se utiliza una aproximación de ésta La política de reemplazo juega un papel más importante en las caches más pequeñas que en las más grandes donde hay más opciones para sustituir. Asociatividad 2 vías 4 vías 8 vías tamaño LRU aleatorio LRU aleatorio LRU aleatorio 16 Kb 5.18% 5.69% 4.67% 5.29% 4.39% 4.96% 64 Kb 1.88% 2.01% 1.54% 1.66% 1.39% 1.53% 256 Kb 1.15% 1.17% 1.17% 1.13% 1.12% 1.12% Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Más notas…. Coherencia: ¿qué ocurre si un dato de la caché se modifica? En tal caso se produce una inconsistencia entre los contenidos memoria caché y memoria principal Problema grave en sistemas multiprocesador Estrategias de actualización: Write back Write through También cabe considerar las estrategias de sustitución de líneas de caché cuando existen varias vías por conjunto Normalmente se emplean cachés separadas para instrucciones y para datos Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Estrategias de escritura Políticas de escritura: Escritura directa (Write Through): la información se escribe en el bloque de cache y también en el bloque de memoria de nivel inferior. Postescritura (Write Back): la información se escribe solo en el bloque de la cache. La línea en la que se ha escrito se dice que esta sucia (dirty bit). El bloque modificado de la cache se escribe en memoria principal sólo cuando es reemplazado. Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Ventajas de cada política Escritura directa los fallos de lectura no ocasionan escrituras en el nivel inferior más fácil de implementar que el anterior mantiene siempre coherente la memoria cache y la memoria inferior (útil en sistemas multiproceso en los que varias CPU's acceden simultáneamente a los datos) Postescritura las escrituras se realizan a velocidad de la cache múltiples escrituras de un bloque requieren una única escritura en la memoria de nivel inferior Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Fallos de escritura El fallo se produce cuando se intenta escribir una palabra de un bloque que no está en la cache políticas Ubicar en escritura : el bloque se carga en la cache, seguido de las acciones anteriores de acierto de escritura. Esto es similar a un fallo de lectura. No ubicar en escritura : el bloque se modifica en el nivel inferior y no se carga en la cache. Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Rendimiento de la cache Tiempo de CPU ciclos de reloj de ejecución del programa ciclos de reloj de espera al sistema de memoria TCPU = (ciclos ejecución-CPU + ciclos detención-memoria) * Tciclo de reloj Ejecución de instrucciones aciertos de cache Accesos a memoria RAM penalizaciones de fallo Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Rendimiento de la cache TCPU = (ciclos ejecución-CPU + ciclos detención-memoria) * Tciclo de reloj Con : ciclos detención-memoria = accesos memoria * PF * FF programa Factorizando el recuento de instrucciones: TCPU = IC * (CPIejecución + accesos-memoria * FF * PF) * Tciclo instrucción Estructura y Tecnología de Ordenadores ETSII- ULL 2004

Tipos de fallos de cache Forzosos : el primer acceso a un bloque no está en la cache; así que el bloque debe ser traído a la misma. Estos también se denominan fallos de arranque en frío o de primera referencia. Capacidad : si la cache no puede contener todos los bloques necesarios durante la ejecución de un programa, se presentarán fallos de capacidad debido a los bloques que se descartan y luego se recuperan. Conflicto : si la estrategia de ubicación es asociativa por conjuntos o de mapeo directo, estos fallos ocurrirán, ya que se puede descartar un bloque y posteriormente recuperarlo si a un conjunto le corresponden demasiados bloques. Estructura y Tecnología de Ordenadores ETSII- ULL 2004