Information Technology Reference
In-Depth Information
Chaque ligne du cache comprend donc un bit de validité, une clé et une ligne de
données.
Lorsqu'une adresse est présentée au cache, le contrôleur de cache décompose
cette adresse en trois parties : l' index , l' étiquette et l' offset . L'index repère une entrée
du cache, tandis que l'offset repère un mot à l'intérieur d'une ligne de cache. Notre
exemple comprend dix lignes de cache, il suffit donc d'un seul symbole pour réfé-
rencer toutes les entrées du cache. Par ailleurs, comme il y a 10 mots par ligne, il
suffit de même d'un seul symbole pour numéroter tous les mots d'une ligne de cache.
Comme l'adresse est codée sur 4 symboles, il reste 2 symboles pour fixer la valeur
de l'étiquette. Pour vérifier si une donnée est dans le cache le contrôleur de cache
extrait la valeur d'index de l'adresse et le comparateur vérifie que l'entrée pointée
par l'index contient bien l'étiquette. Si c'est vrai alors la donnée est présente dans la
mémoire utile.
Le fonctionnement de ce cache est résumé par l'algorithme :
si répertoire[index] = étiquette
alors
charger le processeur avec mémoire_utile[index, offset];
sinon
sauvegarder mémoire_utile[index] dans la mémoire centrale;
répertoire[index] = étiquette;
charger mémoire_utile[index] à partir de la mémoire centrale;
charger le processeur avec mémoire_utile[index, offset];
finsi
Supposons maintenant que le cache soit celui de l'exemple et que dans ces condi-
tions le processeur exécute le programme suivant :
1. Load D, R, 0215
2. Load D, R, 0212
3. Load D, R, 0114
4. Load D, R, 0225
5. Load D, R, 0116
L'instruction 1 aboutit à un succès (hit) puisque répertoire[index] (02) vaut
etiquette (02). Dans ce cas, l'accès à l'information est donc plus rapide que si l'infor-
mation avait été dans la mémoire centrale. L'instruction 2 aboutit également à un
succès. L'instruction 3 aboutit à un échec (miss). La ligne de mémoire centrale 011
remplace la ligne de cache indexée par 1 et la ligne de répertoire indexée par 1 reçoit 01
(étiquette). Dans ce cas, l'accès à l'information est plus lent que si l'on avait directe-
ment adressé la mémoire centrale. Mais comme on a chargé une ligne complète de
mémoire le principe de localité nous indique qu'il y a toutes les chances que pour les
prochaines instructions du programme aboutissent à des succès. De plus le temps de
chargement d'une ligne en continue est plus petit que la répétition des chargements
mot par mot. L'instruction 4 aboutit à un succès ainsi que l'instruction 5.
Search WWH ::




Custom Search