« Fonctionnement d'un ordinateur/Les mémoires cache » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 68 :
Or, le décodeur réalise l'opération inverse de l'encodeur, ce qui fait que mettre les deux composants à la suite ne sert à rien. On peut donc retirer l'encodeur et le décodeur, et envoyer directement les résultats des comparateurs sur les entrées de commande du plan mémoire de la RAM.
 
[[File:Cache totalement associatif optimisé.png|centre|vignette|upright=32|Cache totalement associatif optimisé]]
 
Avec cette méthode, les circuits du cache ressemblent à ce qui illustré ci-dessous. Chaque ligne de cache contient à la fois le tag et les données. Le tag est envoyé à chaque ligne de cache, qui le comparent avec le tag stocké dans la ligne de cache. Cela demande que chaque ligne de cache soit dotée d'un comparateur dédié, comme c'est le cas sur les mémoires associatives. un défaut de cache a lieu quand toutes les comparaisons sont négatives, et n'a pas lieu sinon. En clair, détecter un défaut de cache demande juste de connecter une porte ET à plusieurs entrées à tous les comparateurs. Si une ligne de cache matche avec le tag envoyé en entrée, la ligne pour laquelle il y a eu une égalité est alors connectée sur la sortie de donnée du cache. Cela est réalisé par un circuit qui est relié à la sortie du comparateur de la ligne de cache. Il ne reste plus qu'à sélectionner la portion de la ligne de cache qui nous intéresse, grâce à un paquet de multiplexeurs, comme pour les autres caches.