Concepto de diseño de memoria caché

La memoria caché juega un papel importante en la reducción del tiempo de procesamiento de un programa al proporcionar un acceso rápido a los datos/instrucciones. La memoria caché es pequeña y rápida, mientras que la memoria principal es grande y lenta.

El concepto de almacenamiento en caché se explica a continuación.

Principio de almacenamiento en caché:
la intención de la memoria caché es proporcionar el acceso más rápido a los recursos sin comprometer el tamaño y el precio de la memoria. El procesador que intenta leer un byte de datos, primero mira la memoria caché. Si el byte no existe en la memoria caché, busca el byte en la memoria principal. Una vez que se encuentra el byte en la memoria principal, el bloque que contiene un número fijo de bytes se lee en la memoria caché y luego en el procesador. La probabilidad de encontrar un byte subsiguiente en la memoria caché aumenta a medida que el bloque leído en la memoria caché anteriormente contiene bytes relevantes para el proceso debido al fenómeno denominado Localidad de referencia o Principio de localidad .

Diseño de memoria caché:

  1. Tamaño de caché y tamaño de bloque:
    para alinearse con la velocidad del procesador, las memorias caché son muy pequeñas, por lo que lleva menos tiempo encontrar y obtener datos. Por lo general, se dividen en múltiples capas según la arquitectura. El tamaño de la memoria caché debe adaptarse al tamaño de los bloques, que nuevamente están determinados por la arquitectura del procesador. Cuando aumenta el tamaño del bloque, la proporción de aciertos aumenta inicialmente debido al principio de localidad.

    Un mayor aumento en el tamaño del bloque, lo que resulta en traer más datos a la memoria caché, disminuirá la tasa de aciertos porque, después de cierto punto, la probabilidad de usar los nuevos datos traídos por el nuevo bloque es menor que la probabilidad de reutilizar los datos que se están almacenando. lavado para hacer espacio para bloques más nuevos.

  2. Función de mapeo:
    cuando se lee un bloque de datos de la memoria principal, la función de mapeo decide qué ubicación en el caché ocupa el bloque de memoria principal de lectura. Será necesario reemplazar el bloque de memoria caché con el bloque de memoria principal si la caché está llena y esto aumenta la complejidad. ¿Qué bloque de caché se debe reemplazar?

    Se debe tener cuidado de no reemplazar el bloque de caché que es más probable que sea referido por el procesador. El algoritmo de reemplazo depende directamente de la función de mapeo, de modo que si la función de mapeo es más flexible, el algoritmo de reemplazo proporcionará la máxima proporción de aciertos. Pero, para proporcionar más flexibilidad, aumenta la complejidad de los circuitos para buscar en la memoria caché para determinar si el bloque está en la memoria caché.

  3. Algoritmo de reemplazo :
    decide qué bloque en el caché se reemplaza por el bloque de lectura de la memoria principal cuando el caché está lleno, con ciertas restricciones de la función de mapeo. El bloque de caché al que no se hará referencia en un futuro próximo debe reemplazarse, pero es muy poco probable determinar qué bloque no se hará referencia. Por lo tanto, el bloque en caché que no ha sido referido durante mucho tiempo debe ser reemplazado por el nuevo bloque de lectura de la memoria principal. Esto se llama algoritmo de uso menos reciente.
  4. Política de escritura:
    uno de los aspectos más importantes del almacenamiento en caché de la memoria. El bloque de datos del caché que se elige para ser reemplazado por el nuevo bloque de memoria principal de lectura primero debe volver a colocarse en la memoria principal. Esto es para evitar la pérdida de datos. Se debe tomar una decisión sobre cuándo se volverá a colocar el bloque de memoria caché en la memoria principal.

    Estas dos opciones disponibles son las siguientes:

    1. Coloque el bloque de memoria caché en la memoria principal cuando se elija para ser reemplazado por un nuevo bloque de lectura de la memoria principal.
    2. Coloque el bloque de memoria caché en la memoria principal después de cada actualización del bloque.

    La política de escritura decide cuándo volver a escribir el bloque de caché en la memoria principal. Si se elige la opción 1, entonces se está realizando una operación de escritura excesiva en la memoria principal. Si se elige la opción 2, en el caso de un sistema multiprocesador, el bloque en la memoria principal está obsoleto ya que aún no ha sido reemplazado desde la memoria caché pero ha sufrido cambios.

  5. Ejemplos:

  • ¿Qué es la tasa de aciertos?
    Número de aciertos (búsqueda exitosa en memoria caché) / Número de intentos totales (búsqueda total).
  • ¿Qué es el algoritmo LRU?
    Más detalles aquí
  • ¿Cuáles son las diferentes capas de memoria caché?
    Más detalles aquí y aquí .
  • ¿Cómo verificar las diferentes capas de memoria caché en mi PC con Windows?
    Abra el Administrador de tareas -> Rendimiento -> CPU (Ejemplos: L1, L2, L3)

Publicación traducida automáticamente

Artículo escrito por arvindpurushotham y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *