Requisito previo: organización de caché multinivel La
caché es una técnica para almacenar una copia de datos temporalmente en una memoria de almacenamiento de acceso rápido. La memoria caché almacena las palabras usadas más recientemente en una memoria pequeña para aumentar la velocidad a la que se accede a los datos. Actúa como un búfer entre la RAM y la CPU y, por lo tanto, aumenta la velocidad a la que los datos están disponibles para el procesador.
Cada vez que un Procesador quiere escribir una palabra, verifica si la dirección en la que quiere escribir los datos está presente en el caché o no. Si la dirección está presente en el caché, es decir, Write Hit .
Podemos actualizar el valor en el caché y evitar el costoso acceso a la memoria principal. Pero esto da como resultado un problema de datos inconsistentes . Como tanto la caché como la memoria principal tienen datos diferentes, esto causará problemas en dos o más dispositivos que comparten la memoria principal (como en un sistema multiprocesador).
Aquí es donde Write Through y Write Back entran en escena.
Escriba por medio de:
En la escritura simultánea, los datos se actualizan simultáneamente en la caché y la memoria . Este proceso es más simple y más confiable. Esto se usa cuando no hay escrituras frecuentes en el caché (la cantidad de operaciones de escritura es menor).
Ayuda en la recuperación de datos (en caso de corte de energía o falla del sistema). Una escritura de datos experimentará latencia (retraso) ya que tenemos que escribir en dos ubicaciones (memoria y caché). Resuelve el problema de inconsistencia. Pero cuestiona la ventaja de tener un caché en operación de escritura (ya que el objetivo de usar un caché era evitar el acceso múltiple a la memoria principal).
Respóndeme:
Los datos se actualizan solo en el caché y se actualizan en la memoria en un momento posterior. Los datos se actualizan en la memoria solo cuando la línea de caché está lista para ser reemplazada (el reemplazo de la línea de caché se realiza mediante la anomalía de Belady, el algoritmo utilizado menos recientemente, FIFO, LIFO y otros según la aplicación).
Write Back también se conoce como Write Deferred.
Bit sucio : cada bloque en el caché necesita un bit para indicar si los datos presentes en el caché fueron modificados (sucios) o no modificados (limpios). Si está limpio, no hay necesidad de escribirlo en la memoria. Está diseñado para reducir la operación de escritura en una memoria. Si la memoria caché falla o si el sistema falla o se produce un corte de energía, los datos modificados se perderán. Porque es casi imposible restaurar los datos del caché si se pierden.
Si se escribe en una ubicación que no está presente en la memoria caché (Write Miss), usamos dos opciones, Write Allocation y Write Around .
Asignación de escritura:
En la asignación de escritura, los datos se cargan desde la memoria en la memoria caché y luego se actualizan. La asignación de escritura funciona tanto con Reescritura como con Escritura simultánea. Pero generalmente se usa con Write Back porque no es necesario traer datos de la memoria al caché y luego actualizar los datos tanto en el caché como en la memoria principal. Por lo tanto, Write Through se usa a menudo con No write Allocate.
escribir alrededor:
Aquí los datos se escriben/actualizan directamente en la memoria principal sin perturbar la memoria caché. Es mejor usar esto cuando los datos no se vuelven a usar inmediatamente.