Sobes.tech
Middle

Պատմեք ինձ կեշի աշխատանքի կանոնների մասին։

sobes.tech AI

Պատասխան AI-ից

Քեշը պահում է տվյալների պատճենները՝ արագացնելով դրանց հասանելիությունը: Հիմնական կանոնները՝

  1. Հարաբերության կանոնը (Locality of Reference):

    • Ժամանակային մոտեցում: Եթե տվյալ տարրը վերջերս օգտագործվել է, հավանական է, որ այն կրկին օգտագործվի մոտ ժամանակում:
    • Տարածքային մոտեցում: Եթե տվյալ տարրը օգտագործվել է, հավանական է, որ հարևան տարրերը նույնպես օգտագործվելու են մոտ ժամանակում:
  2. Ավարտման կանոններ (Cache Replacement Policies): Նշում են, թե որ տվյալների բլոկը պետք է հեռացվի, երբ քեշը լցված է և անհրաժեշտ է տեղ նոր տվյալների համար:

    • FIFO (First-In, First-Out): Հեռացվում է ամենահին բլոկը:
    • LRU (Least Recently Used): Հեռացվում է այն բլոկը, որի վրա վերջին անգամ է եղել դիմում:
    • LFU (Least Frequently Used): Հեռացվում է այն բլոկը, որը ամենաքիչ է օգտագործվել:
  3. Գրառման կանոններ (Cache Writing Policies): Նշում են, թե երբ պետք է սինխրոնիզացնել փոփոխությունները հիմնական հիշողության հետ:

    • Write-Through: Տվյալները միաժամանակ գրանցվում են և քեշում, և հիմնական հիշողությունում:
    • Write-Back: Տվյալները սկզբում գրանցվում են միայն քեշում, իսկ հիմնական հիշողությունը թարմացվում է ուշացումով:
  4. Քեշի բացթողումների կառավարում (Cache Miss Handling): Նշում է, թե ինչպես արձագանքել, երբ պահանջվող տվյալները բացակայում են քեշից:

    • Դատարկում է տվյալները հաջորդ մակարդակից:
    • Տվյալները տեղադրում է քեշում և տրամադրում է պահանջող գործընթացին:
  5. Կոերենցիայի կանոններ (Cache Coherence Rules): Կարևոր են բազմամշակութային համակարգերում, որտեղ մի քանի պրոցեսոր կարող է ունենալ նույն տվյալների պատճենները:

    • Համոզվում են, որ բոլոր քեշների տվյալները համահունչ են:
    • Օրինակ՝ MSI, MESI պրոտոկոլները:
  6. Անվտանգության/Թարմացման կանոններ (Cache Invalidation/Update): Երբ տվյալները փոխվում են մեկ տեղում, անհրաժեշտ է կամ անթույլատրելի դարձնել մյուս քեշների պատճենները, կամ թարմացնել դրանք՝ կանխելու համար հնացած տվյալների օգտագործումը։