Vorbește-mi despre regulile de funcționare ale cache-ului.
sobes.tech AI
Răspuns de la AI
Cache-ul stochează copii ale datelor pentru a accelera accesul la acestea. Reguli principale:
-
Regula de localitate (Locality of Reference):
- Localitatea temporară: Dacă un element de date a fost utilizat recent, este probabil să fie utilizat din nou în curând.
- Localitatea spațială: Dacă un element de date a fost utilizat, probabil că elementele vecine vor fi utilizate și ele în curând.
-
Politicile de înlocuire a cache-ului (Cache Replacement Policies): Determină ce bloc de date să fie eliminat atunci când cache-ul este plin și este nevoie de spațiu pentru date noi. Politici comune:
- FIFO (First-In, First-Out): Se elimină cel mai "vechi" bloc.
- LRU (Least Recently Used): Se elimină blocul care a fost utilizat cel mai puțin recent.
- LFU (Least Frequently Used): Se elimină blocul care a fost utilizat cel mai rar.
-
Politicile de scriere în cache (Cache Writing Policies): Determină când modificările din cache sunt sincronizate cu memoria principală.
- Write-Through: Datele sunt scrise simultan în cache și în memoria principală. Asigură coerența, dar este mai lent.
- Write-Back: Datele sunt scrise mai întâi doar în cache. Memoria principală este actualizată mai târziu, când blocul este eliminat din cache sau marcat explicit ca "murdar" (modificat). Este mai rapid, dar necesită un mecanism pentru urmărirea modificărilor.
-
Reguli pentru gestionarea erorilor de cache (Cache Miss Handling): Determină cum reacționează sistemul când datele solicitate nu se află în cache.
- Sistemul extrage datele din nivelul următor de memorie (de exemplu, din memoria principală).
- Datele sunt plasate în cache (posibil înlocuind un bloc existent), apoi sunt furnizate procesului solicitant.
-
Reguli de coerență a cache-ului (Cache Coherence Rules): Importante în sistemele multiprocesor, unde mai mulți procesoare pot avea copii ale aceluiași date în cache-urile lor locale. Asigură coerența datelor între toate cache-urile. Exemple de protocoale: MSI, MESI.
-
Reguli de invalidare/actualizare (Cache Invalidation/Update): Când datele sunt modificate într-un loc (de exemplu, în cache-ul unui procesor), trebuie invalidate (făcute nevalide) sau actualizate în celelalte cache-uri pentru a evita utilizarea datelor învechite.