Ispričaj mi o pravilima rada keš memorije.
sobes.tech АИ
Одговор од АИ
Кеш меморија чува копије података како би убрзала приступ њима. Основна правила:
-
Правило локалности (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): Када се подаци промене на једном месту (нпр. у кешу једног процесора), потребно је инвалидовати (учинити неважећим) копију у другим кешевима или је ажурирати, како би се избегло коришћење застарелих података.