SlideServe
Menu
Préférences
© SlideServe · v2026

Memoria

trent avatar
26 diapositives · 489 Views · Oct 23, 2014

Memoria. Otros temas sobre cachés. Otros temas. Estrategias de búsqueda de bloque. Estrategias de reemplazo de bloque. Cachés multinivel. Localizando un bloque. En un caché de mapeo directo (1-way), un bloque solo puede ir en un lugar.

Memoria - slide 1
01 / 26Memoria
1 / 17

Télécharger la présentation

Memoria
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Memoria Otros temas sobre cachés

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

  3. 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. Arquitectura de Computadoras

  4. 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: Arquitectura de Computadoras

  5. Localizando un bloque • Un caché de mapeo directo requiere un solo comparador. Arquitectura de Computadoras

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

  7. 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. Arquitectura de Computadoras

  8. 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). Arquitectura de Computadoras

  9. 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. Arquitectura de Computadoras

  10. 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. Arquitectura de Computadoras

  11. Ejemplo • Se tiene una CPU con: • CPI = 1.0 con caché fuera perfecto. • 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%? Arquitectura de Computadoras

  12. 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 Arquitectura de Computadoras

  13. 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 Arquitectura de Computadoras

  14. 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 Arquitectura de Computadoras

  15. 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. Arquitectura de Computadoras

  16. Cachés multinivel • Valores típicos en 2004. Arquitectura de Computadoras

  17. Algoritmos y el caché • Un algoritmo puede tener un comportamiento distinto a su comportamiento teórico debido a la presencia del caché. • En teoría, Radix Sort es mejor que Quicksort para arreglos grandes. Arquitectura de Computadoras

  18. Algoritmos y el caché • Comportamiento teórico Arquitectura de Computadoras

  19. Algoritmos y el caché • Comportamiento real Arquitectura de Computadoras

  20. Algoritmos y el caché • Motivo: fallas de caché. Arquitectura de Computadoras

  21. Solución • Diseñar algoritmos que hagan uso efectivo del caché (principio de locality). • Problema: el rendimiento puede variar de un sistema a otro. • El reto es diseñar algoritmos adaptables. Arquitectura de Computadoras

  22. 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 en una falla? • ¿Qué pasa en una escritura? Arquitectura de Computadoras

  23. 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é. Arquitectura de Computadoras

  24. 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. Arquitectura de Computadoras

  25. Conclusión • ¿Qué bloque debe ser reemplazado en una falla? • 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. Arquitectura de Computadoras

  26. Conclusión • ¿Qué pasa en una escritura? • 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. Arquitectura de Computadoras