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

m
===LRU amélioré===
 
L'algorithme LRU, ainsi que ses variantes approximatives, sont très efficaces dans la majorité des programmes. Du momenttant que notrele programme respecte relativement bien la localité temporelle, cet algorithme donnera de très bons résultats : le taux de succès du cache sera très élevé. Par contre, cetLe algorithmeLRU se comporte assez mal dans certainesles circonstances, et notamment quand on traverse des tableaux. Dans ces conditions, on n'a pasou la moindre localité temporelle, est mauvaise mais une bonnela localité spatiale. Pourest résoudre ce petit inconvénientrespectée, desle variantescas dule LRUplus existent.emblématique Uneétant premièrela deparcours ces variante, ld''''algorithme 2Q''', utilise deux caches : un cache FIFO pour les données accédées une seule fois et un second cache LRUtableau. Évidemment,Pour lesrésoudre donnéesce lues une seconde fois doivent migrer du cache FIFO vers le cache LRU : cela consomme du matérielproblème, de l'énergie et des cycles d'horloge. Les processeurs n'utilisent donc pas cette technique, mais celle-ci est utilisée dans les caches de disque dur. D'autres variantes du LRU combinent plusieurs algorithmes à la fois et vont choisir lequel de ces algorithmes est le plus adapté à la situation. Notre cache pourra ainsi détecter s’il vaut mieux utiliser du MRU, du LRU, ou du LFU suivant la situationexistent.
 
Une variante très connue, l''''algorithme 2Q''', utilise deux caches : un cache FIFO pour les données accédées une seule fois et un second cache LRU. Évidemment, les données lues une seconde fois sont migrées du cache FIFO vers le cache LRU, ce qui n'est pas très pratique. Les processeurs n'utilisent donc pas cette technique, mais celle-ci est utilisée dans les caches de disque dur.
 
D'autres variantes du LRU combinent plusieurs algorithmes à la fois et vont choisir lequel de ces algorithmes est le plus adapté à la situation. Notre cache pourra ainsi détecter s’il vaut mieux utiliser du MRU, du LRU, ou du LFU suivant la situation.
 
==Les caches ''Write-back'' et ''write-through''==
39 497

modifications