Sobes.tech
Middle

Cuéntame sobre las reglas de funcionamiento de la caché.

sobes.tech AI

Respuesta de la IA

La caché almacena copias de datos para acelerar el acceso a ellos. Reglas principales:

  1. Regla de localidad (Locality of Reference):

    • Localidad temporal: Si un elemento de datos fue utilizado recientemente, probablemente será utilizado de nuevo en un futuro cercano.
    • Localidad espacial: Si un elemento de datos fue utilizado, probablemente los elementos vecinos también serán utilizados en un futuro cercano.
  2. Políticas de reemplazo de caché (Cache Replacement Policies): Determinan qué bloque de datos eliminar cuando la caché está llena y se necesita espacio para nuevos datos. Políticas comunes:

    • FIFO (First-In, First-Out): Se elimina el bloque más "antiguo".
    • LRU (Least Recently Used): Se elimina el bloque que ha sido utilizado hace más tiempo.
    • LFU (Least Frequently Used): Se elimina el bloque que ha sido utilizado con menor frecuencia.
  3. Políticas de escritura en caché (Cache Writing Policies): Determinan cuándo los cambios en la caché se sincronizan con la memoria principal.

    • Write-Through: Los datos se escriben simultáneamente en la caché y en la memoria principal. Garantiza coherencia, pero es más lento.
    • Write-Back: Los datos se escriben primero solo en la caché. La memoria principal se actualiza más tarde, cuando el bloque se elimina de la caché o se marca explícitamente como "sucio" (modificado). Es más rápido, pero requiere un mecanismo para rastrear cambios.
  4. Reglas para fallos de caché (Cache Miss Handling): Determinan cómo responde el sistema cuando los datos solicitados no están en la caché.

    • El sistema extrae los datos del siguiente nivel de memoria (por ejemplo, de la memoria principal).
    • Los datos se colocan en la caché (posiblemente reemplazando un bloque existente), y luego se proporcionan al proceso solicitante.
  5. Reglas de coherencia (Cache Coherence Rules): Importantes en sistemas multiprocesador, donde varios procesadores pueden tener copias de los mismos datos en sus cachés locales. Aseguran la coherencia de los datos entre todas las cachés. Ejemplos de protocolos: MSI, MESI.

  6. Reglas de invalidación/actualización (Cache Invalidation/Update): Cuando se modifica un dato en un lugar (por ejemplo, en la caché de un procesador), es necesario invalidar (hacer inválida) la copia en otras cachés o actualizarla, para evitar el uso de datos obsoletos.