Parlez-moi des règles de fonctionnement du cache.
sobes.tech IA
Réponse de l'IA
La mémoire cache stocke des copies de données pour accélérer leur accès. Règles principales:
-
Règle de localité (Locality of Reference):
- Localité temporelle: Si un élément de données a été utilisé récemment, il est probable qu'il sera utilisé à nouveau dans un avenir proche.
- Localité spatiale: Si un élément de données a été utilisé, il est probable que ses éléments voisins seront également utilisés dans un avenir proche.
-
Politiques de remplacement de cache (Cache Replacement Policies): Définissent quel bloc de données supprimer lorsque la cache est pleine et qu'il faut faire de la place pour de nouvelles données. Politiques courantes:
- FIFO (First-In, First-Out): Le bloc le plus "ancien" est supprimé.
- LRU (Least Recently Used): Le bloc qui a été utilisé le moins récemment est supprimé.
- LFU (Least Frequently Used): Le bloc qui a été utilisé le moins fréquemment est supprimé.
-
Politiques d'écriture en cache (Cache Writing Policies): Définissent quand les modifications dans la cache sont synchronisées avec la mémoire principale.
- Write-Through: Les données sont écrites simultanément dans la cache et dans la mémoire principale. Assure la cohérence, mais est plus lent.
- Write-Back: Les données sont d'abord écrites uniquement dans la cache. La mémoire principale est mise à jour plus tard, lorsque le bloc est supprimé de la cache ou marqué explicitement comme "sale" (modifié). Plus rapide, mais nécessite un mécanisme pour suivre les changements.
-
Règles en cas de cache miss (Cache Miss Handling): Définissent comment le système réagit lorsque les données demandées ne sont pas dans la cache.
- Le système extrait les données du niveau suivant de mémoire (par exemple, de la mémoire principale).
- Les données sont placées dans la cache (en remplaçant éventuellement un bloc existant), puis fournies au processus demandeur.
-
Règles de cohérence (Cache Coherence Rules): Importantes dans les systèmes multiprocesseurs, où plusieurs processeurs peuvent avoir des copies des mêmes données dans leurs caches locaux. Garantissent la cohérence des données entre toutes les caches. Exemples de protocoles : MSI, MESI.
-
Règles d'invalidation/mise à jour (Cache Invalidation/Update): Lorsqu'une donnée est modifiée à un endroit (par exemple, dans la cache d'un processeur), il faut invalider (rendre invalide) la copie dans les autres caches ou la mettre à jour, pour éviter l'utilisation de données obsolètes.