Papaskink man apie cache darbo taisykles.
sobes.tech AI
Atsakymas iš AI
Atmintinė saugo duomenų kopijas, kad pagreitintų prieigą prie jų. Pagrindiniai taisyklės:
-
Artumo taisyklė (Locality of Reference):
- Laiko artumas: Jei duomenų elementas neseniai naudotas, tikėtina, kad jis bus naudojamas vėl artimiausiu metu.
- Erdvinis artumas: Jei duomenų elementas naudotas, tikėtina, kad šalia esantys elementai taip pat bus naudojami artimiausiu metu.
-
Pakeitimo taisyklės (Cache Replacement Policies): Nustato, kuris duomenų blokas turi būti pašalintas iš atmintinės, kai ji pilna ir reikia vietos naujiems duomenims. Dažniausios politikos:
- FIFO (First-In, First-Out): Pašalinamas seniausias blokas.
- LRU (Least Recently Used): Pašalinamas mažiausiai neseniai naudotas blokas.
- LFU (Least Frequently Used): Pašalinamas mažiausiai dažnai naudotas blokas.
-
Rašymo taisyklės (Cache Writing Policies): Nustato, kada keitimai atmintinėje yra sinchronizuojami su pagrindine atmintimi.
- Write-Through: Duomenys rašomi vienu metu tiek į atmintinę, tiek į pagrindinę atmintį. Užtikrina suderinamumą, bet lėčiau.
- Write-Back: Duomenys pirmiausia rašomi tik į atmintinę. Pagrindinė atmintis atnaujinama vėliau, kai blokas pašalinamas arba aiškiai pažymimas kaip "nešvarus". Greičiau, bet reikalauja keitimų stebėjimo mechanizmo.
-
Klaidų valdymas (Cache Miss Handling): Nustato, kaip sistema reaguoja, kai prašomi duomenys nėra atmintinėje.
- Duomenys paimami iš kitos atminties lygio (pavyzdžiui, pagrindinės atminties).
- Duomenys įdedami į atmintinę (galbūt pakeičiant esantį bloką), ir tada pateikiami užklausos procesui.
-
Koherencijos taisyklės (Cache Coherence Rules): Svarbios daugiaprocesorinėse sistemose, kur kelios procesoriaus kopijos gali turėti tų pačių duomenų kopijas. Užtikrina duomenų suderinamumą tarp visų atmintinių. Pavyzdžiai: MSI, MESI protokolai.
-
Invalidiacijos/atnaujinimo taisyklės (Cache Invalidation/Update): Kai duomenys keičiami vienoje vietoje (pavyzdžiui, vieno procesoriaus atmintinėje), būtina arba invaliduoti (padaryti nebegaliojančią) kitų atmintinių kopiją, arba ją atnaujinti, siekiant išvengti pasenusių duomenų naudojimo.