Quelle est la différence entre le conflit, la miss et la capacité manquer
Capacité miss se produit parce que les blocs sont en cours de mise au rebut de cache, car le cache ne peut pas contenir tous les éléments nécessaires pour l'exécution du programme (programme de jeu de travail est beaucoup plus grande que la capacité de mise en cache).
Conflit miss se produit dans le cas de l'ensemble associatif ou directement mappé bloc de stratégies de placement, des conflits, de manque se produire lorsque plusieurs blocs sont mappés au même jeu ou de bloquer l'image; il est également appelé la collision de justesse ou d'interférence de la rate.
Sont-ils en fait très étroitement liés?
Par exemple, si toutes les lignes de cache sont remplies et nous avons une demande de lecture de la mémoire B, pour laquelle nous devons expulser de la mémoire A.
Ainsi doit-il être considéré comme une capacité manquer puisque nous n'avons pas assez d'espace? Et plus tard, si nous voulons accéder à la mémoire d'Un, et depuis il est expulsé avant, il est considéré comme un conflit manquer.
Suis-je comprendre cela correctement? Grâce
Vous devez vous connecter pour publier un commentaire.
L'importante distinction est faite ici entre le cache de manque causé par la taille de votre jeu de données et le cache de manque causé par la façon dont vos données et le cache de l'alignement sont organisées.
Supposons que vous avez un 32k direct mapped cache, et d'envisager les 2 cas:
Vous à plusieurs reprises effectuer une itération sur un 128k tableau. Il n'y a pas que les données en cache, donc tous les accidents de la capacité de ceux (à l'exception du premier accès de chaque ligne qui est obligatoire manquer, et le restera même si vous pourriez augmenter votre cache à l'infini).
Vous avez 2 petites 8k tableaux, mais malheureusement ils sont tous les deux alignés et carte pour les mêmes ensembles. Cela signifie que, bien qu'ils pourraient théoriquement entrer dans le cache (si vous corrigez votre alignement), ils ne seront pas de profiter de la taille de la mémoire cache et la place en concurrence pour le même groupe de jeux et de thrash les uns des autres. Ce sont des conflits de justesse, puisque les données peuvent contenir, mais encore entre en collision en raison de l'organisation. Le même problème peut se produire avec l'ensemble associatif caches, bien que moins souvent (disons que le cache est 2-way, mais vous avez 4 alignés ensembles de données...).
Les 2 types sont en effet liés, on pourrait dire que, compte tenu des niveaux élevés de l'associativité, réglez l'inclinaison correcte des données et des alignements d'autres techniques, vous pouvez réduire les conflits, jusqu'à ce que vous êtes souvent laissé avec une vraie capacité d'incidents, qui sont inévitables.
Ma définition préférée de conflits, manque de la Réduction Obligatoire et de la Capacité de manque par Norman P. Jouppi:
Regardons un exemple. Nous avons un direct-mapped cache de taille de 4. Les séquences d'accès sont
La seconde à la dernière 0 est une capacité de manquer parce que même si le cache ont été entièrement associatif avec cache LRU, il serait encore un ennuie parce que 4,1,2,3 sont accessibles de l'avant-dernier 0. Cependant, le dernier 0 est un conflit ennuie parce que dans un cache associatif les 4 derniers auraient remplacer 1 dans le cache au lieu de 0.
0(compulsory miss), 1(compulsory miss), 2(compulsory miss), 3(compulsory miss), 4(compulsory miss), 1(hit), 2(hit), 3(hit)
, Maintenant, je suis incapable de comprendre pourquoi0(capacity miss)
est maintenant? C'est déjà accédé à la fois dans le départ. De même pour4(capacity miss)
. Pourriez-vous expliquer? Merci à l'avance.Obligatoire manquer: lorsqu'un bloc de la mémoire principale est d'essayer d'occuper frais ligne vide du cache, et le premier accès à un Bloc de mémoire qui doit être mis en cache est appelée obligatoire manquer.
Conflit manquer: quand encore il y a des lignes vides dans le cache, le bloc de la mémoire principale est en conflit avec le déjà rempli la ligne de cache, c'est à dire., même quand il est vide place est disponible, le bloc est d'essayer d'occuper déjà rempli ligne. son conflit manquer.
Capacité manquer: miss s'est produite lors de toutes les lignes de cache sont remplis.
conflit miss se produit uniquement en direct mapped cache et associative cache. Parce que dans l'associatif, la cartographie, pas de bloc de mémoire tente d'occuper déjà rempli ligne.