cache

Uitgesproken geld, een speciaal high-speed opslagmechanisme. Cache kan een gereserveerd gedeelte van het hoofdgeheugen zijn of een onafhankelijk opslagapparaat met hoge snelheid. Twee soorten caching worden vaak gebruikt in personal computers: geheugencaching en schijfcaching.

Geheugencaching

Een geheugencache, ook wel cachegeheugen of RAM-cache genoemd, is een gedeelte van het geheugen dat is gemaakt van high-speed statisch RAM (SRAM) in plaats van het langzamere en goedkopere dynamische RAM (DRAM) dat wordt gebruikt voor het hoofdgeheugen. Geheugencaching is effectief omdat de meeste programma’s keer op keer toegang hebben tot dezelfde gegevens of instructies. Door zoveel mogelijk van deze informatie in SRAM te bewaren, vermijdt de computer toegang tot de langzamere DRAM.

L1- en L2-caches

Sommige geheugencaches zijn ingebouwd in de architectuur van microprocessors. De Intel G6500T-processor bevat bijvoorbeeld een geheugencache van 4 MB. Dergelijke interne caches worden vaak Level 1 (L1) caches genoemd. De meeste moderne pc’s worden ook geleverd met een extern cachegeheugen, genaamd Level 2 (L2) -caches. Deze caches zitten tussen de CPU en de DRAM. Net als L1-caches zijn L2-caches samengesteld uit SRAM, maar ze zijn veel groter.

Naarmate systemen complexer worden, kunnen geavanceerde systemen en CPU’s extra cachinglagen bevatten, zoals L3 en hoger.

Schijfcaching

Schijfcaching werkt volgens hetzelfde principe als geheugencaching, maar in plaats van high-speed SRAM te gebruiken, gebruikt een schijfcache conventioneel hoofdgeheugen. De meest recent geopende gegevens van de schijf (evenals aangrenzende sectoren) worden opgeslagen in een geheugenbuffer. Wanneer een programma toegang tot gegevens van de schijf nodig heeft, controleert het eerst de schijfcache om te zien of de gegevens aanwezig zijn. Schijfcaching kan de prestaties van applicaties drastisch verbeteren, omdat toegang tot een byte aan gegevens in RAM duizenden keren sneller kan zijn dan toegang tot een byte op een harde schijf, maar solid-state drives (SSD) hebben de prestatiekloof enigszins verbeterd.

Slimme caching

Wanneer gegevens in de cache worden gevonden, wordt dit een cache-treffer genoemd en wordt de effectiviteit van een cache beoordeeld aan de hand van de hitfrequentie. Veel cachesystemen gebruiken een techniek die bekend staat als smart caching, waarbij het systeem bepaalde soorten veelgebruikte gegevens kan herkennen. De strategieën om te bepalen welke informatie in de cache moet worden bewaard, vormen enkele van de interessantere problemen in de informatica.

Problemen en problemen met caching

Over het algemeen veroorzaken caches problemen wanneer er een discrepantie is tussen de cache en het hoofdgeheugen. Dit kan gebeuren als het hoofdgeheugen is bijgewerkt en de cache niet, dus de cache zal geen recente wijzigingen weergeven. Cache-coherentie wordt dus een uitdaging in complexere systemen, en een computercrash kan leiden tot verloren gegevens die niet naar het hoofdgeheugen zijn geschreven – naast het risico dat opgeslagen gegevens verloren gaan als een schijf niet kan worden hersteld.

Cache in webbrowsen

Caches spelen ook een belangrijke rol bij het surfen op het web en bij webontwikkeling, ook wel webcache, http-cache of proxy-cache genoemd. Net als de caches op processorniveau, kunnen webbrowsers vaak gebruikte gegevens zoals webpagina’s of afbeeldingen op de harde schijf opslaan, en webservers moeten ook de cache leegmaken zodat de meest recente versie van een website aan gebruikers kan worden getoond. Het verwijderen van de browsercache kan de prestaties versnellen terwijl de gebruiker de meest recente versie van een webpagina krijgt.