Vertel me over de regels van de cache.
sobes.tech AI
Antwoord van AI
De cache slaat kopieën van gegevens op om de toegang tot hen te versnellen. Belangrijkste regels:
-
Referentie-localiteit (Locality of Reference):
- Tijdelijke localiteit: Als een gegevensitem recent is gebruikt, wordt verwacht dat het binnenkort opnieuw wordt gebruikt.
- Ruimtelijke localiteit: Als een gegevensitem is gebruikt, worden waarschijnlijk ook de aangrenzende items binnenkort gebruikt.
-
Cache vervangingsbeleid (Cache Replacement Policies): Bepalen welke blok gegevens wordt verwijderd wanneer de cache vol is en er ruimte nodig is voor nieuwe gegevens. Veelvoorkomende beleidslijnen:
- FIFO (First-In, First-Out): Verwijdert het "oudste" blok.
- LRU (Least Recently Used): Verwijdert het blok dat het langst niet is gebruikt.
- LFU (Least Frequently Used): Verwijdert het blok dat het minst vaak is gebruikt.
-
Cache schrijfb policies (Cache Writing Policies): Bepalen wanneer wijzigingen in de cache worden gesynchroniseerd met het hoofdgeheugen.
- Write-Through: Gegevens worden gelijktijdig in cache en hoofdgeheugen geschreven. Zorgt voor consistentie, maar is langzamer.
- Write-Back: Gegevens worden eerst alleen in de cache geschreven. Het hoofdgeheugen wordt later bijgewerkt, wanneer het blok wordt verwijderd uit de cache of expliciet wordt gemarkeerd als "vuil" (aangepast). Sneller, maar vereist een mechanisme om wijzigingen bij te houden.
-
Cache miss-afhandeling (Cache Miss Handling): Bepalen hoe het systeem reageert wanneer de gevraagde gegevens niet in de cache staan.
- Het systeem haalt de gegevens uit het volgende geheugeniveau (bijvoorbeeld, uit het hoofdgeheugen).
- De gegevens worden in de cache geplaatst (mogelijk door een bestaand blok te vervangen), en vervolgens aan het verzoekende proces geleverd.
-
Cache coherentie regels (Cache Coherence Rules): Belangrijk in systemen met meerdere processoren, waar meerdere processoren kopieën van dezelfde gegevens in hun lokale caches kunnen hebben. Zorgen voor consistentie van gegevens tussen alle caches. Voorbeelden van protocollen: MSI, MESI.
-
Invaliderings-/update regels (Cache Invalidation/Update): Wanneer gegevens op één plek worden gewijzigd (bijvoorbeeld, in de cache van een processor), moet de kopie in andere caches worden geïnvalideerd (ongeldig gemaakt) of bijgewerkt, om het gebruik van verouderde gegevens te voorkomen.