Mesélj a cache működési szabályairól.
sobes.tech MI
Válasz az MI-től
A gyorsítótár másolatokat tárol az adatokból a hozzáférés gyorsítása érdekében. Fő szabályok:
-
Referencia helyessége (Locality of Reference):
- Időbeli helyesség: Ha egy adat elem nemrég lett használva, valószínűleg hamarosan újra használni fogják.
- Térbeli helyesség: Ha egy adat elem használatban volt, valószínű, hogy a szomszédos elemeket is hamarosan használni fogják.
-
Cache helyettesítési politikák (Cache Replacement Policies): Meghatározzák, melyik adatblokkot töröljék, amikor a gyorsítótár tele van és helyet kell szabadítani új adatoknak. Gyakori politikák:
- FIFO (First-In, First-Out): A "legidősebb" blokk törlődik.
- LRU (Least Recently Used): A legkevésbé legutóbb használt blokk törlődik.
- LFU (Least Frequently Used): A legkevésbé gyakran használt blokk törlődik.
-
Cache írási politikák (Cache Writing Policies): Meghatározzák, mikor szinkronizálódnak a változások a cache-ben a főmemóriával.
- Write-Through: Az adatok egyidejűleg íródnak a cache-be és a főmemóriába. Biztosítja az összhangot, de lassabb.
- Write-Back: Az adatok először csak a cache-be íródnak. A főmemória később frissül, amikor a blokk törlésre kerül a cache-ből vagy explicit módon "szennyezett" (módosított) állapotba kerül. Gyorsabb, de változások nyomon követéséhez mechanizmus szükséges.
-
Cache hiány kezelése (Cache Miss Handling): Meghatározza, hogyan reagál a rendszer, amikor a kért adatok nem találhatók a cache-ben.
- A rendszer az adatokat a következő memória szintből (pl. főmemóriából) szerzi be.
- Az adatok a cache-be kerülnek (esetleg egy meglévő blokk helyett), majd a kérő folyamatnak szolgáltatódnak.
-
Cache koherencia szabályok (Cache Coherence Rules): Fontosak többprocesszoros rendszerekben, ahol több processzor is lehet ugyanazon adatok másolatával a helyi cache-ében. Biztosítják az adatok összhangját minden cache között. Példák protokollokra: MSI, MESI.
-
Érvénytelenítési/frissítési szabályok (Cache Invalidation/Update): Amikor egy helyen (pl. egy processzor cache-ében) adat módosul, szükséges az más cache-ekben lévő példányt érvényteleníteni (érvénytelenítéssé tenni) vagy frissíteni, hogy elkerüljük a régi adatok használatát.