Professional Documents
Culture Documents
Organisation de la mmoire
processeur registres c a c h e
mmoire
dispositifs I/O
Page 2
adresse
processeur
donnes
bus du systme
Page 3
Page 4
Page 5
adresse
donnes
Page 6
Le rpertoire de la cache
Le rpertoire de la cache a deux fonctions:
indiquer si le mot accd par le processeur se trouve dans la cache (signal match) si cest le cas, indiquer ladresse de la cache o se trouve le mot
Le rpertoire de la cache peut donc tre vu comme une mmoire associative: on parle alors dune mmoire cache compltement associative Dans ce cas, un mot de la mmoire principale peut tre stock nimporte o dans la cache
Page 8
adresse physique
adresse de la cache
comparateur registre 2N - 1
M >> N
Page 9 Eduardo Sanchez Ecole Polytechnique Fdrale de Lausanne
les bits de poids faible contiennent ladresse de lensemble (adresse de la cache): toutes les adresses physiques qui partagent ces bits seront stockes la mme position dans la cache les bits de poids fort forment une tiquette (tag), comparer avec la valeur stocke dans le rpertoire pour lensemble slectionn
Plus rapide que la cache compltement associative: la cache est accde sans attendre la rponse du rpertoire Au moment du dmarrage, le contenu de la cache est quelconque. Chaque ligne de la cache contient un bit de validit ( valid bit): il est mis 1 si le contenu de la ligne est valable
Page 10 Eduardo Sanchez Ecole Polytechnique Fdrale de Lausanne
adresse physique
tiquette IN
adresse de lensemble
rpertoire
comparateur
match
Page 11 Eduardo Sanchez Ecole Polytechnique Fdrale de Lausanne
tiquette
v a l rpertoire i d
cache
v a l rpertoire i d
cache
voie A
voie B
Page 13
Succs en lecture
Page 14
Echec en lecture
Page 15
Succs en criture
Page 16
Echec en criture
Page 17
Algorithmes dcriture
Write-through: la mmoire principale est toujours modifie lors dun cycle dcriture, quil sagisse dun succs ou dun chec Copy-back ou write-back: lcriture se fait seulement dans la cache. Pour garder la cohrence avec la mmoire principale, on peut crire dans la mmoire principale toute ligne quon enlve de la cache avec une information valable. Pour viter des critures inutiles, on ajoute un bit par ligne, le dirty bit, pour indiquer que le contenu de la cache est diffrent de celui de la mmoire Dans tous les cas, on peut amliorer le temps dcriture en ajoutant un buffer dcriture (write buffer): les donnes sont crites dans ce buffer et le contrleur de cache se charge de les envoyer par la suite dans la mmoire
Page 18 Eduardo Sanchez Ecole Polytechnique Fdrale de Lausanne
Algorithme deffacement
Mthode LRU (least recently used): chaque ligne de la cache (mme ensemble mais voies diffrentes) possde des bits pour indiquer lordre dutilisation des voies. Pour une cache 4 voies il y a 24 possibilits (4!): il faudrait 5 bits de codage au minimum. Pour une cache 16 voies il faudrait 45 bits... Mthode NLU (not last used): on ncrit pas dans la dernire voie accde. Une RAM stocke cette information pour chaque ligne Remplacement alatoire
Page 19
Taille de la ligne
Une ligne (ou bloc) de cache est la plus petite portion de la cache avec une tiquette unique Les raisons pour avoir des lignes plus dun mot sont:
avoir une RAM de rpertoire plus petite que la RAM de cache avoir des transferts multi-mots (burst) plus rapides
Une ligne possde normalement entre 2 et 8 mots Pour rduire le temps de mise jour lors dun chec, le bus entre la mmoire et la cache est gnralement plus large que celui entre la cache et le processeur
Page 20
Position de la cache
Cache physique: la cache est place aprs le gestionnaire de mmoire virtuelle (MMU): elle reoit une adresse physique Cache logique: la cache est place avant le gestionnaire de mmoire virtuelle (MMU): elle reoit une adresse virtuelle. Ce cas demande une cache moins rapide. Mais une adresse physique peut tre traduite plusieurs adresses logiques: si elles sont toutes dans la cache, lcriture dans lune laisse les autres inchanges
Page 21