Moderne computerprocessors gebruiken allemaal een cachegeheugensysteem met meerdere niveaus waarmee gegevens tijdelijk op de chip kunnen worden opgeslagen voor snelle toegang. Het begrijpen van de verschillen tussen L1-, L2- en L3-cache kan belangrijk zijn als u de beste prestaties wilt van de volgende CPU die u koopt.
Wat is CPU-cachegeheugen?
CPU-cachegeheugen is een type tijdelijke gegevensopslag op de processor. Het wordt gebruikt om de verwerkingsefficiëntie van de CPU te verhogen door kleine, vaak gevraagde gegevensbits klaar te houden om met hoge snelheid te worden geopend. Cachegeheugen bestaat uit verschillende opslagniveaus. Deze niveaus worden gewoonlijk L1, L2, L3 en soms L4 genoemd en variëren in locatie, snelheid en grootte.
Om beter te begrijpen waarom de CPU zijn eigen geheugencache nodig heeft, moeten we kijken naar de ontwikkeling van processors en RAM. Het snelheidsverschil tussen de processor en het RAM was bij vroege computers minimaal. Er was weinig bezorgdheid dat de verwerking zou worden vertraagd door het geheugen. Omdat de werksnelheid van centrale processors veel sneller toenam dan de RAM-snelheid, moest die ongelijkheid op de een of andere manier worden verkleind. Het antwoord was cachegeheugen.
Cachegeheugen is zowel extreem snel, vaak tussen de 10 en 100 keer sneller dan DRAM, en fysiek dicht bij de processorkernen. Moderne, snelle processors worden niet vertraagd doordat ze gegevens uit het relatief trage systeemgeheugen moeten opvragen, omdat ze in plaats daarvan de gegevens uit de cache kunnen halen.
De reden waarom dit type geheugen, bekend als SRAM, niet alleen wordt gebruikt in plaats van de DRAM in een computer, komt neer op de kosten. De hoeveelheid cachegeheugen op een CPU is relatief klein, gemeten in kilobytes of megabytes in plaats van gigabytes, en zou onbetaalbaar zijn om te maken met dezelfde afmetingen als moderne RAM-modules.
Cachegeheugen moet niet worden verward met andere typen cache die vaak op uw computer worden aangetroffen. Hoewel “cache” kan verwijzen naar verschillende soorten tijdelijke geheugenopslag die worden gebruikt om de efficiëntie van software of hardware te verhogen, is cachegeheugen specifiek voor processorhardware.
Wat is L1-cache?
L1-cache, ook wel primaire cache genoemd, is het kleinste en snelste geheugenniveau. Het is gewoonlijk 64 KB groot, maar elke kern van de processor heeft zijn eigen ingebouwde L1-cache, dus een quad-core CPU zou in totaal 256 KB hebben.
Als je naar geheugendetails kijkt in een tool als CPU-Z, zul je merken dat de L1-cache is opgesplitst in twee extra niveaus: L1-I (instructie) en L1-D (gegevens). De L1-instructiecache verwerkt informatie die naar de processor wordt gevoerd, terwijl de gegevenscache informatie bevat die naar het hoofdgeheugen moet worden geschreven.
Level 1-cache kan gegevens net zo snel of sneller overbrengen dan de maximale werksnelheid van de CPU, waardoor het uiterst efficiënt is. Als de processor de vereiste gegevens niet kan vinden in L1, zoekt hij ernaar in de L2- en L3-cache.
Wat is L2-cache?
L2-cache is een secundaire geheugencache, ook ingebed in elke afzonderlijke kern van de CPU. Het heeft bijna altijd meer opslagruimte dan L1, maar het werkt langzamer, zij het nog steeds veel sneller dan de RAM-snelheid.
Sommige high-end processors hebben in totaal 32 MB L2-cache, maar 6-12 MB is waarschijnlijk het gemiddelde. Zoals vermeld, wordt dit gelijkelijk verdeeld over alle kernen, waardoor elk onafhankelijk toegang heeft tot zijn eigen cache.
Wat is L3-cache?
In plaats van ingebed te zijn in elke CPU-kern, fungeert de Level 3-cache als een gedeelde opslagpool waartoe de hele processor toegang heeft. Het is veel langzamer dan L1- en L2-cache, misschien slechts twee keer zo snel als RAM, maar het is het grootste van alle drie de geheugenniveaus.
Als de CPU de gegevens die hij nodig heeft niet kan vinden in het cachegeheugen, moet hij in plaats daarvan de gegevens opvragen bij het langzamere systeemgeheugen. Dit wordt een cachemisser genoemd. De introductie van L3-cache verminderde de kans op een misser en hielp daarom de prestaties te verbeteren.
Toen het voor het eerst werd ontwikkeld, bevond de L3-cache zich vaak in een aparte chip op het moederbord. Moderne CPU’s hebben nu bijna uitsluitend L3-cache aan boord voor meer efficiëntie.
L1 vs. L2 vs. L3 cache: wat zijn de verschillen?
De belangrijkste verschillen tussen de drie niveaus van cachegeheugen zijn grootte, snelheid en locatie.
- L1-cache heeft een lage opslagcapaciteit, maar is meestal het snelste geheugen in elke computer, tot 100 keer sneller dan RAM. Elke processorkern heeft zijn eigen L1-cache, meestal rond de 64 KB.
- L2-cache kan meerdere keren groter zijn dan L1, maar is slechts ongeveer 25 keer zo snel als RAM. Net als L1 heeft elke processorkern zijn eigen L2-cache. Elk is gewoonlijk 256-512 KB, soms wel 1 MB.
- L3-cache heeft de grootste opslagcapaciteit, vaak 32 MB of meer, maar is misschien maar twee keer zo snel als het systeemgeheugen. L3-cache is gewoonlijk ingebed in de CPU, maar staat los van de cores.
Kan het cachegeheugen worden verwijderd?
Er zijn geheugencaches die kunnen worden verwijderd of gewist, zoals systeemcache of browsercache, maar u kunt CPU-cachegeheugen niet verwijderen. Net als DRAM is SRAM vluchtig geheugen, wat betekent dat het zijn inhoud op de lange termijn niet vasthoudt. Zodra u de computer uitschakelt, gaat alles in het cachegeheugen verloren.
Hoeveel cachegeheugen heb ik nodig?
Zoals met de meeste soorten geheugen, hoe meer cache een CPU heeft, hoe beter. U kunt het cachegeheugen niet upgraden, dus het is belangrijk om ervoor te zorgen dat de processor die u kiest genoeg heeft voor uw behoeften. Dat gezegd hebbende, het hangt af van wat u met uw computer doet, en u moet niet blijven hangen in deze ene CPU-functie. Kloksnelheden, aantal cores en threads en andere factoren kunnen allemaal van invloed zijn op de CPU-prestaties.
Een goede basislijn voor L1-cache is 64 KB per core. U kunt dit berekenen door het totale aantal te delen door het aantal cores in de CPU. 256 KB L2-cache per core is perfect acceptabel, maar gamers willen misschien op zoek naar 512 KB per core. En alles tussen 32 en 96 MB L3-cache is prima voor de meeste doeleinden.