Un caché contiene copias de datos almacenados en otro lugar, generalmente en un sistema de memoria “principal” más grande y más lento que podría estar en la misma caja, en la habitación contigua o al otro lado del mundo. Cada vez que se modifica el sistema de memoria principal más grande y lento, se debe actualizar un caché que contenga una copia de estos datos o quedará desactualizado. Alternativamente, los datos simplemente se pueden eliminar de la memoria caché para que cuando se intente un acceso, se extraigan los datos correctos de la ubicación remota. Tenga en cuenta que esto no es trivial, porque probar, detectar y actualizar datos en una memoria caché implica algún retraso. Pero debe existir un mecanismo para garantizar la coherencia de modo que cuando se accede al caché no proporcione datos “obsoletos”. Hasta que los datos en el caché se invaliden o actualicen, se dice que están “obsoletos” y el caché es un “caché obsoleto”.
Actualizar algo en el “sistema de memoria principal” no es instantáneo en el sentido de que hasta que las copias remotas de los datos se actualicen o purguen, se puede acceder a los datos no modificados (obsoletos), creando muchas oportunidades para resultados inconsistentes.
- ¿Es seguro suponer que una computadora comprada ahora (julio de 2015) no tendrá un rendimiento desactualizado durante 3 años, dado que no habría un avance en la investigación fundamental (como un chip no basado en silicio)?
- ¿Qué tan bueno es el rendimiento de un solo núcleo de una poderosa supercomputadora en comparación con el rendimiento de un solo núcleo de un procesador Intel i7?
- Cómo aprender el aprendizaje automático y la inteligencia artificial
- ¿Qué clases recomiendas que tomen los programadores autodidactas si vuelven a la escuela después de trabajar en la industria durante varios años y quieren mejorar?
- ¿Qué es una memoria de computadora temporal? ¿Cómo se usa y cuáles son algunos ejemplos?