Wat is geheugenhiërarchie?
Geheugenhiërarchie is de hiërarchie van geheugen- en opslagapparaten die op een computer worden gevonden. Vaak weergegeven als een driehoek, vertegenwoordigt de onderkant van de driehoek grotere, goedkopere en langzamere opslagapparaten, terwijl de bovenkant van de driehoek kleinere, duurdere en snellere opslagapparaten vertegenwoordigt. Dit wordt vaak gebruikt in de computertheorie en -ontwerp, zodat programmeurs weten hoe ze de verschillende geheugensystemen moeten beheren bij het bouwen van een computer. Door te weten hoe de geheugenhiërarchie te manipuleren, kunnen programmeurs snellere computers bouwen.
De geheugenhiërarchiedriehoek is een visualisatietechniek die consumenten en programmeurs helpt begrijpen hoe geheugen werkt. Aan de onderkant zijn er goedkope opslagapparaten met grote hoeveelheden geheugen, zoals de harde schijf of magnetische tape. Hoger is er RAM-geheugen (Random Access Memory) met een gemiddelde capaciteit en snelheid. Aan de bovenkant rust cache en processors, die beide zeer snel zijn maar kleine capaciteiten hebben. De driehoek is voornamelijk georganiseerd op basis van responstijd, maar er is ook een verband tussen factoren zoals grootte, geheugencapaciteit en prijs.
Bij het bouwen van een computer moet de programmeur rekening houden met de geheugenhiërarchiedriehoek. Hoewel delen van de driehoek kunnen worden gemanipuleerd, is het verplaatsen van secties strikt tegen de regels. Een programmeur kan bijvoorbeeld de rol van de harde schijf overschakelen naar de rol van RAM. Als dit gebeurt, zou de computer erg traag zijn bij het laden van directe informatie zoals bestanden en websites, en zou hij weinig gegevens kunnen bewaren voor langdurige opslag, waardoor de computer bijna nutteloos wordt. Het wisselen van delen van de driehoek is niet de juiste manier om het potentieel van een computer te maximaliseren.
De driehoek op de juiste manier manipuleren is hoe programmeurs de efficiëntie van een computer verhogen. Als de opslageenheden bijvoorbeeld erg eenvoudig zijn gemaakt, met minder grootte en complexiteit, werkt de geheugenhiërarchie beter. Als programmeurs het zo kunnen maken dat informatie in hogere delen van de geheugenhiërarchie kan worden verwerkt, bijvoorbeeld met behulp van de processor in plaats van RAM, gaat de computer sneller. Dit verplaatst de secties niet, maar optimaliseert ze alleen.
Hoewel het visualiseren van geheugenhiërarchie heel eenvoudig is en geheugen kan worden gemanipuleerd om in verschillende secties te gaan, is het moeilijk om precies te weten waar geheugen wordt opgeslagen of gebruikt. Programmeurs moeten deze factor schatten, omdat in het algemeen verschillende eenheden het geheugen in één keer verwerken, of het geheugen van de ene sectie naar de andere kan gaan. Goed gemaakte programma's zullen doorgaans kunnen anticiperen waar het geheugen zal worden opgeslagen of verwerkt, maar er is een willekeurige factor die programmeurs niet altijd kunnen verklaren, en daarom is de geheugenhiërarchie veel vloeiender dan de driehoeksvisualisatie lijkt.