Wat is cachegeheugen en hoe werkt het?
Wat is cachegeheugen?

De computer als één ondeelbaar geheel beschouwen is voor de gemiddelde gebruiker normaal, maar op de achtergrond werken er veel complexe systemen en bronnen samen om maximale prestaties te garanderen. Een van de belangrijkste is het cachegeheugen, aanwezig in processors, harde schijven, solid-state drives en andere componenten. Wil je weten wat cachegeheugen is en hoe het werkt? Lees verder.

Snelheid!

Sneller. Alles moet sneller werken, minder tijd kosten, de gebruiker vooruit zijn. Onze eisen zijn in de loop der jaren toegenomen, en als er een prestatieprobleem is, gooien we meer hardware in de richting. MS-DOS 6.22 verscheen tussen april en juni 1994, en vanaf dat moment begonnen we de beroemde basis van 640 kilobyte RAM achter ons te laten. Tegenwoordig heeft een computer minstens 8 gigabyte geheugen nodig en wordt 16 GB aanbevolen voor bijna alle omgevingen.

Wat is cachegeheugen en hoe werkt het?
Dat komt overeen met een uitbreiding van 256 kilobytes RAM voor een oude IBM PC. Wat zijn we ver gekomen...

Maar meer kernen of geheugen toevoegen is niet het hele verhaal. Er zijn andere belangrijke spelers die de prestaties spectaculair kunnen verbeteren, of een systeem op de knieën kunnen krijgen zonder hen. Het geval van het cachegeheugen is een van de meest genoemde. Wat is cachegeheugen en hoe werkt het?

Wat is cachegeheugen?

In losse termen is het cachegeheugen een type tijdelijk geheugen dat gegevens opslaat om ze in de toekomst sneller aan de gebruiker te leveren. Je hebt het waarschijnlijk in actie gezien: als je een programma opent, sluit en onmiddellijk weer opent, zul je merken dat de tweede keer laden veel sneller is dankzij het cachegeheugen en het RAM in het algemeen.

Het idee is om de toegangstijden te verkorten. Als je steeds dezelfde bestanden leest en uitvoert, waarom zou je ze dan van de opslageenheid of een langzamer geheugen lezen als een beetje cache het hele proces kan versnellen? Een ander interessant aspect is dat cachegeheugen zowel als software- als hardware-oplossing komt. Zo gebruikt het klassieke SuperFetch (nu SysMain) het systeem-RAM als een gigantische cache om applicaties vooraf te laden, en aan de hardwarekant hebben we dingen als de processorcache en de DRAM-cache in SSD's.

Cache in de CPU

Wat is cachegeheugen en hoe werkt het?
Het RAM is traag, de processor niet. Cachegeheugen komt te hulp.

De processor valt op door verschillende niveaus van cachegeheugen te hebben. Een zeer grote cache heeft een uitstekende hit rate, maar betaalt de prijs met extra latentie. De meerdere cacheniveaus proberen dat te compenseren, beginnend met kleine maar extreem snelle caches, gevolgd door langzamere caches.

Wat is cachegeheugen en hoe werkt het?
Een eenvoudige manier om de cacheniveaus te visualiseren

Deze configuratie stelt de kernen in staat om gegevens sneller te verwerken en, indien mogelijk, de bottleneck van de toegang tot het algemene geheugen te vermijden. Dat probleem is veel ouder dan we denken: alle pijlen wijzen naar Sir Maurice Vincent Wilkes een Britse wetenschapper van de Universiteit van Cambridge, als de uitvinder van het concept van cachegeheugen in 1965, destijds 'slavengeheugen' genoemd.

Wat is cachegeheugen en hoe werkt het?
De Intel Core i7-7700K uit 2017 gebruikt drie niveaus van cachegeheugen

Een relatief moderne processor zoals de Intel Core i7-10700F heeft drie niveaus van cachegeheugen: L1 onderverdeeld in 8 x 32 kilobyte voor gegevens en nog eens 8 x 32 kilobyte voor instructies, een L2-cache van 8 x 256 kilobyte, en ten slotte een L3-cache die gedeeld wordt over alle kernen, met in totaal 16 megabyte. Dat is niet altijd zo geweest: de oude 486 en Pentium boden alleen L1-cache, en om toegang te krijgen tot een L2-cache moesten we afhankelijk zijn van het moederbord, met geïntegreerde chips of een uitbreidingssocket.

Wat is cachegeheugen en hoe werkt het?
Klassieke Pentium MMX, naast de COAST-socket (Cache-On-A-Stick) om L2-cache te installeren ("benryves" op Reddit)

Historische en huidige gevallen

Hoe belangrijk is cachegeheugen in processors? De originele Celeron is een sprekend voorbeeld: Intel besloot het op de markt te brengen als goedkope optie door de L2-cache weg te laten, en het resultaat was een slappe CPU die we tot het uiterste moesten overklokken om er iets fatsoenlijks uit te halen.

Kort daarna debuteerden de Celeron 300A 'Mendocino' met 128 KB geïntegreerde L2-cache. Die 128 kilobyte waren meer dan genoeg om de prestaties van de vorige chip te verdubbelen en de Celeron 300A te transformeren tot een van de beste processors in de geschiedenis van het overklokken.

Wat is cachegeheugen en hoe werkt het?
Celeron 300A, absolute overklok-glory ("Qurren", CC BY-SA 3.0)

Het beoordelen van de impact op moderne processors is ingewikkelder, maar niet onmogelijk. De mensen van Hardware Unboxed publiceerden een uitstekende video waarin de toename van L3-cache wordt vergeleken onder hetzelfde aantal kernen en threads. In essentie werden de Intel Core i9-10900K (10C/20T), Core i7-10700K (8C/16T) en Core i5-10600K (6C/12T) gedwongen om te werken met dezelfde configuratie als de Core i3-10105F (4C/8T). Het verschil in de grootte van de L3-cache geeft een zeker voordeel voor de betere chips, maar het voordeel strekt zich niet uit tot alle games.

(N. van de red.: Video in het Engels, maar de tabellen zijn het belangrijkste)

Cachegeheugen: Samenvatting

Het cachegeheugen is een shortcut, een supplement dat ons helpt om sneller en efficiënter toegang te krijgen tot al die vaak gebruikte gegevens. Meer is beter, maar de structuur moet correct zijn. Wil je meer weten over cachegeheugen? De samenvatting van HWiNFO (die ook kan worden gebruikt om de temperatuur en spanningen op je pc te meten) toont alle informatie over je processor, deze bijgewerkte lijst onthult de modellen van SSD's met geïntegreerde DRAM-cache, en als je twijfels hebt over SuperFetch op je systeem, kun je het altijd uitschakelen. Veel succes!