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

Contenu supprimé Contenu ajouté
Ligne 154 :
===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, etou notammentla quandlocalité ontemporelle traverseest desmauvaise tableaux.mais Dans cesla conditions,localité onspatiale n'aest pasrespectée, lale moindrecas localitéle temporelle,plus maisemblématique uneétant bonnela localitéparcours spatialed'un tableau. Pour résoudre ce petit inconvénientproblème, des variantes du LRU existent.

Une premièrevariante detrès ces varianteconnue, 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 doiventsont migrermigrées du cache FIFO vers le cache LRU, :ce celaqui consomme du matériel, de ln'énergieest etpas destrès cycles d'horlogepratique. 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''==