Otros temas sobre cachés

Slides:



Advertisements
Presentaciones similares
III - Gestión de memoria
Advertisements

Memoria Cache.
Arquitectura de Computadores I
Microprocesadores para comunicaciones Escuela Técnica Superior de Ingenieros de Telecomunicación Organización y estructura de las memorias caché.
Algoritmos de Remplazamiento de Paginas
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
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
Memoria cache.
Memoria Virtual Fallos de Página Algoritmos de Reemplazamiento
Estructura y Tecnolología de Ordenadores
Problema Procesador-Memoria
Memoria Organización del caché. Universidad de SonoraArquitectura de Computadoras2 Organización del caché Hasta ahora solo se ha visto la estrategia de.
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
Memoria Retos de diseño. Universidad de SonoraArquitectura de Computadoras2 Fallas de caché Las fallas de caché disminuyen conforme se incrementa la asociatividad.
1 Memoria Virtual Capítulo 8. 2 Estructuras de Hardware y Control Todas las referencias a memoria son direcciones lógicas y son mapeadas a direcciones.
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
Overview Sistemas Computacionales
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.
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.
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.
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.
Rendimiento y/o desempeño.. RENDIMIENTO “El computador A es más rápido que el computador B” Como se determina el rendimiento de un computador para: El.
Memoria Virtual Msc. Rina Arauz.
Gestión de Memoria – Parte 2
Arquitectura de Computadores Clase 21 Memoria Virtual IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería.
Arquitectura de Computadores Clase 19 Memoria Caché: Funciones de Correspondencia IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica.
Memoria Virtual Conceptos Paginación Bajo Demanda Creación de Procesos Remplazo de Página Asignación de Marcos Hiperpaginación Ejemplos.
Memoria virtual. Universidad de SonoraArquitectura de Computadoras2 Introducción Memoria virtual es un mecanismo que permite que la memoria principal.
Arquitectura de Computadores
Vinculación de Instrucciones y Datos a Memoria Tiempo de compilación: si la dirección de memoria se conoce a priori, se puede generar código absoluto;
Organización y Arquitectura de Computadores
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.
ALGORITMOS DE SUSTITUCIÓN DE PÁGINAS. Idea Cuando ocurre una falla de página, el sistema operativo tiene que escoger la página que sacará de la memoria.
Paginamiento / Paging Sistemas Operativos 16 de Septiembre de 2011.
Memoria Cachés.
Modelo Entidad-Relación
Organización de computadoras
Pipelining Peligros de control.
Ley de Amdahl.
Memoria Rendimiento del caché.
Superescalares Scheduling estático.
ADMINISTRACíON DE LA MEMORIA EN SISTEMAS RECIENTES
Memoria Introducción.
Pipelining Peligros (hazards).
Organización del caché
Memoria virtual.
Memoria Retos de diseño.
Memoria virtual.
MEMORIAS. Alba Lus, Esther Escobar, Laura Hierro, Raquel Fdez.
Organización del Computador I Verano Memoria Virtual Basado en el capítulo 7 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.
Algoritmos de reemplazo
SISTEMAS OPERATIVOS MEMORIA VIRTUAL.
Pipelining Peligros de control.
ALGORITMOS DE REMPLAZO DE PAGINA PAULA ROMO RODRIGO ABREGO RANDOL FELIX.
El procesador Datapath y control.
Memoria Cachés.
Ejercicio 5.6 sobre cachés
Otros temas sobre cachés
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
Organización del caché
Memoria Rendimiento del caché.
Pipelining Peligros de control.
Transcripción de la presentación:

Otros temas sobre cachés Memoria Otros temas sobre cachés

Otros temas Estrategias de búsqueda de bloque. Estrategias de reemplazo de bloque. Cachés multinivel. Universidad de Sonora Arquitectura de Computadoras

Localizando un bloque En un caché de mapeo directo (1-way), un bloque solo puede ir en un lugar. En un caché asociativo (n-way, n > 1), es necesario localizar el bloque. La dirección se divide en: El índice selecciona el conjunto. Dentro del conjunto se comparan las etiquetas de todos los bloques. Para mayor velocidad, las etiquetas se comparan en paralelo. Universidad de Sonora Arquitectura de Computadoras

Localizando un bloque Dado un tamaño fijo, existe una relación entre el tamaño del índice y los parámetros del caché. Para un caché de 256 bloques: Asociatividad Conjuntos Bloques Índice 1-way 256 1 8 2-way 128 2 7 4-way 64 4 6 8-way 32 5 128-way 256-way Universidad de Sonora Arquitectura de Computadoras

Localizando un bloque Un caché de mapeo directo requiere un solo comparador. Universidad de Sonora Arquitectura de Computadoras

Localizando un bloque Un caché 4-way set associative requiere 4 comparadores. Universidad de Sonora Arquitectura de Computadoras

Que organización usar La selección entre mapeo directo, set associative y fully associative depende del costo de falla comparando con el costo de implementar asociatividad en tiempo y hardware. Universidad de Sonora Arquitectura de Computadoras

Bloque a reemplazar En mapeo directo no hay elección. En set associative se escoge un bloque dentro del conjunto seleccionado. En fully associative cualquier bloque del caché es candidato a ser reemplazado. La estrategia mas usada es LRU (least recently used – menos usado recientemente). Universidad de Sonora Arquitectura de Computadoras

Bloque a reemplazar LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción es aproximar LRU o usar una estrategia FIFO (first-in first-out – el primero que entra es el primero en salir). Una tercera opción es usar reemplazo aleatorio. Universidad de Sonora Arquitectura de Computadoras

Cachés multinivel Tener uno o mas niveles de cachés. Los sistemas de dos niveles son comunes. El caché de segundo nivel (L2) se accesa cuando hay una falla en el caché primario (L1). Si el caché L2 contiene el dato, el castigo por falla de L1 es el tiempo de acceso de L2 que es mucho menor que el tiempo de acceso a la memoria Si el dato no está en L1 ni en L2, se accesa la memoria y el castigo por falla es mayor. Universidad de Sonora Arquitectura de Computadoras

Ejemplo Se tiene una CPU con: Tiempo de acceso de memoria = 100 ns. CPI = 1.0 con caché perfecto (sin fallas). Velocidad de reloj = 5 GHz. Tiempo de acceso de memoria = 100 ns. Tasa de fallas del caché primario = 2%. ¿Qué tan rápido es el sistema si se agrega otro nivel de caché con tiempo de acceso de 5 ns y capaz de reducir la tasa de fallas a la memoria a 0.5%? Universidad de Sonora Arquitectura de Computadoras

Ejemplo El castigo por falla es: Para la memoria principal el castigo es: 100 ns / 0.2 ns = 500 ciclos. El CPI efectivo con un nivel de caché es: Para la CPU con un nivel de caché: 1.0 + 0.02 x 500 = 11.0 Universidad de Sonora Arquitectura de Computadoras

Ejemplo Con dos niveles de caché, una falla en el caché L1 se puede resolver por L2 o por la memoria. Si se resuelve en L2, el tiempo de acceso a L2 es el castigo por falla. En otro caso, el castigo por falla es la suma de los tiempos de acceso a L2 y a la memoria. El castigo por falla por un acceso a L2 es: 5 ns / 0.2 ns = 25 ciclos Universidad de Sonora Arquitectura de Computadoras

Ejemplo El CPI efectivo para un caché de dos niveles: Para la CPU con dos niveles de caché: 1.0 + 0.02 x 25 + 0.005 x 500 = 1 + 0.5 + 2.5 = 4 Por lo tanto, la CPU con dos niveles de caché es más rápido que la CPU con un nivel en: 11 / 4 = 2.75 Universidad de Sonora Arquitectura de Computadoras

Cachés multinivel Se introducen dos nuevos conceptos: Tasa de fallas global (global miss rate) es la fracción de referencias que fallan en todos los niveles. Tasa de fallas local (local miss rate) es la fracción de referencias que fallan en un nivel. El caché primario es mas pequeño y con menor tiempo de acceso que los secundarios. Universidad de Sonora Arquitectura de Computadoras

Cachés multinivel Valores típicos en 2004. Universidad de Sonora Arquitectura de Computadoras

Conclusión 4 preguntas en la jerarquía de memoria: ¿Dónde se puede poner un bloque? ¿Cómo se encuentra un bloque? ¿Qué bloque debe ser reemplazado si es necesario? ¿Qué pasa en una escritura? Universidad de Sonora Arquitectura de Computadoras

Conclusión ¿Dónde se puede poner un bloque? En mapeo directo en el lugar que le toque según su dirección. En set associative en cualquier lugar dentro del conjunto que le toque. En fully associative en cualquier lugar del caché. Universidad de Sonora Arquitectura de Computadoras

Conclusión ¿Cómo se encuentra un bloque? En mapeo directo, buscando en el lugar que le toque y comparando la etiqueta. En set associative, buscando en el conjunto que le toque comparando etiquetas. En fully associative, buscando en el caché comparando etiquetas. Universidad de Sonora Arquitectura de Computadoras

Conclusión ¿Qué bloque debe ser reemplazado si es necesario? En mapeo directo no hay otra opción: el bloque nuevo reemplaza al anterior. LRU (least recently used - menos usado recientemente). Aproximación LRU o FIFO (first-in first-out – el primero que entra es el primero en salir). Aleatorio. Universidad de Sonora Arquitectura de Computadoras

Conclusión ¿Qué pasa en una escritura? Si el dato está en el caché: Write-through: se escribe en el caché y en la memoria para evitar inconsistencias. Write-back: se escribe en el caché y solamente cuando es necesario en la memoria. Si el dato no está en el cache: Write allocate: se actualiza la memoria y se carga el dato en el caché. No write allocate:se actualiza la memoria y no se carga el dato en el caché. Universidad de Sonora Arquitectura de Computadoras