Sobes.tech
Middle

Papaskink man apie cache darbo taisykles.

sobes.tech AI

Atsakymas iš AI

Atmintinė saugo duomenų kopijas, kad pagreitintų prieigą prie jų. Pagrindiniai taisyklės:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

  6. 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.