Question

pourrait cache L1 / L2 ligne chaque cache plusieurs copies du principal mot de données de mémoire?

Était-ce utile?

La solution

Il est possible que la mémoire principale est dans un cache plus d'une fois. Il est évident que cela est vrai et un phénomène courant pour les machines multiprocesseurs. Mais même sur les machines à processeur uni, il peut arriver.

Considérons un processeur Pentium qui a une division instruction L1 / cache de données. Instructions vont seulement à la I-cache, les données que dans la D-cache. Maintenant, si le système d'exploitation libre permet la modification du code, la même mémoire peut être chargée à la fois la I et D-cache, une fois que les données, une fois que les instructions. Maintenant, vous avez ces données deux fois dans le cache L1. Par conséquent, une unité centrale de traitement avec une telle architecture de cache partagé doit utiliser un protocole de cohérence de cache pour éviter les conditions de course / corruption.

Autres conseils

Non - si elle est déjà dans le cache du MMU utilisera qu'au lieu de créer une autre copie

.

Chaque cache stocke essentiellement un petit sous-ensemble de toute la mémoire. Lorsque CPU a besoin d'un mot de la mémoire, il va d'abord à L1, puis cache L2 et ainsi de suite , avant que la mémoire principale est cochée . Ainsi, un mot de mémoire particulière peut être en L2 et en L1 en même temps, mais il ne peut pas être stocké deux fois en L1, parce que ce n'est pas nécessaire.

Oui il peut. L1 copie est mis à jour, mais n'a pas été rincée à L2. Cela ne se produit que si L1 et L2 sont des caches non exclusives. Cela est évident pour uni-processeurs, mais il est encore plus pour le multi-processeurs qui ont généralement leurs propres caches L1 pour chaque noyau.

Tout dépend de l'architecture de cache - si elle garantit toute sorte de chose

.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top