Ligne de la taille des caches L1 et L2

À partir d'une précédente question sur ce forum, j'ai appris que dans la plupart des systèmes de mémoire, le cache L1 est un sous-ensemble de la mémoire cache L2 désigne toute entrée retiré de L2 est également supprimé de L1.

Alors maintenant ma question est comment puis-je déterminer une entrée correspondante dans le cache L1 pour une entrée dans le cache L2. Les seules informations contenues dans la L2 entrée est la balise de l'information. Basé sur cette information sur le tag, si je re-créer l'addr il peut s'étendre sur plusieurs lignes dans le cache L1 si la ligne de la taille de la L1 et de la L2 cache ne sont pas les mêmes.

Ne l'architecture vraiment à vous soucier de rinçage à la fois les lignes ou il maintient juste en L1 et en L2 cache avec la même ligne de taille.

Je comprends que c'est une décision politique, mais je veux savoir la technique couramment utilisée.

  • Est-il un processeur avec différentes tailles pour les L1 et L2?
  • L'original Pentium 4 a 64 octets L1 lignes de cache et de 128 octets de la mémoire cache L2 lignes, apparemment.
  • quelqu'un peut-il des commentaires sur l'architecture nehalem ??? J'ai traversé le papier, sur "Cache Organisation et Gestion de la Mémoire de l'Intel Nehalem l'Architecture de l'Ordinateur". Ici, ils ont juste oublier le cache de la ligne de taille une fois (64 octets) ??
  • Le Pentium 4 a indépendant caches L1 et L2. J'imagine que les projets qui nécessitent le cache L1 être un sous-ensemble de la mémoire cache L2 serait de garder la ligne les mêmes tailles.
  • Si vous êtes en cours d'exécution sur un système x86, l'instruction CPUID renvoie définitif de la ligne de mémoire cache les informations de taille. Google pour CPUID et de taille de ligne de cache pour quelques beaux exemples.
  • Je ne comprends pas très bien cette question. Si les caches sont inclus, ainsi qu'une adresse est supprimée à partir de la L2, puis un invalider est envoyé à la L1 pour supprimer l'adresse de là aussi bien.