Räägi mulle vahemälu tööreeglitest.
sobes.tech AI
Vastus AI-lt
Cache hoiab andmekopeid, et kiirendada nendele juurdepääsu. Peamised reeglid:
-
Lähedusreegel (Locality of Reference):
- Ajutine lähedus: Kui andmeelementi kasutati hiljuti, on tõenäoline, et seda kasutatakse uuesti lähitulevikus.
- Ruumi lähedus: Kui andmeelementi kasutati, on tõenäoline, et selle kõrval olevad elemendid kasutatavad ka lähitulevikus.
-
Asendamise reeglid (Cache Replacement Policies): Määravad, millist andmekildu eemaldada cache'ist, kui see on täis ja vaja on ruumi uutele andmetele. Levinumad poliitikad:
- FIFO (First-In, First-Out): Eemaldatakse vanim blokk.
- LRU (Least Recently Used): Eemaldatakse kõige vähem hiljuti kasutatud blokk.
- LFU (Least Frequently Used): Eemaldatakse kõige vähem kasutatud blokk.
-
Kirjutamise reeglid (Cache Writing Policies): Määravad, millal tehakse muudatused cache'is ja peamises mälus sünkroniseeritud.
- Write-Through: Andmed kirjutatakse samaaegselt nii cache'i kui peamisse mällu. Tagab kooskõla, kuid on aeglasem.
- Write-Back: Andmed kirjutatakse esmalt ainult cache'i. Peamine mälu uuendatakse hiljem, kui blokk eemaldatakse või selgelt märgistatakse "mustaks" (muudetud). Kiirem, kuid nõuab muudatuste jälgimise mehhanismi.
-
Cache'i möödaläinud juhtumid (Cache Miss Handling): Määrab, kuidas süsteem reageerib, kui nõutavad andmed puuduvad cache'ist.
- Andmed tuuakse järgmise taseme mälust (näiteks peamisest mälust).
- Andmed paigutatakse cache'i (võib asendada olemasoleva bloki) ja seejärel edastatakse taotlevale protsessile.
-
Koherentsuse reeglid (Cache Coherence Rules): Oluline mitmeprotsessorilistes süsteemides, kus mitu protsessorit võivad omada sama andmete koopiat. Tagab andmete kooskõla kõigi cache'ide vahel. Näited: MSI, MESI protokollid.
-
Kehtetuks muutmise / uuendamise reeglid (Cache Invalidation/Update): Kui andmed muutuvad ühes kohas (näiteks ühe protsessori cache'is), tuleb kas kehtetuks teha (teha kehtetuks) teiste cache'ide koopiad või neid uuendada, et vältida vananenud andmete kasutamist.