Si tengo una CPU con dos núcleos, cada núcleo tiene su propio caché L1, ¿es posible que Core1 y Core2 almacenen en caché una misma parte de la memoria al mismo tiempo?
Si. El rendimiento sería terrible si este no fuera el caso. Considere dos hilos que ejecutan el mismo código. Desea ese código en ambos cachés L1.
Si es posible, ¿cuál será el valor de la memoria principal si Core1 y Core2 han editado su valor en caché?
El valor anterior estará en la memoria principal, lo que no importará ya que ninguna CPU lo leerá. Antes de expulsar un valor modificado de la memoria caché, debe escribirse en la memoria. Por lo general , se utiliza alguna variante del protocolo MESI . En la implementación tradicional de MESI, si un valor se modifica en una caché, no puede estar presente en ninguna otra caché en el mismo nivel.