La différence Entre un Direct-Mapped Cache et Totalement Associatif Cache
Je ne comprends pas très bien les différences principales entre les deux caches et je me demandais si quelqu'un pourrait m'aider?
Je sais qu'avec un totalement associatif cache une adresse peut être stockée sur n'importe quelle ligne dans la balise de tableau et un direct-mapped cache peut avoir qu'une seule adresse sur une seule ligne.
Mais c'est tout ce que je sais.
OriginalL'auteur madcrazydrumma | 2015-05-07
Vous devez vous connecter pour publier un commentaire.
En bref, vous avez répondu à votre question. Ce sont deux façons différentes d'organiser un cache (un autre serait n-way associative, qui combine à la fois, et le plus souvent utilisés dans le monde réel de l'UC).
Direct-Mapped Cache est plus simple (nécessite seulement un comparateur et un multiplexeur), la suite est moins cher et fonctionne plus rapidement. Donné une adresse, il est facile d'identifier la seule entrée dans le cache, où il peut être. Un inconvénient majeur lors de l'utilisation de DM cache est appelé un conflit miss, lorsque deux adresses différentes, correspondent à une entrée dans le cache. Même si le cache est grande et contient de nombreuses entrées obsolètes, il ne peut pas simplement expulser ceux qui, en raison de la position dans le cache est prédéterminée par l'adresse.
Plein Associatif Cache est beaucoup plus complexe, et il permet de stocker une adresse dans à une entrée. Il y a un prix pour cela. Afin de vérifier si une adresse est dans le cache, il doit comparer tous entrées actuelles (les balises pour être exact). En outre, afin de maintenir temporelle de la localité, il doit avoir une éviction de la politique. Généralement rapprochement des LRU (moins récemment utilisé) est mis en œuvre, mais il est aussi ajoute des comparateurs et des transistors dans le régime, et bien sûr consomme un certain temps.
Totalement associatif caches sont pratiques pour les petits caches (par exemple, la TLB caches sur certains processeurs Intel sont totalement associatif), mais ces caches sont petit, vraiment petit. Nous parlons de quelques dizaines d'entrées au maximum.
Même L1i et L1d caches sont plus grands et nécessitent une approche combinée: un cache est divisé en deux ensembles, et chaque ensemble se compose de "moyens". Les ensembles sont directement mappée, et à l'intérieur de lui-même sont totalement associatif. Le nombre de "moyens" est généralement de petite taille, par exemple en Intel Nehalem CPU il y a 4 voies (L1i), 8 (L1d, L2) et 16 (L3). N-way associative cache assez bien résout le problème de localité temporelle et pas que complexe pour être utilisé dans la pratique.
Je vous recommande fortement de une 2011 par l'université de Berkeley, "l'Informatique 61C", librement disponible sur YouTube. En plus des autres choses qu'il contient 3 conférences sur la mémoire de la hiérarchie et des implémentations de cache.
OriginalL'auteur Maxim
Direct mapped cache dans ce type de cache il y a une ligne par définir ce que signifie pour les ex en première ligne de l'Un est assis dans une autre ligne B est assis et ainsi de suite, mais en totalement associatif cache il y a un seul ensemble, et tous sont assis au hasard, nous ne savons pas dans quelle ligne de bloquer Un est assis et B est assis espère que vous comprenez sinon, voir RE, BRYANT programmeurs prospective
OriginalL'auteur shubhang drolia