Information Technology Reference
In-Depth Information
Le défaut principal de ce cache est qu'il peut exister des collisions : c'est ce qui s'est
produit lors de l'exécution de l'instruction 3. Les adresses 001x, 021x, 031x, etc.
produisent des collisions puisqu'elles ont toutes la même valeur d'index (1) et donc
référencent la même ligne de cache. Un cas très défavorable est celui où l'on ne fait
(à cause des collisions) que charger des lignes de caches, car les accès sont systéma-
tiquement en collision. Dans ce cas le cache serait plus lent que la mémoire centrale.
Ce cache est simple, facile à réaliser et donne de bons résultats. C'est le cache le plus
commun dans nos machines.
Cache purement associatif
Ce type de cache est plus complexe et plus cher à construire. Il y a autant de compa-
rateurs que de lignes de cache. Le chargement dans le cache d'une ligne de mémoire
n'est pas fixé par une valeur d'index comme dans le cas du cache direct, c'est-à-dire
qu'une ligne de données entre dans n'importe quelle entrée libre du cache. L'adresse
est interprétée comme une étiquette et un offset. Le contrôleur de cache vérifie en
une seule opération (c'est pourquoi il y a autant de comparateurs que de lignes) si
une étiquette est présente dans une des lignes du répertoire. Si la réponse est un
succès c'est que la donnée cherchée est dans la mémoire utile.
Etiquette
Offset
0000
0010
0020
Load D, R
0 2 3 5
001
003
022
0
1
2
3
4
5
6
7
8
9
0220
0230
a b c d e f g h i j
023
a b c d e f g h i j
000
998
9970
9980
9990
Répertoire
Mémoire Utile
Comparateurs
Mémoire centrale
Figure 8.17
Cache purement associatif.
Ainsi sur la figure 8.17, la recherche dans le cache du mot d'adresse 0235 est un
succès. L'étiquette 023 est présentée au répertoire du cache et la comparaison aboutit
à délivrer la ligne 4 du cache comme étant celle contenant le mot cherché. L'offset 5
permet de récupérer effectivement le mot « f ».
 
Search WWH ::




Custom Search