Պատմեք ինձ կեշի աշխատանքի կանոնների մասին։
sobes.tech AI
Պատասխան AI-ից
Քեշը պահում է տվյալների պատճենները՝ արագացնելով դրանց հասանելիությունը: Հիմնական կանոնները՝
-
Հարաբերության կանոնը (Locality of Reference):
- Ժամանակային մոտեցում: Եթե տվյալ տարրը վերջերս օգտագործվել է, հավանական է, որ այն կրկին օգտագործվի մոտ ժամանակում:
- Տարածքային մոտեցում: Եթե տվյալ տարրը օգտագործվել է, հավանական է, որ հարևան տարրերը նույնպես օգտագործվելու են մոտ ժամանակում:
-
Ավարտման կանոններ (Cache Replacement Policies): Նշում են, թե որ տվյալների բլոկը պետք է հեռացվի, երբ քեշը լցված է և անհրաժեշտ է տեղ նոր տվյալների համար:
- FIFO (First-In, First-Out): Հեռացվում է ամենահին բլոկը:
- LRU (Least Recently Used): Հեռացվում է այն բլոկը, որի վրա վերջին անգամ է եղել դիմում:
- LFU (Least Frequently Used): Հեռացվում է այն բլոկը, որը ամենաքիչ է օգտագործվել:
-
Գրառման կանոններ (Cache Writing Policies): Նշում են, թե երբ պետք է սինխրոնիզացնել փոփոխությունները հիմնական հիշողության հետ:
- Write-Through: Տվյալները միաժամանակ գրանցվում են և քեշում, և հիմնական հիշողությունում:
- Write-Back: Տվյալները սկզբում գրանցվում են միայն քեշում, իսկ հիմնական հիշողությունը թարմացվում է ուշացումով:
-
Քեշի բացթողումների կառավարում (Cache Miss Handling): Նշում է, թե ինչպես արձագանքել, երբ պահանջվող տվյալները բացակայում են քեշից:
- Դատարկում է տվյալները հաջորդ մակարդակից:
- Տվյալները տեղադրում է քեշում և տրամադրում է պահանջող գործընթացին:
-
Կոերենցիայի կանոններ (Cache Coherence Rules): Կարևոր են բազմամշակութային համակարգերում, որտեղ մի քանի պրոցեսոր կարող է ունենալ նույն տվյալների պատճենները:
- Համոզվում են, որ բոլոր քեշների տվյալները համահունչ են:
- Օրինակ՝ MSI, MESI պրոտոկոլները:
-
Անվտանգության/Թարմացման կանոններ (Cache Invalidation/Update): Երբ տվյալները փոխվում են մեկ տեղում, անհրաժեշտ է կամ անթույլատրելի դարձնել մյուս քեշների պատճենները, կամ թարմացնել դրանք՝ կանխելու համար հնացած տվյալների օգտագործումը։